Sunday, 13 August 2017

Jurnal Linguistik Komputasional (JLK)

CALL FOR PAPERS

2023-08-12
Jurnal Linguistik Komputasional (JLK)

The journal publishes original papers in the field of computational lingustic which covers, but not limited to the following scope : Phonology, Morphology, Chunking/Shallow Parsing, Parsing/Grammatical Formalisms, Semantic Processing, Lexical Semantics, Ontology, Linguistic Resources, Statistical and Knowledge based methods, POS tagging, Discourse, Paraphrasing/Entailment/Generation, Machine Translation, Information Retrieval, Text Mining, Information Extraction, Summarization, Question Answering, Dialog Systems, Spoken Language Processing, Speech Recognition and Synthesis.
Important Dates:
Paper Submission Date: Any time
Acceptance Notification: 1-2 Months from Submission Date
Publication : Januari 2018
Author Guidelines
Submit your manuscripts to the JLK via OJS.

Friday, 13 March 2015

Jurnal Edukasi dan Penelitian Informatika (JEPIN)

Jurnal Edukasi dan Penelitian Informatika (JEPIN)

ISSN 2460-0741
JEPIN merupakan jurnal cetak dan elektronik yang terbit berkala dua kali dalam setahun yaitu pada bulan Juni dan Desember. sebagai media untuk mempublikasikan hasil penelitian dan pemikiran kalangan akademisi, peneliti dan praktisi bidang informatika dan teknologi informasi,meliputi (namun tidak terbatas pada) : Kecerdasan Buatan, Grafik dan Animasi Komputer, Pengolahan Citra, kriptografi, Keamanan Jaringan Komputer, Pemodelan dan Simulasi, Temu Balik Informasi, Keamanan Informasi, Multimedia, Bioinformatika dan Telemedika, Desain Arsitektur Komputer, Robotika, Komputasi Paralel dan Terdistribusi, Sistem Operasi, Compiler dan Interpreter, Sistem Informasi, Game, Metode Numerik, Komputasi Bergerak, Pengolahan Bahasa Alami, Data Mining, Sistem kognitif, Pemrosesan Ucapan, Machine Learning, Sistem Pakar, Sistem Informasi Geografis, Teori komputasi, dan aplikasi informatika pada berbagi bidang.

JEPIN yang diterbitkan oleh Program Studi Teknik Informatika Universitas Tanjungpura, mengundang para akademisi, peneliti, pengkaji, praktisi, dan pemerhati bidang bidang informatika dan teknologi informasi mengirimkan makalahnya untuk diterbitkan pada edisi ketiga (Vol. 2 no 1) pada bulan Juni 2016. Template paper dapat diunduh sebagai pedoman penulisan makalah.

Makalah dapat dikirimkan melalui email ke: jepin@untan.ac.id atau melalui situs ini : http://jurnal.untan.ac.id/index.php/jepin. Makalah dapat dikirimkan sewaktu-waktu, penerbitan berikutnya akan dilakukan sesuai tanggal-tanggal penting JEPIN Vol. 2 No. 1 (Juni 2016) berikut ini:
Round I :
Batas penerimaan makalah : 25 Febuari 2016
Pengumuman penerimaan makalah: 25 Maret 2016
Publish media elektronik + acceptance letter : April 2016
Publish media cetak : Juni 2016

Round II :
Batas penerimaan makalah : 25 April 2016
Pengumuman penerimaan makalah : 25 Mei 2016
Publish media elektronik + acceptance letter : Juni 2016
Publish media cetak : Juni 2016
Semua makalah yang diterima, akan melewati proses peer-review secara anonim oleh mitra bestari (blind review by peer group system) yang melibatkan ahli dan penilai dari lingkungan luas. Setelah proses review selesai, hasil review akan diinformasikan kepada penulis karya ilmiah melalui email. Makalah yang diterbitkan akan dikenakan biaya administrasi sebesar Rp 250.000,- (termasuk ongkos kirim).

Wednesday, 23 July 2014

Arsitektur Mesin Penerjemah Statistik Moses

