Skip to main content

Script PHP PostgreSQL Database Stemming Input Kata Ke Dalam Database


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 Indonesia 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]

http://bahasa.kemdiknas.go.id/kbbi/index.php

Comments

Post a Comment

Popular posts from this blog

Daftar Kata Dasar Bahasa Indonesia (+30000 kata)

DAFTAR 30000-an kata DASAR DALAM BAHASA INDONESIA update.

a
ab
aba
aba-aba
abad
abadi
abadiah
abah
abah-abah
abai
abaimana
abaka
abaktinal
abakus
abal-abal
aban
abang
abangan
abangga
abar
abatoar
abau
abdas
abdi
abdikasi
abdomen
abdominal
abdu
abduksi
abduktor
abece
aben
aberasi
abet
abian
abid
abidin
abilah
abing
abiogenesis
abiosfer
abiotik
abis
abisal
abiseka
abiturien
abjad
abjadiah
ablasi
ablaut
ablepsia
abnormal
abnormalitas
abnus
aboi
abolisi
abon
abonemen
abong-abong
aborsi
abortif
abortiva
abortus
abrak
abrakadabra
abrar
abras
abrasi
abreaksi
abrek
abreviasi
abrikos
abrit-abrit
abrosfer
absah
absen
absensi
absensia
absente
absenteisme
abses
absis
absolusi
absolut
absolutisme
absonan
absorb
absorben
absorbir
absorpsi
absorpsiometer
absorptif
abstain
abstinensi
abstrak
abstraksi
absurd
absurdisme
abtar
abu
abu-abu
abuan
abuh
abuk
abuk-abuk
abul
abulhayat
abulia
abun-abun
abur
abus
abyad
acah
acak
acak-acakan
acala
acan
acang
acang-acang
acap
acar
acara
acaram
acat
acau
acawi
ac…

PHP Stemmer Bahasa Indonesia

Information Retrieval : Stemming untuk Bahasa Indonesia

Kali ini saya akan membahas tentang Stemming. Tutorial ini sebenarnya merupakan bagian dari tugas yang diberikan pada matakuliah “Sistem Temu Kembali Informasi” atau kalau dalam bahasa inggris disebut juga “Information Retrieval System” atau kalau dalam istilah ilmu komputer sering disebut “Information Retrieval” atau biasa disingkat “IR”.

Lalu apa sih hubungannya IR dengan Stemming, kenapa harus ada stemming dan bagaimana proses stemming itu sendiri? Ok. sebelum kita bahas tutorialnya kita bahas dulu apa itu stemming.

Oke, jadi Stemming merupakan suatu proses untuk menemukan kata dasar dari sebuah kata. Proses stemming dilakukan dengan menghilangkan semua imbuhan (afiks) baik yang terdiri dari awalan (prefiks) sisipan (infiks) maupun akhiran (sufiks) dan kombinasi dari awalan dan akhiran (konfiks). Stemming ini digunakan untuk mengganti bentuk dari suatu kata menjadi kata dasar sesuai dengan struktur morfologi bahasa indonesia y…

Daftar Stop Words List Bahasa Indonesia Download Untuk Dunia Komputer dan Internet (1300 kata) update

DAFTAR STOP WORDS LIST DALAM BAHASA INDONESIA , YANG BANYAK DITEMUI DI INTERNET

1300-an kata dan terus di update.
Jangan Lupa Periksa Daftar Stop Word List dan Sumber Bahan Thesis/Skripsi/Disertasi/Jurnal Ilmiah Tentang Stemming dan Information Retrieval , Link Di Sebelah Kanan Halaman. Selamat Menikmati. Happy Researching!

a
abad
acara
aceh
ada
adalah
adanya
adapun
agak
agaknya
agama
agar
agustus
air
akan
akankah
akhir
akhiri
akhirnya
akibat
aku
akulah
alam
album
amat
amatlah
amerika
anak
and
anda
andalah
anggota
antar
antara
antarabangsa
antaranya
apa
apaan
apabila
apakah
apalagi
apatah
api
april
artikel
artinya
as
asal
asalkan
asas
asia
asing
atas
atau
ataukah
ataupun
australia
awal
awalnya
awam
b
badan
bagai
bagaikan
bagaimana
bagaimanakah
bagaimanapun
bagainamakah
bagi
bagian
bahagian
bahan
baharu
bahasa
bahawa
bahkan
bahwa
bahwasannya
bahwasanya
baik
baiknya
bakal
bakalan
balik
bandar
bangsa
bank
banyak
bapak
barang
barangan
barat
baru
baru-baru
bawah
beberapa
begini
beginian
begi…