Saat saya membuat tools untuk eksperimen tesis, ada beberapa class Java yang paling sering digunakan. Class tersebut adalah:
- Scanner untuk membaca file teks dan memparsing kalimat menjadi kata.
- Printwriter untuk menulis file teks. Sangat dianjurkan untuk menyimpan hasil proses ke file pada setiap tahap.
- HashMap untuk menyimpan informasi yang berkaitan dengan kata. Misalnya probabilitas dan frekuensi kemunculan kata. Mengapa HashMap? karena waktu untuk menambah dan mengambil data dari struktur ini tetap dan saya tidak membutuhkan keterurutan.
Berikut contoh pemakaian ketiga class tersebut untuk menghitung frekuensi kata di dalam dokumen dan menuliskannya ke file:
import java.io.*;
import java.util.HashMap;
import java.util.Scanner;
import java.util.Map;
public class HitungFrek {
public static void main(String[] Args) {
HashMap<String,Integer> countWord = new HashMap<String,Integer>(); //frekuensi word di document
String namaFileInput = "c:\\tes.txt";
String namaFileOutput = "c:\\freq.txt";
Integer freq;
String kata;
File f = new File(namaFileInput);
try {
Scanner sc = new Scanner(f);
//hitung frekuensi
while (sc.hasNext()) {
kata = sc.next();
freq = countWord.get(kata); //ambil kata
//jika kata itu tidak ada, isi dengan 1, jika ada increment
countWord.put(kata, (freq == null) ? 1 : freq + 1);
}
sc.close();
//simpan hasilnya ke file teks
PrintWriter pw = new PrintWriter(namaFileOutput);
//loop untuk semua isi countWord
for (Map.Entry<String,Integer> entry : countWord.entrySet()) {
kata = entry.getKey();
freq = entry.getValue();
pw.println(kata+"="+freq); //tulis ke file
}
pw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Tags: java





6 Juli 2008 pada 10:38 am
GOOODDDDD!
9 Juli 2008 pada 8:22 am
pak, saya sewaktu semester 5 kemarin membuat aplikasi untuk menentukan derajat keterhubungan barang di swalayan dalam rangka UAS System Informasi, misal jika membeli HP, konsumen cenderung membeli Memory Card juga. tetapi tidak sebaliknya. Membeli MC tidak cenderung membeli HP.
Jika di hubungkan dengan aplikasi text processing bapak mungkin dapat dijadikan untuk mengolah derajat keterhubungan kata dalam suatu kalimat… mungkin.
tetapi fungsinya, BUKAN, misal: probabilitas munculnya kata “kamu” setelah kata “aku” adalah n%. TETAPI : probabilitas munculnya kata “kamu”, jika didalam kalimat tersebut ada kata “aku” adalah n%.
mungkin tidak terlalu berguna, tetap mungkin berguna…. sebab saya tidak mengetahui nanti fungsinya intinya jadi apa :p
any way, saya kirim filenya ke email bapak.
9 Juli 2008 pada 9:16 am
Maksudnya? Coba dijelaskan lagi
12 Juli 2008 pada 3:49 am
maaf pak idenya muncul prematur, saya sempurnakan dulu.