Moses is a statistical machine translation system that allows you to automatically train translation models for any language pair. All you need is a collection of translated texts (parallel corpus). Once you have a trained model, an efficient search algorithm quickly finds the highest probability translation among the exponential number of choices.(http://www.statmt.org/moses/)


Secara umum, arsitektur mesin penerjemah statistik Moses seperti pada gambar berikut : 


Sumber data utama yang dipergunakan adalah parallel corpus dan monolingual corpus. Proses training terhadap parallel corpus menggunakan GIZA++ menghasilkan translation model (TM). Proses training terhadap bahasa target pada parallel corpus ditambah dengan monolingual monolingual corpus bahasa target menggunakan SRILM menghasilkan language model (LM), sedangkan PoS model (PoS-M) dihasilkan dari bahasa target pada parallel corpus yang setiap katanya sudah ditandai dengan PoS. TM, LM dan PoS-M hasil proses di atas digunakan untuk menghasilkan decoder Moses. Selanjutnya Moses digunakan sebagai mesin penerjemah untuk menghasilkan bahasa target dari input kalimat dalam bahasa sumber.

catatan : PoS Model merupakan salah satu fitur linguistik yang dapat digunakan pada moses, fitur lain yang dapat digunakan seperti lemma, gender, proses pembentukan kata (morfem) dan lain-lain.

Sunday, 13 April 2014

IBM Model 1, 2, 3, dan 4 untuk Penyelarasan Kata (Word Alignment) pada Mesin Penerjemah


-->
Word alignment dari korpus bilingual memberikan pengetahuan penting untuk banyak tugas pengolahan bahasa alami, seperti ekstraksi dari kata-kata bilingual atau leksikal. Solusi dari masalah ini sangat tergantung pada kualitas word alignment. Model word alignment pertama kali diperkenalkan pada terjemahan mesin statistik (Brown et al., 1993). Alignment menggambarkan pemetaan dari kata-kata kalimat sumber terhadap kata-kata pada kalimat target.

Koehn, P. (2010) menjelaskan bahwa IBM Model 1 merupakan model word alignment yang menggunakan algoritma Expectation Maximization (EM) untuk melakukan komputasi porbabilitas translasi leksikal dari korpus paralel. Pada IBM model 1 didefinisikan kalimat sumber sebagai f = (f1, … flf) dimana lf adalah banyaknya kata dalam kalimat f, kalimat target sebagai e = (e1, … elf) dimana le adalah banyaknya kata dalam kalimat e dengan fungsi alignment a : j → i. Probabilitasnya didefinisikan sebagai :

Sebagai contoh, sebuah kalimat dari bahasa Jerman dengan terjemahannya dalam bahasa Inggris seperti berikut ini :



-->
Sumber : Koehn (2010)

IBM Model 2 menambahkan fungsi perubahan posisi kata-kata dari kalimat sumber ke kalimat target sebagai a(i | j, le , lf ), dimana i adalah posisi kata pada kalimat sumber, j adalah posisi kata pada kalimat target, le dan lf adalah banyaknya kata pada kalimat target dan kalimat sumber.

IBM Model 2 dapat dilihat sebagai 2 langkah proses, yaitu langkah penerjemahan (translation step) dan alignment step seperti berikut ini :



-->
Sumber : Koehn (2010)

Dua langkah tersebut secara matematis didefinisikan sebagai :

IBM Model 3 terdiri dari 4 langkah proses, yaitu fertility, NULL insertion, lexical translation, dan distortion. Pada proses fertility, setiap kata pada kalimat sumber dicari probabilitas berapa banyak kata hasil terjemahan dari kata tersebut yang didefinisikan sebagai n(Ф,f), dimana Ф adalah banyak kata hasil terjemahan dari kata f. Pada proses NULL insertion, setiap NULL yang disisipkan ditentukan dari probabilitas p1 setelah terjadinya setiap kata atau tidak menyisipkan NULL dengan probabilitas p0 = 1 − p1. Proses lexical translation dilakukan sama seperti IBM model 1, dan proses distortion mirip dengan langkah alignment pada IBM Model 2. Keempat langkah tersebut dicontohkan sebagai berikut :

 
-->
Sumber : Koehn (2010)

IBM model 4 mengacu kepada IBM model 3, tetapi dengan melakukan distorsi secara relatif pada proses distortion.

Sebagai contoh, kalimat sumber dan kalimat target terjemahan dengan alignment sebagai berikut :
 Sumber : Koehn (2010)

Distorsi pada IBM Model 4 adalah kata-kata pada kalimat sumber dengan fertility yang tidak 0 (nol) dari cept (disini ada 5 cept) yang berisi kata-kata pada kalimat target ej. Pusat i i dari sebuah cept πi, yaitu rata-rata yang dibulatkan ke atas dari j (ceiling(avg( j))).

Distorsi untuk setiap kata-kata pada kalimat sumber dimodelkan dengan sebuah probabilitas distribusi sebagai berikut.
  1. Untuk kata yang berasal dari NULL (misalnya kata do).
  2. Untuk kata pertama dalam cept (misalnya kata not), berdasarkan pada jarak antara kata dan pusat sebelum kata tersebut (j −Oi-1).
  3. Untuk kata-kata berikutnya didalam cept (misalnya kata the), berdasarkan jarak kata sebelumnya dalam cept. Probabilitas distribusi d1 dan d>1 dipelajari dari data yang dukondisikan menggunakan informasi leksikal.
Lebih jelasnya dapat dilihat seperti contoh berikut :

 Terdapat 5 (lima) cept yaitu π1 ... π5, posisi kata ke 3 (tiga) untuk kata ”ja” tidak digunakan karena tidak menghasilkan kata target. Pusat cept 4 ditentukan menjadi 6 karena rata-rata 5 dan 6 adalah 5,5, selanjutnya dibulatkan ke atas menjadi 6. Selanjutnya, distorsi untuk setiap kata-kata dari kalimat target ditentukan sebagai berikut :




-->
Ada 3 (tiga) kondisi untuk setiap kata-kata target yang didefinisikan distorsi relatifnya, yaitu : (1) kata-kata yang dihasilkan dari token NULL, (2) kata pertama di dalam cept dan (3) kata-kata berikutnya di dalam cept.

Kata-kata yang dihasilkan dari token NULL didistribusikan secara seragam, kata pertama di dalam cept menggunakan probabilitas distribusi :
d1 (j − Oi-1)

Kata-kata berikutnya di dalam cept menggunakan probabilitas distribusi :
d>1 ( j − πi,k−1)

Pada implementasinya, beberapa jenis kata cenderung berpindah posisi pada terjemahannya, sebagai contoh adjective–noun selalu dibalik saat diterjemahkan dari bahasa Prancis ke bahasa Inggris seperti pada kalimat affaires extérieur yang diterjemahkan menjadi external affairs .

Probabilitas distribusi pada dua persamaan sebelum ini untuk kata-kata ej dan f(i-1) adalah :
d1 (j − O i-1 | f(i-1) , ej )
dan
d>1 ( j − πi,k−1| ej)

IBM model 4 memperkenalkan kelas kata (word classes) pada penggunaannya, saat kosakata suatu bahasa dibagi-bagi menjadi beberapa kelompok (misalnya 50 kelas), hal ini dapat dikondisikan sebagai probabilitas distribusi pada kelas-kelas ini. Hasilnya hampir seperti model leksikal, tapi dilakukan secara statistik.

Secara formal, dapat digunakan 2 (dua) fungsi A(f) dan B(e) yang memetakan kata-kata terhadap kelas kata nya. 

d1 (j − O i-1 | A(f(i-1)), B(ej))
dan
d>1 ( j − πi,k−1| B(ej))

Banyak cara untuk mendefinisikan fungsi kelas kata A dan B. Salah satunya adalah dengan menggunakan penandaan PoS. Biasanya ini berarti menandai korpus paralel dengan instrumen tertentu secara otomatis. Alternatif lain adalah dengan mengklaster kata-kata secara otomatis ke dalam kelas kata dengan jumlah kelas tertentu.

Sumber :
-->
Brown, P. F., Della P., S. A., Pietra, V., dan Mercer, R. L. (1993) : The mathematics of statistical machine translation. Computational Linguistics, 19(2), 263–313.

-->
Koehn, P. (2010) : Statistical Machine Translation, Cambridge University Press, New York.








Wednesday, 9 April 2014

Mengukur Hasil Terjemahan dengan BLEU (Bilingual Evaluation Understudy)


BLEU mengukur modified n-gram precision score antara hasil terjemahan otomatis dengan terjemahan rujukan dan menggunakan konstanta yang dinamakan brevity penalty (Papineni, 2002).

 
dimana wn = 1/N.
Simbol BP merupakan brevity penalty, c merupakan jumlah kata dari hasil terjemahan otomatis, r merupakan jumlah kata dari rujukan, dan pn merupakan modified precision score. Nilai wn adalah 1/N. Standar nilai N untuk BLEU adalah 4, karena nilai presisi BLEU pada umumnya dihitung sampai 4-gram saja. Simbol pn diperoleh dari jumlah n-gram pada hasil terjemahan yang cocok dengan rujukan dibagi dengan jumlah n-gram pada hasil terjemahan.

Sebagai contoh, jika sebuah mesin menghasilkan terjemahan :
indonesia akan melakukan pesta pemilihan
dengan kalimat referensi
rakyat indonesia akan melakukan pesta demokrasi
maka penilaian dengan metode BLEU adalah sebagai berikut.
Jumlah kata dalam kalimat hasil terjemahan c = 5.
Jumlah kata dalam kalimat referensi r = 6.

Dari persamaan (28), karena c ≤ r, maka BPBLEU = e(1-r/c) , sehingga
BPBLEU = e(1-6/5)
= 0,8187

Dari kalimat hasil terjemahan dan referensi, terdapat lima unigram pada kalimat terjemahan (indonesia, akan, melakukan, pesta, pemilihan) dan empat unigram yang sama dengan referensi (indonesia, akan, melakukan, pesta), sehingga :
log p1 = log (4/5)
= -0,2231

Terdapat empat 2-gram pada kalimat terjemahan dan tiga 2-gram yang sama dengan referensi, sehingga :
log p2 = log (3/4)
= -0,2877

Dengan cara yang sama :
log p3 = log (2/3)
= -0,4055
log p4 = log (1/2)
= -0,6931

Karena wn = ¼ (1/N), nilai akhir dari BLEU dari persamaan (30) adalah :
BLEU = 0,8187 . 1/4 ( (-0,2231) + (- 0,2877) + (-0,4055) + (-0,6931) )
= 0,5475
= 54,75 %

Sumber :
Papineni, K., Roukos, S., Ward, T., dan Zhu, W.-J. (2002) : BLEU: A Method For Automatic Evaluation of Machine Translation, In Proceedings of the 40th Annual Meeting of the Association of Computational Linguistics (ACL), Pennsylvania, 311-318.



Sunday, 6 April 2014

Optimalisasi Penggunaan Part of Speech (PoS) dalam Mesin Penerjemah

Mesin penerjemah (MP) adalah mesin yang dapat melakukan penerjemahan dari suatu bahasa ke bahasa yang lain secara otomatis. MP memiliki kegunaan praktis yang jelas karena dapat membantu manusia untuk berkomunikasi dengan orang lain yang memiliki bahasa yang berbeda. Dalam era globalisasi, masalah ini menjadi lebih penting. MP dapat meningkatkan efisiensi penerjemahan manual oleh manusia yang memiliki sumber daya terbatas dan mahal. Selain itu, modalitas komunikasi telah menjadi semakin bervariasi dan instan. Email, sms, bbm, media sosial online dan konferensi video merupakan bagian integral dari masyarakat informasi sekarang ini. Mesin terjemahan menawarkan respon langsung dan segera yang akan sulit untuk ditangani oleh penerjemahan manusia.

Proyek mesin penerjemah pertama kali dilakukan di Georgetown University pada tahun 1954 memiliki sasaran yang ideal yaitu ”terjemahan kualitas tinggi yang dilakukan sepenuhnya secara otomatis” (fully automatic high quality translation (FAHQT)). Proyek ini dinilai gagal oleh Automatic Language Processing Advisory Committee (ALPAC), sehingga para peneliti semakin realistis dan semakin menyadari keterbatasan komputer sebagai alat penterjemah.

Salah satu pendekatan MP adalah dengan menggunakan pendekatan statistik yang menggunakan konsep probabilitas. Untuk setiap pasangan kalimat (s,t) akan diberikan sebuah P(t|s) yang diinterpretasikan sebagai distribusi probabilitas dimana MP akan menghasilkan t dalam bahasa tujuan ketika diberikan s dalam bahasa sumber.

Beberapa penelitian telah memperlihatkan bahwa kualitas MP semakin baik dengan tambahan fitur-fitur seperti lemma, part of speech (PoS), gender dan lain-lain seperti yang diperlihatkan pada penelitian-penelitian Koehn dan Hieu Hoang  (2007),  Youssef dkk. (2009), Razavian dkk. (2010), dan Sujaini dkk. (2012).

Pada penelitian-penelitian dalam bidang pemrosesan bahasa alami (PBA), khususnya sistem MP, set PoS bahasa Indonesia yang digunakan sangat bervariasi seperti yang digunakan oleh Pisceldo dkk. (2009), Adriani (2009), Wicaksono dan Purwarianti (2010), dan Larasati dkk., (2011).

Secara umum keempat set PoS mengacu pada PoS umum bahasa Indonesia, hanya berbeda pada pembagian terhadap PoS utama tersebut. Sebagai contoh, Adriani dan Fempy membagi Noun menjadi NNC (countable common noun), NNU (uncountable common noun), NNG (genitive common noun) dan NNP (proper common noun), Alfan membaginya menjadi NN (common noun), NNG, dan NNP, sedangkan Larasati hanya membagi menjadi 2 PoS yaitu NN dan NNP.

Perbedaan penggunaan set PoS tentu saja berakibat pada perbedaan tingkat ambiguitas sintaksis, Resnik (1993) menjelaskan bahwa dalam banyak kasus, ambiguitas sintaksis dapat diselesaikan dengan bantuan pengetahuan semantik, terkait erat dengan item leksikal dalam kalimat.

Untuk mengoptimalkan penggunaan PoS dalam usaha peningkatan kualitas hasil terjemahan, Set PoS dapat ditentukan secara komputasi lewat pendekatan kemiripan kata (word similarity). Dari hasil penentuan set PoS secara komputasi, didapat perbedaan set jika dibandingkan set PoS secara tata bahasa. Sebagai contoh, kata kerja (verba) dalam tata bahasa Indonesia biasanya terbagi atas verba transitif dan intransitif, akan tetapi distribusi penempatannya dalam kalimat ternyata terbagi atas  verba transitif dan intransitif, verba pasif (dibuat, digunakan, dilaksanakan, dll.), kata kerja yang memiliki makna “menjadi” (melemah, membaik, mengecil dll.).



Sumber :
Koehn, P., dan Hoang, H. (2007) : Factored Translation Models, Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, Prague,  868-876.
Razavian, Sharif, N. dan Vogel, S. (2010) : Fixed Length Word Suffix for Factored Statistical Machine Translation, Proceedings of the ACL 2010 Conference Short Papers, Uppsala, 147-150.
Sujaini, H., Kuspriyanto, Arman, A.A., dan Purwarianti, A. (2012) : Pengaruh Part-Of-Speech pada Mesin Penerjemah Bahasa Inggris-Indonesia Berbasis Factored Translation Model , SNATI 2012, Yogyakarta, H77-H82.
Youssef, I., Sakr, M. dan Kouta, M. (2009) : Linguistic Factors in Statistical Machine Translation Involving Arabic Language, IJCSNS International Journal of Computer Science and Network Security, 9(11),154-159.
Adriani, M dan Riza, H. (2009) : Research Report on Local Language Computing: Development of Indonesian Language Resources and Translation System, PAN Localization, 102042.
Pisceldo, F., Adriani, M., dan Manurung, R. (2009) : Probabilistic Part of Speech Tagging for Bahasa Indonesia, Third International Wokshop on Malay and Indonesian Language Engineering, Singapore.
Wicaksono, A.F. dan Purwarianti, A. (2010) : HMM Based Part-of-Speech Tagger for Bahasa Indonesia, The 4th International Malindo Wokshop, Jakarta, 94-100.
Larasati, S.D., Kuboň, V, dan Zeman, D. (2011) : Indonesian Morphology Tool (MorphInd): Towards an Indonesian Corpus, SFCM 2011. Springer CCIS proceedings of the Workshop on Systems and Frameworks for Computational Morphology, Zurich. 119-129.
Resnik, P. (1993) : Semantic classes and syntactic ambiguity, HLT '93 Proceedings of the workshop on Human Language Technology, 278-283.

Friday, 10 May 2013

Translator untuk Melestarikan Bahasa Daerah

Saat ini penggunaan bahasa daerah di masyarakat sudah mulai berkurang dan semakin berubah akibat kemajuan zaman terutama perkembangan teknologi. Semakin lama penutur bahasa daerah semakin sedikit sehingga dikhawatirkan punahnya bahasa daerah.
Diperkirakan hanya separuh dari seluruh bahasa yang dituturkan oleh manusia dunia sekarang ini yang masih akan eksis pada tahun 2100 nanti.
National geographic bahkan merinci lebih jelas bahwa satu bahasa  punah setiap 14 hari dan sebelum berganti abad dunia akan kehilangan separuh dari sekitar 7.000 bahasa  ibu yang masih ada di bumi saat ini. UNESCO yang memiliki kekhawatiran sama juga memperkirakan sekitar 3000 bahasa akan punah di akhir abad ini.
Menurut Summer Institute of Linguistic yang melakukan penelitian pada tahun 2006, jumlah bahasa daerah di Indonesia mencapai 742 ragam yang menempatkan Indonesia pada urutan ke-2 sedunia sebagai laboratorium keanekaragaman bahasa setelah Papua Nugini yang memiliki 867 ragam bahasa
Berbagai cara dilakukan untuk mencegah kepunahan bahasa daerah, dari mulai memasukkannya ke dalam kurikulum sekolah, mengadakan seminar-seminar bahasa daerah, membuat dokumen-dokumen dalam bahasa daerah dan lain-lain.
Salah satu cara yang belum banyak ditempuh adalah dengan membangun mesin penerjemah. Meskipun sudah ada, tapi hanya sebatas bahasa tertentu saja, perlu dibangun sebuah sistem penerjemah yang mampu mengakomodir semua bahasa daerah di Indonesia.

Secara garis besar, ada dua pendekatan sistem mesin penerjemah, yaitu berbasis aturan (rule) dan statistik. Salah satu kelebihan mesin penerjemah berbasis aturan adalah kecepatan proses nya, sayangnya untuk setiap bahasa selalu memiliki aturan yang berbeda sehingga memerlukan pengetahuan tentang bahasa tersebut.
Kelebihan utama dari mesin penerjemah berbasis statistik adalah bersifat lebih umum sehingga untuk membangunnya tidak diperlukan pengetahuan bahasa, cukup dengan bermodalkan korpus paralel antara dua bahasa yang akan diterjemahkan. Kekurangannya adalah dalam segi kecepatan proses, yang salah satu cara mengatasinya dalah dengan menggunakan mesin berkecepatan tinggi. Cara lain untuk mengatasi kelemahan tersebut adalah dengan menggabungkan kedua pendekatan tersebut.

Prototype penggabungan aturan dan statistik mesin penerjemah untuk mereduksi kelemahan masing-masing pendekatan sedang kami bangun dengan memilih salah satu bahasa daerah yaitu bahasa Melayu Pontianak.

Translator Nusantara
Translator bahasa Indonesia ke bahasa Melayu Pontianak
Translator bahasa daerah (Melayu Pontianak, Melayu Sambas, Sunda, Jawa)
Penerjemah dokumen : detik.com dalam bahasa Melayu Pontianak
detik.com dalam bahasa Melayu Pontianak

 

Friday, 19 April 2013

Kumpulan Korpus Bahasa Indonesia

Untuk yang memerlukan monokorpus Bahasa Indonesia, silahkan diunduh disini :

Wikipedia
1. Wiki1 = Sumber : wikipedia indonesia
2. Wiki2 = Sumber : wikipedia indonesia
3. Wiki3 = Sumber : wikipedia indonesia
4. Wiki4 = Sumber : wikipedia indonesia
5. Wiki5 = Sumber : wikipedia indonesia
6. Wiki6 = Sumber : wikipedia indonesia
7. Wiki7 = Sumber : wikipedia indonesia

Berita
1. Berita1 = Sumber : detik
2. Berita2 = Sumber : detik
3. Berita3 = Sumber : detik

Bahan mentah korpus paralel :
BBC dwi bahasa (English-Indonesian) = Sumber : BBC
Berita dwi bahasa (English) = Sumber : Berita Jakarta
Berita dwi bahasa (Indonesian) = Sumber : Berita Jakarta

Semua korpus di atas masih mentah, belum di-"cleaning", hasil crawling dari berbagai sumber di internet.

herry_sujaini@yahoo.com

Friday, 4 May 2012

Korpus Paralel Indonesia-Inggris


Korpus paralel adalah pasangan korpus yang berisi kalimat-kalimat dalam suatu bahasa dan terjemahannya. Korpus paralel merupakan bahan penting untuk melakukan eksperimen-eksperimen dalam bidang pemrosesan bahasa alami.
Korpus paralel banyak tersimpan dalam "hard disk" para peneliti, tapi sangat sedikit yang di-share. Korpus paralel Indonesia-Inggris yang dipublikasikan  diantaranya :
  • Korpus paralel yang yang terpublikasi,
    • PAN Localization Project www.panl10n.net
      • Korpus paralel Indonesia – Inggris (surface)
      • domain ekonomi = 6.544 kalimat
      • domain internasional = 6.642 kalimat
      • domain sains = 6.355 kalimat
      • domain olahraga = 4.483 kalimat
      • Korpus paralel Indonesia – Inggris (surface+PoS+Lemma+morph) = 27.326 kalimat
        (Korpus Identic sudah menggabungkan isi dari korpus LPP)

        Jika dirasakan kurang, silahkan menambahnya dengan mengumpulkan sendiri dari berbagai sumber di internet.


  • Dokumen-dokumen yang tersedia di internet dalam dua bahasa (Indonesia dan Inggris),
  • Teks film (movie subtitles) yang tersedia dalam dua bahasa (Indonesia dan Inggris).

Wednesday, 2 May 2012

Part of Speech Bahasa Indonesia


Berbagai set PoS bahasa Indonesia telah digunakan dalam penelitian-penelitian bidang pemrosesan bahasa alami (PBA), diantaranya lewat PAN Localization Project, khusus untuk bahasa Indonesia telah dikembangkan PoS khusus untuk terjemahan ke bahasa Inggris pada tahun 2009 (Adriani, 2009). PoS tersebut dibangun berdasarkan Penn Treebank PoS tag sets  terdiri dari 29 PoS tags. PoS utama Bahasa Indonesia adalah kata kerja (verb), kata sifat (adjective), kata keterangan (adverb), kata benda (noun), and kata tugas (function words), berdasarkan 5 (lima) PoS utama tersebut dan observasi data, Pisceldo dkk. (2009) mendefinisikan 37 tag untuk Bahasa Indonesia. Wicaksono dkk. (2010) dalam penelitiannya menggunakan 35 tag hasil dari modifikasi tagset yang dihasilkan oleh Adriani, (2009) dan Pisceldo dkk. (2009). Terakhir, Larasati dkk. (2011) menggunakan hanya 19 tag dalam penelitiannya.

Detail set PoS yang digunakan lebih detail dapat dilihat di :
Adriani, Mirna (2009), “Developing Postag for Bahasa Indonesia”, Diakses pada 1 April 2012 dari http://www.panl10n.net/Presentations/Laos/ RegionalConference/CorpusCollection/Tagset_Tagging_for_Bahasa_Idonesia.pdf
Larasati, Septina Dian, Kuboň V, dan Zeman D. (2011). Indonesian Morphology Tool (MorphInd): Towards an Indonesian Corpus. SFCM 2011. Springer CCIS proceedings of the Workshop on Systems and Frameworks for Computational Morphology, Zurich.

Pisceldo, Femphy, Mirna Adriani, dan Ruli Manurung. (2009). Probabilistic Part of Speech Tagging for Bahasa Indonesia, Third International Wokshop on Malay and Indonesian Language Engineering, Singapore.
Wicaksono, Alfan Farizki dan Ayu Purwarianti. (2010). HMM Based Part-of-Speech Tagger for Bahasa Indonesia, The 4th International Malindo Wokshop, Jakarta.

Yang mana yang paling baik ? Saya sendiri sedang dalam proses mencari jawabannya. Semoga membantu.

Saturday, 31 March 2012

Akurasi Terjemahan Google


Seorang teman bertanya kepada saya, “Seberapa akurat hasil terjemahan google untuk Bahasa Inggris ke Indonesia dan sebaliknya?”. Saya coba searching tapi tak menemukan jawaban (mungkin kurang serius mencarinya). Daripada tidak ada jawaban sama sekali, saya mencoba menemukan jawabannya sendiri. Mencoba mencari sejumlah kalimat bahasa Indonesia dan terjemahannya dalam bahasa Inggris, mencoba menerjemahkannya dengan google, kemudian memberikan scoring dengan algoritma standar untuk evaluasi mesin penerjemah.

Bahan yang diperlukan adalah korpus paralel, yaitu sepasang korpus yang berisi kalimat-kalimat dalam suatu bahasa dan terjemahannya. Pada percobaan ini akan menggunakan korpus paralel bahasa Indonesia dan bahasa Inggris. Apa itu korpus? Silahkan tanya ke tante wiki http://en.wikipedia.org/wiki/Text_corpus

Bagaimana cara mendapatkan bahan tersebut? Banyak caranya, dan gratis, diantaranya kita dapat :
  1. Mengunduh korpus paralel yang yang terpublikasi
  2. Mengunduh dokumen-dokumen yang tersedia dalam dua bahasa (Indonesia dan Inggris)
  3. Mengunduh teks film (movie subtitles) yang tersedia dalam dua bahasa (Indonesia dan Inggris)
  4. dll.
Untuk percobaan ini saya menggunakan korpus dari bppt lewat PAN Localization Project. Terdapat 4 (empat) domain korpus yang tersedia, yaitu domain ekonomi, sport, science, dan internasional. Silahkan unduh di http://panl10n.net/english/OutputsIndonesia2.htm

Saya mengambil salah satu korpus paralel tersebut, yaitu korpus domain ekonomi, korpus tersbut terdiri dari dua file, file pertama berisi kalimat-kalimat dalam bahasa Indonesia yang terdiri dari 157619 kata, 6544 kalimat, file kedua berisi kalimat-kalimat terjamahan dari file pertama dalam bahasa Inggris yang terdiri dari 173641 kata, 6544 kalimat.
Setelah siap, terjemahkan 2 file tersebut dengan google translator. File pertama untuk terjemahan Indonesia-Inggris, yang kedua untuk terjemahan Inggris-Indonesia.

Untuk alatnya, saya menggunakan algoritma BLEU (Bilingual Evaluation Understudy). Penjelasannya ada di http://en.wikipedia.org/wiki/BLEU
Jika ingin tahu lebih jauh silahkan baca paper Papineni, K., Roukos, S., Ward, T., and Zhu, W.-J. (2002). BLEU: a method for automatic evaluation of machine translation, In Proceedings of the 40th Annual Meeting of the Association of Computational Linguistics (ACL).
Scriptnya tersedia di http://www.itl.nist.gov/iad/mig//tests/mt/2008/scoring.html

Hasil percobaannya seperti gambar berikut ini (saya gunakan OS Ubuntu):


Hasil terjemahan Indonesia-Inggris :

BLEU = 92.99, 94.4/93.9/93.7/93.5 (BP=0.990, ratio=0.990, hyp_len=163820, ref_len=165398)

Hasil terjemahan Inggris-Indonesia :

BLEU = 92.73, 94.1/93.6/93.3/93.0 (BP=0.992, ratio=0.992, hyp_len=150560, ref_len=151771)


Apa arti nilai-nilai tersebut ?

Contoh hasil yang terakhir :

92.73 = score akhir

94.1 = presisi 1-gram

93.6 = presisi 2-gram

93.3 = presisi 3-gram

93.0 = presisi 4-gram

BP (brevity penalti) = min(1,jumlah kata output/jumlah kata ref)

ratio = jumlah kata output/jumlah kata ref

hyp_len = jumlah kata hasil terjemahan

ref_len = jumlah kata refrensi

Jangan pusing2 dengan nilai2 tersebut, lihat saja score akhirnya.


Salah satu contoh kalimat hasil terjemahan :

Terjemahan Inggris-Indonesia

Minister of Finance Sri Mulyani Indrawati said that a sharp correction of the composite inde x by up to 4 pct in Wedenesday?s trading was a mere temporary effect of regional factors like decline in plantation commodity prices and the financial crisis in Thailand.

Terjemahannya

Menteri Keuangan Sri Mulyani mengatakan koreksi tajam pada Indeks Harga Saham Gabungan IHSG hingga sekitar 4 persen dalam perdagangan Rabu 10/1 hanya efek sesaat dari faktor-faktor regional seperti penurunan harga komoditi perkebunan dan krisis finansial di Thailand.

Terjemahan Google

Menteri Keuangan Sri Mulyani Indrawati mengatakan bahwa koreksi tajam dari x merdeka komposit hingga 4 persen di Wedenesday trading adalah? Efek sementara hanya faktor regional seperti penurunan harga komoditas perkebunan dan krisis keuangan di Thailand.

Sebaliknya untuk terjamahan Indonesia-Inggris, google menghasilkan terjemahan :

Finance Minister Sri Mulyani said the sharp correction in stock index Composite Stock Price Index by about 4 percent in trading Wednesday 10/1 only a momentary effect of regional factors such as the decline in farm commodity prices and financial crisis in Thailand.

Boleh percaya, boleh tidak, setidaknya saya sudah bisa menjawab pertanyaan teman saya:

Akurasi terjemahan Indonesia-Inggris untuk 6544 kalimat dalam satu domain adalah sebesar 92.99% dan untuk Inggris-Indonesia sebesar 92.73%.



Friday, 18 June 2010

Ikhtisar Terjemahan Mesin (TM)

Istilah Terjemahan Mesin (TM) digunakan dalam arti terjemahan dari satu bahasa ke bahasa lain. Tujuan ideal sistem TM adalah untuk menghasilkan terjemahan sebaik mungkin tanpa bantuan manusia. Pada dasarnya setiap sistem TM memerlukan program untuk terjemahan dan kamus otomatis serta tata bahasa untuk mendukung terjemahan.


Tipe-tipe Sistem Terjemahan Mesin

Sistem TM yang menghasilkan terjemahan antara hanya dua bahasa tertentu disebut sistem bilingual, dan yang menghasilkan terjemahan untuk setiap pasangan bahasa tertentu disebut sistem multilingual. Sistem multilingual dapat berupa uni-directional atau bi-directional. Sistem multilingual lebih diutamakan untuk bi-directional dan bi-lingual karena mereka memiliki kemampuan untuk menerjemahkan dari bahasa tertentu ke bahasa tertentu lainnya dan sebaliknya.


Pendekatan Terjemahan Mesin Langsung (Direct Translation Machine)


Pendekatan terjemahan langsung adalah yang tertua dan pendekatan yang kurang populer. Sistem TM yang menggunakan pendekatan ini mampu menerjemahkan bahasa, disebut source language (SL) langsung ke bahasa lain, yang disebut target language (TL). Analisis teks SL berorientasi hanya untuk satu TL. sistem terjemahan langsung adalah pada dasarnya bilingual dan uni-directional.


Pendekatan Interlingua


Maksud pendekatan Interlingua untuk menerjemahkan teks SL dengan lebih dari satu bahasa. Terjemahan dari SL ke bentuk peralihan yang disebut Interlingua (IL) kemudian dari IL ke TL. Interlingua mungkin berupa bahasa buatan atau pembantu bahasa seperti bahasa Esperanto dengan kosakata universal.

Catatan :
Esperanto adalah bahasa artifisial yang diciptakan oleh Ludovich Zamenhoff, seorang Polandia. Nama "Esperanto" adalah nama samaran dari L.L Zamenhof sendiri ketika ia menerbitkan tentang bahasanya pada tahun 1887. Tujuan utama Zamenhof adalah untuk membuat bahasa netral yang mudah dipelajari dan digunakan sebagai bahasa perantara oleh berbagai orang yang memiliki bahasa ibu yang bermacam-macam.



Pendekatan Transfer

Tidak seperti pendekatan Interlingua, pendekatan transfer memiliki tiga tahap proses. Pada tahap pertama, teks SL dijabarkan ke SL-berorientasi representasi abstrak. Pada tahap kedua, representasi SL-berorientasi representasi dikonversi menjadi TL-berorientasi representasi setara. Final teks dihasilkan dalam tahap ketiga.


Pendekatan Empiris

Pendekatan empiris adalah pendekatan muncul yang menggunakan sejumlah besar data mentah dalam bentuk paralel korpus. Data mentah yang terdiri dari teks dan terjemahannya. Example-based MT, analogy-based MT, memory-based MT, and case-based MT adalah mesin-mesin dengan teknik yang menggunakan pendekatan empiris. Pada dasarnya semua teknik ini menggunakan korpus atau database sebagai contoh diterjemahkan. Statistical MT adalah mesin yang berbasis korpus tapi sedikit berbeda dalam arti bahwa ia bergantung pada pemodelan statistik dari urutan kata dari bahasa sasaran dan target kesetaraan sumber-kata. Statistical MT secara otomatis mempelajari kecendrungan leksikal dan struktur dari korpus. Model statistik menawarkan solusi yang baik untuk masalah ambiguitas. Mereka kuat dan bekerja dengan baik bahkan jika ada kesalahan dan adanya data baru.

Sumber :
http://language.worldofcomputing.net/category/machine-translation
http://id.wikipedia.org/wiki/Bahasa_Esperanto

Tuesday, 1 June 2010

Merepresentasikan Bahasa dengan Pendekatan Chomsky

Apa itu bahasa dan bagaimana bahasa itu dapat didefinisikan? Pada level analisis sintaks, bahasa adalah kalimat yang dibuat dan dapat digunakan untuk berkomunikasi. Meskipun demikian, tidak semua urutan kata-kata dapat dikategorikan sebagai kalimat. Sebagai contoh, perhatikan kalimat–kalimat berikut ini, ada beberapa kalimat yang gramatikal dan ada yang tidak.
a. Fahmi berhasil mencapai puncak pohon itu.
b. Dalam beberapa hari terakhir, hujan mengguyur Kota Bandung tanpa henti.
c. Fahmi mencapai berhasil puncak pohon itu.
d. Dalam hari terakhir beberapa, hujan Kota Bandung mengguyur tanpa henti.
Dari contoh-contoh kalimat di atas, jelas sekali bahwa kalimat a dan b termasuk kalimat yang gramatikal, sedangkan dua kalimat lainnya, yaitu kalimat c dan d tidak termasuk kalimat yang gramatikal.
Suatu kalimat dikatakan gramatikal atau tidak tentu saja tidak dapat hanya dilakukan dengan sense, tapi tentu saja ada aturan-aturan yang berlaku untuk menentukannya. Pendekatan Chomsky untuk masalah ini dengan menggeser dari penekanan pada bahasa yang untuk semua tujuan praktis kepada penekanan pada tata bahasa atau aturan yang dapat menghasilkan bahasa.

Contoh :
Asumsikan bahwa kosa kata dibatasi sepasang huruf {a, b}. Kalimat-kalimat yang dapat dibentuk dari sepasang huruf ini antaranya adalah :
abba, abaaba, baabaabaab dan lain-lain.
Aturan untuk membentuk deretan huruf tersebut adalah :
S -> aa S -> aSa
S -> bb S -> bSb
Bagaimana aturan-aturan ini digunakan dalam membentuk sebuah kalimat? Langkah pertama tulislah S yang digunakan sebagai symbol inisiasi. Kemudian ganti S dengan salah satu dari 4 alternatif perluasan, misalnya S => aSa. Jika bentuk baru masih mengandung S, ganti kembali dengan salah satu dari 4 alternatif perluasan sampai tidak dapat diperluas lagi, atau dengan kata lain tidak mengandung S lagi.
Salah satu contoh urutan turunan sebuah kalimat berdasarkan aturan di atas adalah :
(1) S
(2) bSb
(3) baSab
(4) baaSaab
(5) baabSbaab
(6) baabaabaab
Langkah selanjutnya, kita akan memformalisasikan sebuah tata bahasa dan kemudian menjelaskan bagaimana pengetahuan dapat digunakan dalam mendefinisikan sebuah bahasa.

Definisi :
Sebuah grammer, G, dapat didefinisikan dalam bentuk sebuah himpunan yang terdiri dari 4 elemen (quadruple), dimana setiap elemen bersifat terbatas. G = (N, V, P, S0), dimana :
a. N adalah sebuah himpunan nonterminal
b. V adalah sebuah himpunan simbol terminal yang digunakan untuk mendefinisikan kalimat sebenarnya
c. P adalah himpunan aturan gramatikal, dan
d. S0 adalah nonterminal tunggal yang digunakan sebagai simbol inisiasi.

Sebagai contoh :
N = {S}
V = {a,b}
P = {S -> aa, S -> aSa, S -> bb, S -> bSb}
S0 = S
Himpunan N dan V tidak boleh overlap, dimana anggota-anggota himpunannya tidak boleh sama atau dengan kata lain : N U V = Q, dimana Q merupakan sebuah himpunan kosong.
Nonterminal dapat ditulis ulang atau diganti dan dapat muncul di sisi kiri maupun sisi kanan aturan, sedangkan terminal tidak dapat ditulis ulang atau diganti dan hanya dapat muncul di sisi kanan aturan.
Kumpulan aturan yang berhubungan dengan sebuah nonterminal dapat digabungkan penulisannya, misalnya ada sekumpulan aturan : X -> a1, X -> a2, dan X -> a3, dapat dituliskan sebagai : X -> a1 | a2 | a3.
Atau secara umum dapat ditulis dengan bentuk : X -> a1 | a2 | ... | an.

Sunday, 16 May 2010

Kelas Kata bahasa Indonesia

Sejak sekolah dasar kita sudah dikenalkan dengan istilah kata benda, kata kerja, kata sifat dan lain-lain, itu adalah sebgian yang dikenal dengan kelas kata. Dalam bahasa Inggris dikenal dengan nama Part of Speech (PoS), sedangkan kumpulan PoS disebut dengan PoS set. Ternyata beberapa literatur Bahasa Indonesia tidak seragam dalam mendefinisikan PoS set ini, ada yang terdiri dari 8 kelas, 9 kelas sampai 13 kelas.
Ernawati Waridah dalam bukunya yang bejudul "EYD dan Seputar Kebahasa-Indonesiaan" membagi kelas kata bahasa Indonesia menjadi 13 yang terdiri dari :

1. Kata Kerja (Verba)
Kata kerja adalah kata yang menyatakan makna perbuatan, pekerjaan, tindakan, proses, atau keadaan. Misalnya makan, minum, menari dan lain-lain.

2. Kata Sifat (Adjektiva)
Kata sifat adalah kata yang menerangkan kata benda. Misalnya pintar, berkurang, pahit, musnah, berkurang dan lain-lain.

3. Kata Benda (Nomina)
Kata benda adalah kata yang mengacu pada manusia, binatang, benda, dan konsep atau pengertian. Misalnya singa, kursi, karyawan, dan lain-lain.

4. Kata Bilangan (Numeralia)
Kata Bilangan adalah kata yang dipakai untuk menghitung banyaknya benda (orang, binatang, atau barang) dan konsep. Misalnya satu, dua, setengah, seluruh, beberapa dan lain-lain.

5. Kata Ganti (Pronomina)
Kata ganti adalah kata yang berfungsi menggantikan orang, benda atau sesuatu yang dibendakan. Misalnya aku, saya, dia, mereka dan lain-lain.

6. Kata Keterangan (Adverbia)
Kata keterangan adalah kata yang memberi keterangan pada kata lainnya. Misalnya alangkah, amat, barangkali, belum, terlampau, diam-diam dan lain-lain.

7. Kata Tunjuk (Demonstrativa)
Kata tunjuk adalah kata yang dipakai untuk menunjuk atau menandai orang atau benda secara khusus. Misalnya ini, itu, berikut, di sini dan lain lain.

8. Kata Tanya (Interogativa)
Kata tanya adalah kata yang digunakan untuk menanyakan sesuatu, berdasarkan jenis dan pemakaiannya. Misalnya apa, apakah, bagaimana, mengapa dan lain-lain.

9. Kata Sandang (Artikula)
Kata sandang adalah kata yang dipakai untuk membatasi kata benda. Misalnya sang, si, kaum, umat dan lain-lain.

10. Kata Depan (Preposisi)
Kata depan adalah kata tugas yang berfungsi sebagai unsur pembentuk frasa preposisional. Misalnya di, ke, dari, untuk, oleh dan lain-lain.


11. Kata Seru (Interjeksi)
Kata seru adalah kata tugas yang mengunggapkan rasa hati manusia. Misalnya aduhai, amboi,asyik, alhamdulillah dan lain-lain.

12. Kata Penghubung (Konjungsi)
Kata penghubung adalah kata tugas yang menghubungkan dua klausa, kalimat, atau paragraf. Misalnya dan, atau, tetapi, sebab, karena dan lain-lain.

13. Kata Ulang (Reduplikasi)
Kata ulang adalah kata yang mrngalami proses pengulangan. Misalnya mobil-mobil, sayur-mayur, warna-warni, tolong-menolong dan lain-lain.

Setiap bahasa memiliki kelas kata yang berbeda-beda, kelas kata untuk bahasa Yunani telah didefinisikan oleh Dionysius Thrax pada tahun 100 SM yang terdiri atas delapan kelas kata, yaitu : noun, verb, pronoun, preposition, adverb, conjunction, particle, dan article.

Saat ini kelas kata untuk berbagai bahasa telah dikembangkan untuk keperluan komputerisasi, salah satunya adalah Penn Treebank oleh LINC Laboratory, Computer and Information Science Department, University of Pennsylvania yang terdiri dari 48 PoS tags.

Lewat PAN Localization Project, khusus untuk bahasa Indonesia telah dikembangkan kelas kata khusus untuk terjemahan ke bahasa Inggris pada tahun 2009 yang terdiri dari 29 PoS tags.

Thursday, 10 September 2009

Membuat Aplikasi Facebook dalam 5 Menit

Bagaimana membuat aplikasi di Facebook ? Paling tidak ada 2 cara, yang pertama kita bisa menggunakan aplikasi yang sudah ada dan tinggal memodifikasinya sekehendak kita. Banyak sekali pilihan aplikasi yang dimaksud, tinggal kita pilih yang sesuai dengan aplikasi yang akan kita buat… dan ini tanpa coding sama sekali.

Bagaimana caranya?

  1. Login facebook
  2. Gunakan Application Builder untuk Facebook.
  3. Klik button yang bertulisan : “Start Creating a New Facebook Application”
  4. Pilih type aplikasi yang akan anda buat, misalnya pool application, Yes/No application atau yang lainnya.
  5. Selanjutnya anda tinggal mengisi form sesuai dengan aplikasi yang dipilih, ikuti perintahnya dan anda sudah membuat sebuah aplikasi facebook !

Tentu saja aplikasi yang dibuat hanya terbatas pada type yang sudah disiapkan. Bagaimana jika kita ingin membuat aplikasi yang lebih dari itu? Kita gunakan cara kedua …

Sulitkah ? Tidak sama sekali…
Untuk membuat aplikasi bebas sesuai kehendak kita, ada tambahan yang kita butuhkan, yaitu tempat hosting dimana kita akan menyimpan aplikasi kita. Sekarang banyak tempat hosting yang gratisan… silahkan googling dan daftar disana, salah satunya bisa anda gunakan 0fees.net.

Untuk mengetahui lebih lengkap bagaimana cara membuat aplikasi facebook, silahkan kunjungi : herrysujaini.blogspot.com.

Untuk sekedar mencoba membuat aplikasi facebook dalam 5 menit, anda dapat melakukan langkah-langkah berikut :

  1. Login facebook anda.
  2. Buat sebuah file dengan menggunakan text editor
  3. Ketik code dibawah ini di editor anda
  4. Simpan file anda dengan nama whatever.php (silahkan ganti whatever dengan nama apa saja)
  5. Buka alamat http://apps.facebook.com/inicumacontoh/
  6. Klik link “Kirimkan File” dan kirimkan file whatever.php
  7. Selamat … anda sudah membuat sebuah aplikasi facebook.

Untuk melihat hasil aplikasi anda, buka alamat http://apps.facebook.com/inicumacontoh/whatever.php (sesuaikan “whatever” dengan nama fle anda).

Selamat mencoba.

Wednesday, 9 September 2009

Hati-hati, Serangan Mendekati Para Blogger

Menulis di blog, pada umunya diawali dengan niat mulia, berbagi pengalaman, pengetahuan dan lain-lain. Tujuan ngeblogpun bermacam-macam, mulai dari ingin menumpahkan pengalaman, ingin mencari teman baru, mencari peluang bisnis online di internet dan berbagai alasan lainnya.

Dengan niat dan tujuan yang mulia ini, rupanya sang pengganggu manusia tidak tinggal diam, dimulailah serangan-serangan mautnya kepada para blogger.

Serangan pertama dilakukan dengan senjata "sombong". Para blogger diberi bisikan-bisikan maut...
"Betapa hebatnya anda... coba lihat statistik pengunjung blog anda... berapa banyak yang membacanya... berapa banyak orang yang memberikan komentar salut dengan tulisan anda... Ayo tulislah bahwa anda itu hebat...". Blogger yang terkena rayuan ini serta merta akan memproklamirkan kehebatannya... dan jatuhlah dia kedalam jerat "sombong" dari "si hitam".

Berbekal tujuan yang baik, beberapa blogger dapat menangkis senjata pertama ini. Namun "si hitam" tak menyerah begitu saja, dilancarkannya kembali senjata keduanya, yaitu senjata "riya". Rayuan maut lewat bisikan-bisikannya kepada para blogger...
"Mmm... anda benar-benar mulia, anda tidak pernah menyombongkan kehebatan anda meskipun anda itu hebat... Banyak sekali pahala yang anda dapatkan dengan membagi pengalaman dan pengetahuan anda ke orang lain... Tunjukkanlah kepada orang lain bahwa anda sudah banyak memiliki amal-amal... ". Blogger yang terkena rayuan ini serta merta akan memproklamirkan amal-amalnya ... dan jatuhlah dia kedalam jerat "riya" dari "si hitam".

Saat para blogger dapat mengelakkan serangan kedua ini... "si hitam" segera mengeluarkan serangan pemungkasnya, yaitu senjata "ujub". dihampirinya sang blogger seraya menembakkan senjata andalannya. "Anda benar-benar blogger sejati, tidak sombong dan tidak pernah ingin memperlihatkan amal-amal anda... Ketahuilah... aku mengakui kehebatan anda... tanamkanlah dihati anda... bahwa anda benar-benar hebat. Orang lain tidak perlu tahu anda itu hebat, tapi anda benar-benar harus meraasa lebih baik dari orang lain, bangga dan senang dengan diri anda, senang dengan yang anda ucapkan, yang anda perbuat hingga meremehkan orang lain.."

Mudah-mudahan kita semua,... terutama diri saya pribadi dapat selalu menangkis serangan-serangan ini. Amiiin ya Rab...

Tuesday, 8 September 2009

Filsafat dan Kualitas Penelitian

Sebelum melihat sejauh mana hubungan antara filsafat dengan kualitas peneltian, tentu saja harus dilihat dulu tolok ukur untuk menentukan suatu penelitian dikatakan berkualitas atau tidak.

Beberapa hal yang menjadi tolok ukur kualitas suatu penelitian adalah :
1. Orisinalitas
Orisinalitas merupakan sesuatu yang mutlak dalam suatu penelitian. Setinggi apapun kualitas suatu penelitian tidak akan dapat diterima jika itu merupakan suatu karya penelitian yang sebenarnya dilakukan oleh orang lain.
Banyak yang mengatakan bahwa salah satu ciri dari hasil penelitian yang berkualitas adalah jika penelitian tersebut telah dipublikasikan di tingkat nasional maupun internasional, dalam hal ini pempublikasian tersebut sangat berkaitan erat untuk menguji originalitas hasil penelitian tersebut.

2. Bersifat universal
Hasil penelitian sebaiknya bersifat universal, walaupun dilakukan dalam skala yang khusus, tapi hasil penelitian sebaiknya dapat digunakan secara umum, tidak hanya memiliki kebenaran dalam kondisi-kondisi khusus saja. Hasil penelitian harus dapat dapat diuji kebenarannya dalam kondisi yang berbeda-beda.
Dengan demikian hasil penelitian harus bersifat Logis atau masuk akal, Obyektif atau sesuai dengan fakta, Sistematis yaitu adanya konsistensi dan keteraturan internal, Andal, Dirancang, dan Akumulatif.

3. Kebaharuan
Kebaharuan merupakan salah satu tolok ukur kualitas penelitian meskipun bersifat opsional karena tidak semua penelitian memerlukan adanya kebaharuan.


FILSAFAT
Kata falsafah atau filsafat dalam bahasa Indonesia merupakan kata serapan dari bahasa Arab yang juga diambil dari bahasa Yunani; philosophia. Dalam bahasa ini, kata ini merupakan kata majemuk dan berasal dari kata-kata (philia = persahabatan, cinta dsb.) dan (sophia = "kebijaksanaan"). Sehingga arti harafiahnya adalah seorang “pencinta kebijaksanaan”. Kata filosofi yang dipungut dari bahasa Belanda juga dikenal di Indonesia. Bentuk terakhir ini lebih mirip dengan aslinya. Dalam bahasa Indonesia seseorang yang mendalami bidang falsafah disebut "filsuf".
Definisi kata filsafat bisa dikatakan merupakan sebuah problem falsafi pula. Tetapi, paling tidak bisa dikatakan bahwa "filsafat" adalah studi yang mempelajari seluruh fenomena kehidupan dan pemikiran manusia secara kritis. Hal ini didalami tidak dengan melakukan eksperimen-eksperimen dan percobaan-percobaan, tetapi dengan mengutarakan problem secara persis, mencari solusi untuk itu, memberikan argumentasi dan alasan yang tepat untuk solusi tertentu, serta akhir dari proses-proses itu dimasukkan ke dalam sebuah proses dialektik. Dialektik ini secara singkat bisa dikatakan merupakan sebuah bentuk dialog. Untuk studi falsafi, mutlak diperlukan logika berpikir dan logika bahasa.
Filsafat adalah hasil pemikiran dan perenungan secara mendalam tentang sesuatu sampai keakar-akarnya. Sesuatu disini dapat berarti terbatas dan dapat pula berarti tidak terbatas. Bila berarti terbatas, filsafat membatasi diri akan hal tertentu saja. Bila berarti tidak terbatas, filsafat membahas segala sesuatu yang ada dialam ini yang sering dikatakan filsafat umum. Sementara itu filsafat yang terbatas adalah filsafat ilmu, filsafat pendidikan, filsafat seni dan lain-lainnya

Filsafat sangat menekankan pentingnya orisinalitas pemikiran manusia, jika dilihat dari sejarah filsuf-filsuf terkenal, buah pemikiran mereka adalah hasil pemikiran orisinil dari mereka sendiri. Selain itu hasil pemikiran tersebut selalu merupakan hal yang baru sesuai dengan jamannya.

Ciri berpikir filsafat sendiri terdiri atas :
  1. Radikal : berfikir sampai ke akar permasalahan
  2. Sistematik : berfikir yang logis, sesuai aturan, langkah demi langkah, berurutan, penuh kesadaran, dan penuh tanggung jawab
  3. Universal : berfikir secara menyeluruh tidak terbatas pada bagian tertentu tetapi mencakup seluruh aspek.
  4. Spekulatif : berfikir spekulatif terhadap kebenaran yang perlu pengujian untuk memberikan bukti kebenaran yang difikirkannya.

Dari ciri-ciri berpikir filsafat tersebut di atas, tampak jelas bahwa filsafat sangat berhubungan dengan kualitas suatu penelitian yang menuntut orisinalitas, universal, dan kebaharuan. Dengan kata lain kualitas penelitian akan semakin tinggi dengan menggunakan cara fikir filsafat.

Saturday, 5 September 2009

Penerapan Minimax pada Tic Tac Toe

Tic Tac Toe
Tic Tac Toe merupakan permainan yang dimainkan oleh 2 pemain dengan menempatkan ‘buah’ yang berlainan untuk tiap pemain pada kotak 3 x 3. Penempatan ‘buah’ dilakukan secara bergantian sehingga salah satu pemain menjadi pemenang atau seluruh kotak terisi oleh ‘buah’.
Salah satu pemain dikatakan menang jika dapat menempatkan ‘buah’ berjajar sebanyak 3 buah baik secara horisontal, vertikal atau diagonal.

Penerapan Minimax
Dalam permainan ini kita harus berusaha untuk memaksimalkan kemungkinan untuk mencapai kemenangan pemain pertama dan meminimalkan kemungkinan kemenangan lawan (pemain kedua).

Komponen penelusuran dalam aplikasi minimax pada permainan Tic Tac Toe ini adalah :

- Initial State Initial state merupakan keadaan saat pencarian akan dilakukan, pada saat permainan mulai dilakukan (jika pemain pertama jalan pertama), initial statenya adalah :
Initial state selalu berubah saat giliran jalan pemain pertama.

- Operator (rule/ilegal moves)
Operator pada permainan ini adalah pemain dapat meletakkan ‘buah’ nya secara sembarang di kotak yang masih kosong.

- Terminal Test
Terminal Test adalah keadaan dimana komposisi terbaik yang dilakukan pemain pertama setelah diadakan penelusuran.


- Utility Function
Utility function pada permainan ini adalah mencari kemungkinan kemenangan bagi pemain pertama dikurangi dengan kemungkinan kemenangan dari pemain lawan. Pada saat permainan dimulai masing-masing kemungkinan kemenangan tiap pemain adalah 8 yaitu 3 horisontal + 3 vertikal + 2 diagonal.
Contoh pada komposisi :
Kemungkinan kemenangan pemain pertama adalah 6, sedangkan kemungkinan kemenangan pemain kedua adalah 5.
Jadi nilai untuk komposisi di atas adalah 6 – 5 = 1.

Dari keadaan permainan dimulai, graph minimax untuk Two-Ply Search dapat digambarkan sebagai berikut (X = pemain pertama, O = pemain kedua):
Nilai node E sampai P didapat dari utility function yang telah didefinisikan sebelumnya sehingga didapatkan :
E = 6 – 5 = 1
F = 5 – 5 = 0
G = 6 – 5 = 1
H = 5 – 5 = 0
I = 4 – 5 = -1
J = 5 – 4 = 1
K = 6 – 4 = 2
L = 5 – 6 = -1
M = 5 – 5 = 0
N = 5 – 6 = -1
O = 6 – 6 = 0
P = 4 – 6 = -2

Ada sembilan langkah yang mungkin dilakukan oleh pemain pertama karena kotak kosongnya berjumlah 9, tapi pada diagram diatas hanya diambil 3 kemungkinan (node B,C dan D), karena 6 kemungkinan lainnya setara dengan ke-3 komposisi di atas, misalnya :

Dari node B seharusnya didapatkan node anak sebanyak 8 node, dengan mengabaikan node yang setara node anak dari B menjadi E, F, G, H dan I. Dengan cara yang sama didapatkan node anak dari C yaitu J dan K, sedangkan node anak dari D yaitu L, M, N, O dan P.
Karena hanya menggunakan Two-Ply Search, node-node anak dari B, C dan D dicari nilainya, kemudian dicari yang terkecil (min) masing-masing untuk dijadikan nilai B, C dan D. Selanjutnya dicari nilai terbesar (max) dari ketiga nilai tersebut untuk menentukan langkah pemain pertama.
Pada diagram yang digambarkan diatas, node anak dari B bernilai masing-masing E=1, F=0, G=1, H=0 dan I=-1 jadi nilai B diambil yang terkecil yaitu –1.
Node anak dari C bernilai masing-masing J=1 dan K=2 jadi nilai C diambil yang terkecil yaitu 1. Kemudian node anak dari D bernilai masing-masing L=-1, M=0, N=-1, O=0 dan P=-2 jadi nilai C diambil yang terkecil yaitu –2.
Selanjutnya dari nilai node B=-1, C=1, dan D=-2 diambil nilai terbesar yaitu C=1, yang berarti langkah terbaik yang harus dilakukan oleh pemain pertama adalah node C.
Setelah pemain kedua menempatkan buahnya, keadaan saat itu dijadikan initial state dan dilakukan kembali pelacakan dengan langkah yang telah dijelaskan di atas.
Contoh : Misalkan pemain kedua meletakkan buahnya seperti gambar berikut :
Dari keadaan ini, graph minimax untuk Two-Ply Search dapat digambarkan sebagai berikut (X = pemain pertama, O = pemain kedua):

Dari diagram diatas, langkah terbaik yang dapat dilakukan oleh pemain pertama terdapat dua pilihan yaitu B(1) dan D(1).
Demikian seterusnya sampai permainan selesai. Two-Ply Search dapat digunakan kecuali pada keadaan intial state kotak yang kosong tinggal sebuah sebab pemain kedua tidak dapat lagi meletakkan buahnya. Pada keadaan ini (kotak yang kosong tinggal sebuah), langkah pemain juga tidak punya pilihan lagi.