Pengolahan teks mencakup:
- Information retrieval: pencarian dokumen
- Klasifikasi dokumen: membagi dokumen ke dalam kelas-kelas yang telah ditentukan sebelumnya. Misalnya secara otomatis dapat menentukan apakah dokumen ini masuk ke dalam kategori politik, ekonomi, militer dan lain sebagainya.
- Document Clustering: mirip dengan klasifikasi dokumen, hanya saja kelas dokumen tidak ditentukan sebelumnya. Misalnya berita tentang lalulintas dapat menjadi satu kelas dengan berita tentang kriminal karena didalamnya banyak memuat tentang orang yang tewas, cedera, rumah sakit dsb.
- Peringkasan teks. Menghasilkan ringkasan suatu dokumen secara otomatis.
- Ekstraksi informasi. Mengekstrak informasi yang dianggap penting dari suatu dokumen. Misalnya pada dokumen lowongan, walaupun memiliki format beragam dapat diekstrak secara otomatis job title, tingkat pendidikan, penguasaan bahasa dsb.
Berikut ini contoh pengolahan teks sederhana dengan menghitung jumlah kata yang sama
Buat class java untuk menyeting format tampilan tabel
ModelTabel.java
|
public final class ModelTabel extends
AbstractTableModel {
private
String[] colNames = {"",""};
private
Object[][] data = new Object[1][2];
private
int count;
public
ModelTabel(){
}
public ModelTabel(Vector
v, Vector d) {
int
vs, ds=0;
vs =
v.size();
ds =
d.size();
colNames[0] = "Kata";
colNames[1] = "Jumlah Kata";
data =
new Object[vs][2];
try{
this.setData(v, d, vs);
}
catch(Exception e){
JOptionPane.showMessageDialog(null,"Format Data tidak sama
!!","Message",JOptionPane.INFORMATION_MESSAGE);
data = new Object[vs][2];
}
}
public
ModelTabel(Vector v) {
int
vs;
vs =
v.size();
colNames[0] = "No";
colNames[1] = "Nama File";
data =
new Object[vs][2];
try{
this.setData(v, vs);
}
catch(Exception e){
JOptionPane.showMessageDialog(null,"Format Data tidak sama
!!","Message",JOptionPane.INFORMATION_MESSAGE);
data = new Object[vs][2];
}
}
@Override
public int
getRowCount() {
return
data.length;
}
@Override
public int
getColumnCount() {
return
colNames.length;
}
@Override
public
String getColumnName(int col) {
return
colNames[col];
}
@Override
public
Object getValueAt(int rowIndex, int columnIndex) {
return
data[rowIndex][columnIndex];
}
@Override
public
void setValueAt(Object value, int row, int col) {
data[row][col] = value;
fireTableCellUpdated(row,col);
}
public
void setData(Vector v, Vector d, int j){
int i;
for(i=0; i<j; i++){
data[i][0] = v.elementAt(i);
data[i][1] = d.elementAt(i);
}
count
= i;
}
public
void setData(Vector v, int j){
int i;
for(i=0; i<j; i++){
data[i][0] = i+1;
data[i][1] = v.elementAt(i);
}
count
= i;
}
}
|
Berikut potongan source code untuk membaca teks dari file
void bacaText( String f) {
taText.setText("");
BufferedReader
fileReader ;
//proses pembacaan
File file = new File(f);
try{
byte[] buffer = new
byte[1024];
BufferedInputStream
bufferedInput = new BufferedInputStream(new FileInputStream(f));
int bytesRead = 0;
while ((bytesRead =
bufferedInput.read(buffer)) != -1) {
String kt = new
String(buffer, 0, bytesRead);
taText.append(kt);
}
bufferedInput.close();
} catch(IOException
io){
JOptionPane.showMessageDialog(null,"File not support
!!","Message",JOptionPane.INFORMATION_MESSAGE);
}
catch(NoSuchElementException e){
JOptionPane.showMessageDialog(null,"Format tidak sama
!!","Message",JOptionPane.INFORMATION_MESSAGE);
}
}
|
Berikut potongan source code untuk membaca teks dari file beserta menghitung kata
private void
bacaIsiFile(String path){
Vector dataKata = new
Vector();
Vector jumkata = new
Vector();
int count=0, loop=0;
BufferedReader
fileReader ;
StringTokenizer st;
File file = new
File(path);
try{
fileReader = new
BufferedReader(new FileReader(file));
while(true){
String line =
fileReader.readLine();
// taText.append(line);
if (line ==
null)
break ;
line =
line.replace(".", " ");
line =
line.replace("/", " ");
line =
line.replace("(", " ");
line =
line.replace(")", " ");
line =
line.replace(",", " ");
line =
line.replace("<", " ");
line =
line.replace(">", " ");
line =
line.replace("?", " ");
line =
line.replace("\'", " ");
line =
line.replace("\"", " ");
line =
line.replace("!", " ");
line =
line.replace("@", " ");
line =
line.replace("#", " ");
line =
line.replace("$", " ");
line =
line.replace("&", " ");
line =
line.replace(":", " ");
line = line.replace(";", "
");
line =
line.replace("[", " ");
line =
line.replace("]", " ");
line =
line.replace("{", " ");
line =
line.replace("}", " ");
line =
line.replace("\\", " ");
line =
line.replace("|", " ");
line =
line.replace("+", " ");
line =
line.replace("=", " ");
line =
line.replace("-", " ");
line =
line.replace("*", " ");
line =
line.replace("^", " ");
line =
line.replace("%", " ");
line =
line.replace("`", " ");
line =
line.replace("~", " ");
st = new
StringTokenizer(line);
while(st.hasMoreTokens()){
count = 1;
String kt =
st.nextToken();
kt=kt.toLowerCase();
if
(kt.equals(":")||kt.equals("|")||kt.equals("?"))
continue;
else {
if(dataKata.isEmpty()){
dataKata.add(kt);
jumkata.add(loop, 1);
} else{
for(int i=0; i<dataKata.size(); i++){
if(kt.equalsIgnoreCase(dataKata.get(i).toString())){
count = Integer.parseInt(jumkata.get(i).toString());
count++;
jumkata.set(i, count);
}
}
if(count==1){
dataKata.add(kt);
loop++;
jumkata.add(1);
}
}
}
}
}
tblKata.setModel(new ModelTabel(dataKata,jumkata));
this.tulisText(dataKata, jumkata, path.substring(0,
path.length()-4)+"_hasil"+path.substring(path.length()-4,path.length()));
} catch(IOException
io){
JOptionPane.showMessageDialog(null,"No file
!!","Message",JOptionPane.INFORMATION_MESSAGE);
} catch(NoSuchElementException
e){
JOptionPane.showMessageDialog(null,"Format tidak sama
!!","Message",JOptionPane.INFORMATION_MESSAGE);
}
}
|
Berikut potongan source code untuk menulis teks ke file
private void
tulisText(Vector kt,Vector jum,String target){
String line ;
PrintWriter fout = null
;
File file1 = new
File(target);
try{
fout = new
PrintWriter(new FileWriter(file1));
fout.flush();
for(int
i=0;i<kt.size();i++){
fout.println(kt.elementAt(i).toString()+" =
"+jum.elementAt(i).toString()+"\n");
}
fout.close();
} catch(Exception e){
JOptionPane.showMessageDialog(null,"File tidak dapat dituliskan
!!","Message",JOptionPane.INFORMATION_MESSAGE);
fout.close();
}
}
|
Membuat Aplikasi Pengolahan Teks Menggunakan Pemrograman Java NetBeans
Reviewed by antkecil
on
21:12
Rating:

No comments: