Mohon tunggu...
rahmady liyantanto
rahmady liyantanto Mohon Tunggu... -

Mahasiswa

Selanjutnya

Tutup

Nature

Kata Dasar Bahasa Indonesia

26 Mei 2011   01:44 Diperbarui: 26 Juni 2015   05:13 1080
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
Bagikan ide kreativitasmu dalam bentuk konten di Kompasiana | Sumber gambar: Freepik

Dalam tugas akhir yang saya kerjakan untuk menyelesaikan perkuliahan, terdapat proses stemming bahasa indonesia. Stemming adalah proses mencari bentuk kata dasar sesuai aturan dan kaidah bahasa Indonesia yang baku. Stemming merupakan bagian yang tidak terpisahkan dalam Information Retrieval (IR). Algoritma yang saya gunakan dalam proses stemming tersebut adalah algoritma Nazief & Adriani. Algoritma stemming untuk teks berbahasa Indonesia yang memiliki kemampuan prosentase keakuratan (presisi) lebih baik dari algoritma lainnya. Algoritma yang dibuat oleh Bobby Nazief dan Mirna Adriani sangat dibutuhkan dan menentukan dalam proses IR dalam dokumen Indonesia. Proses stemming tersebut sangat bergantung pada kamus kata dasar yang kita miliki. Oleh karena itu, saya melakukan pencarian mengenai kata dasar yang cocok dan lengkap untuk penelitian tersebut. Setelah melalang buana ke server satu ke server lainnya maka saya mendapatkan situs yang bagus yaitu: http://bahtera.org/. Bahtera adalah kamus bahasa Indoensia yang menjadi rujukan sesuai Kamus Besar Bahasa Indonesia. Kata dasar yang terdapat di Bahtera sebanyak 28.526 kata. Silahkan download kata dasar bahasa Indoensia dari Bahtera kata dasar. Untuk memasukkan ke database silahkan gunakan perintah berikut. Disini saya menggunakan PostgreSQL sebagai database. Pertama buat database temapat disimpannya kata dasar tersebut: [sourcecode language="sql"] CREATE TABLE tb_katadasar ( id_katadasar integer NOT NULL, katadasar character varying, tipe_katadasar character varying ); [/sourcecode] Buat file koneksi ke database [sourcecode language="php"] /* --- Untuk Memproteksi halaman agar tidak bisa langsung dibuka --- */ if(eregi('koneksi.php',$_SERVER['PHP_SELF'])){ header('location:../'); } ?> $pg_host="localhost"; $pg_user="postgres"; $pg_password="******"; $pg_database="dbrefita"; $koneksi=pg_connect("host=$pg_host dbname=$pg_database user=$pg_user password=$pg_password") or die ("Koneksi Tidak Sukses !!"); //Transelit Bulan Ke bahasa Indonesia ?> [/sourcecode] sebelumnya ubahlah file kata-dasar .doc menjadi .txt. Kemudian buatlah kode berikut untuk memasukkan ke dalam database. [sourcecode language="php"] require_once("koneksi.php"); $data = file("kata-dasar.txt"); $nomor_data = count($data); //echo $nomor_data; if ($nomor_data ==0){ echo "Tidak ada Data.........."; }else{ for($j=0;$j<$nomor_data;$j++){ $kata2 = $data[$j]; if ($kata2 !=""){ $kataRem=explode(" ",$kata2); //print_r($kataRem); $arrayRem=array(); $arrayTipe=array(); foreach($kataRem as $l => $key){ if((ereg('(',$key))||(ereg(')',$key))){ $valueNo=substr($key,strlen($key)); }else{ $valueNo=trim($key); } //print_r($valueNo); $arrayRem[]=trim(strtolower($valueNo)); if((ereg('(',$key))||(ereg(')',$key))){ $valueNo1=ereg_replace(')','',$key); $valueNo2=ereg_replace('(','',$valueNo1); }else{ $valueNo2=substr($key,strlen($key)); } //print_r($valueNo); $arrayTipe[]=trim(strtolower($valueNo2)); } $gabung=trim(implode(" ",$arrayRem)); $tipe=trim(implode(" ",$arrayTipe)); if($tipe=='n'){ $tipe2='Nomina'; } elseif($tipe=='v'){ $tipe2='Verba'; }elseif($tipe=='adj'){ $tipe2='Adjektiva'; }elseif($tipe=='i'){ $tipe2='Interjeksi'; }elseif($tipe=='pre'){ $tipe2='Preposisi'; }elseif($tipe=='k'){ $tipe2='Konjungsi'; }elseif($tipe=='adv'){ $tipe2='Adverbia'; }elseif($tipe=='l'){ $tipe2='Lain-lain'; }elseif($tipe=='num'){ $tipe2='Numeralia'; }elseif($tipe=='pron'){ $tipe2='Pronomina'; }elseif($tipe=='bt'){ $tipe2='Bentuk terikat'; } else{ $tipe2=$tipe; } //echo $gabung; $sql = "insert into tb_katadasar (katadasar,tipe_katadasar) values('$gabung','$tipe2')"; //echo $sql."; "; $hasil = pg_query($sql); } } } ?> [/sourcecode] Semoga bermanfaat.

Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H

Mohon tunggu...

Lihat Konten Nature Selengkapnya
Lihat Nature Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun