PEMBUATAN APLIKASI SERVER INLINE TRANSLATOR DENGAN TEKNOLOGI WEB SERVICE
Nama : Novi Tri Nuraini NRP : 5206 100 073 Dosen Pembimbing : Dr. Eng Febriliyan Samopa, S.Kom, M.Kom
Jurusan Sistem Informasi – Fakultas Teknologi Informasi
Bab 1 PENDAHULUAN
Latar Belakang Pada saat ini telah banyak beredar kamus – kamus elektronik dan situs - situs menyediakan jasa penerjemahan. Namun hasil penerjamahan dari kamus – kamus elektronik tersebut belum dapat memberikan arti kata yang sesuai dengan konteks kalimat dari dokumen tersebut. Sehingga pengguna harus menyesuaikan arti kata dengan literatur yang dibaca. Dan pengguna membutuhkan waktu yang lebih banyak untuk mengerti kata yang dimaksudkan.
Rumusan Permasalahan Bagaimanakah mengolah data dan memberikan informasi terjemahan yang sesuai dengan konteks kalimat kepada pengguna menggunakan web service?
Batasan Permasalahan • Aplikasi yang dibuat berupa server untuk pengolahan data. • Aplikasi didesain untuk mengirimkan informasi ke aplikasi client berupa hasil terjemahan dan kategori. • Aplikasi hanya mampu mengartikan kata sesuai dengan hasil terjemahan yang diberikan oleh Google Translator API. • Aplikasi dibangun dengan teknologi Web Service berbasis RESTful (Representational State Transfer) pada platform J2EE. • Aplikasi yang dibangun menghasilkan data dari proses potter stemmer dan naive Bayesian classifier
Tujuan membuat sebuah aplikasi server penerjemah berbasis web yang dapat menerjemahkan bahasa inggris ke bahasa Indonesia sesuai dengan konteks kalimat sehingga aplikasi client yang mengakses aplikasi tersebut dapat memperoleh nilai tambah.
Manfaat memberikan contoh sistem pengolahan informasi terjemahan kata dengan pendekatan arti yang sesuai konteks kalimat menggunakan web service. Selain itu, dapat menjadikan nilai tambah untuk add ons atau aplikasi web yang mengakses aplikasi ini.
Bab 2 TINJAUAN PUSTAKA
• • • • • • •
• • • •
Naive Bayesian Classifier Potter Stemming Algorithm Google Translate Glassfish REST (Representational State Transfer) JAX RS J2EE (Java 2 Platform Enterprise Edition) JPA XML MYSQL QUARTZ
Bab 3 METODOLOGI PENELITIAN
1. Identifikasi Masalah 2. Menetapkan Tujuan dan Batasan Masalah 3. Studi Literatur 4. Analisa Kebutuhan Sistem 5. Perancangan Sistem Aplikasi 6. Pembuatan Sistem Aplikasi 7. Uji Coba dan Evaluasi Sistem 8. Pembuatan Laporan
Bab 4 ANALISA KEBUTUHAN DAN PERANCANGAN PERANGKAT LUNAK
Tahapan Analisa Tabel 4.1 Perbandingan Aplikasi Penerjemah Inbahasa.com Teks
Translate.google.com
How To Obtain Car Insurance Without License
Hasil bagaimana untuk surat Cara mendapatkan asuransi izin tanpa asuransi mobil tanpa lisensi mobil mendapat Penambahan Parameter : Teks
How To Obtain Car Insurance Without License Driving Hasil bagaimana untuk surat Cara Mendapatkan izin tanpa asuransi mobil Asuransi Mobil Tanpa mendapat mengemudi Izin Mengemudi
PERANCANGAN PERANGKAT LUNAK class Domain Model
Word
master
translate
category
PERANCANGAN PERANGKAT LUNAK (Cont’d) class Update Domain Model
master
Word
training
translate
category
Report
Temp User
custom Functional Requirements
PERANCANGAN PERANGKAT LUNAK (Cont’d) (REQUIREMENT)
mengotomati sasi update data trai ni ng
Si stem akan memberi kan informasi arti kata yang dii ngi nkan bai k dengan kategori maupun tanpa kategori. mengubah i nformasi pengguna Menghapus i nformasi pengguna
memberi kan hak otori tas
Menyi mpan informasi pengguna baru
manaj emen rutin
memberikan informasi arti kata
mengubah pengguna
Memberhentikan akun
identifikasi pengguna
pendaftaran pengguna
menambah data trai ning manaj emen data training memperbarui probabi l i tas
PERANCANGAN PERANGKAT LUNAK (Cont’d)
custom Non-Functional ... pengiriman data cepat dan stabil
pengolahan data maksimal
uc InLine translator System
PERANCANGAN PERANGKAT LUNAK (Cont’d)
Inline Translator System
identifikasi pengguna Manajemen Rutin
System «precedes» Pendaftaran Pengguna
memasukkan kata
«precedes»
(USE CASE DIAGRAM)
Administrator,Pengisi data
memberikan informasi arti kata
«extend»
membaca hasil terjemahan
Manajemen data training
Mengubah Pengguna
menghentikan akun «extend»
Pengguna Data
PERANCANGAN PERANGKAT LUNAK (Cont’d)
(ROBUSTNESS DIAGRAM)
analysis identifikasi pengguna
tampilkan empty data [tidak]
[iya] Administrator,Pengisi data
identifikasi
cari pengguna
username,password
user
kirim data pengguna
PERANCANGAN PERANGKAT LUNAK (Cont’d) analysis pendaftaran pengguna
daftar
baca input
pendaftaran
Administrator, pengisi data
user
Kirim pesan
PERANCANGAN PERANGKAT LUNAK (Cont’d) analysis Memberhentikan akun
berhenti pengisi data
baca input
hapus pengguna
user
kirim pesan
PERANCANGAN PERANGKAT LUNAK (Cont’d) analysis Memberikan informasi arti kata
proses klasifikasi [iya] pengguna data
informasi arti kata Membaca input
master
apakah ada 3parameter atau 2parameter(ada [tidak] "category")?
kirim kata
Google Translate tampilkan hasil
PERANCANGAN PERANGKAT LUNAK (Cont’d) analysis Manajemen data training
Administrator,Pengisi data
temp
training Membaca input dataapakah input berupa teks?
tambah status "input data"
input data
input finished
report
kirim pesan "system busy"
cek report terakhir ada proses update??
tambah status "update data"
retraining
update data
word
kirim pesan "update finished"
PERANCANGAN PERANGKAT LUNAK (Cont’d) analysis Mengubah Pengguna
Administrator
pengguna
detail pengguna
edit pengguna
delete pengguna
user
PERANCANGAN PERANGKAT LUNAK (Cont’d) analysis Manaj emen Rutin
job System
input status "system maintanance
report
eksekusi job berdasarkan waktu
word
input status ke tabel report "maintainance finished"
ubah data
master
PERANCANGAN PERANGKAT LUNAK (Cont’d) SEQUENCE DIAGRAM sd identifikasi pengguna
administrator, pegisi data
indentifikasi
cari pengguna
kirim data pengguna
user
akses()
load(username, password)
select(username)
getXml(listUser)
getXml(null)
set Listuser(username, firstname, lastname, password, status)
PERANCANGAN PERANGKAT LUNAK (Cont’d) SEQUENCE DIAGRAM sd Pendaftaran Pengguna
Administrator, Pengisi data
akses()
daftar
baca input
pendaftaran
read(username, password, firstname, lastname) setlistUser(username, password, firstname, lasname, status)
getT ext("Registration 'username' succeed ") insert(listuser)
HT T P 500(no transaction is currectly active)
user
PERANCANGAN PERANGKAT LUNAK (Cont’d) SEQUENCE DIAGRAM sd Pendaftaran Pengguna
Administrator, Pengisi data
akses()
daftar
baca input
pendaftaran
read(username, password, firstname, lastname) setlistUser(username, password, firstname, lasname, status)
getT ext("Registration 'username' succeed ") insert(listuser)
HT T P 500(no transaction is currectly active)
user
PERANCANGAN PERANGKAT LUNAK (Cont’d) SEQUENCE DIAGRAM sd Memberhentikan Akun
pengisi data
pengguna
detail pengguna
hapus pengguna
user
akses()
search(username) call(listUser)
pilih(delete)
delete(username)
PERANCANGAN PERANGKAT LUNAK (Cont’d)
SEQUENCE DIAGRAM
sd Memberikan informasi arti kata
pengguna
informasi arti kata
membaca input
Apakah berisi 3parameter
panggil()
Apakah berisi 2parameter (keterangan ="category")
proses klasifikasi
kirim
master
google translate
read()
cek()
classify(selectedword+" "+followedword) get(word) get(category) sendWord(originalword+" "+caegory) get(result)
getXml(result, category) read() cek() classify(text)
get(category)
sendWord(text+" "+category) get(result)
getXml(result, category)
get(text) sendWord(text)
getXml(result)
PERANCANGAN PERANGKAT LUNAK (Cont’d)
SEQUENCE DIAGRAM
sd Manaj emen data training
Admi nistrator,Pengisi Data
trai ni ng
i nput data
cek i nput
retrai ni ng
report
temp
panggil () expand(ti me) read()
check()
trai ning(username)
i nsert(ussername, l ogti me, status) sel ect(l istWord)
update()
i nput(kata, category)
Basi c Fl ow : 1. Admi ni strator, Pengi si Data melakukan i nput data berupa kata - kata ke dalam tabel temp 2. si stem mel akukan proses retrai ni ng dari tabel temp ke tabel word
word
PERANCANGAN PERANGKAT LUNAK (Cont’d)
SEQUENCE DIAGRAM
sd Ubah Pengguna
Administrator
pengguna
detail pengguna
edit pengguna
hapus pengguna
user
akses()
request(listuser)
respon(llistuser)
pilih(edit)
update(password)
pilih(delete)
delete(username)
PERANCANGAN PERANGKAT LUNAK (Cont’d) class Data Model
DATA MODEL User
Domain Classes are buffered from Database Tables by Data Access Objects (DAOs)
«interface» UserDao + + + + + +
insert(User) : void update(User) : void delete(User) : void getById(String) : User getByUsername(String) : List getAll() : List<User>
Table : User «column» *PK username * firstname * lastname * password * status «PK» + PK_pengguna()
Master
Report
«interface» ReportDao + insert(Report) : void + getAll() : List
+ getLastReport(String) : List
Table : Report «column» *PK id_report username logtime message «PK» + PK_Table : Report()
«interface» MasterDao + + + +
insert(Master) : void update(Master) : void getProbMaster(String, String) : BigDecimal getProb(String, String) : List
Table : Master
word
Temp
«interface» WordDao + insert(Word) : void + updateWord(String, String, int) : void + getAll() : List<Word>
Table : Word
«column» *PK id_master word * category freq prob
«column» *PK id_word word freq prob * category
«PK» + PK_Table : Master()
«PK» + PK_Word()
Category
«interface» TempDao + + + + +
insert(Temp) : void update(String, String, int) : void getByWord(String) : Temp getByWordCat(String, String) : List findAllWord() : List
Table : Temp «column» *PK id_temp word freq * category «PK» + PK_Table : Temp()
«interface» CategoryDao + + + + +
insert(Category) : void update(Category) : void delete(Category) : void getByCategory(String) : Category getAll() : List
Table : Category «column» *PK category meaning «PK» + PK_Table : Category()
PERANCANGAN PERANGKAT LUNAK (Cont’d)
class Class M odel
Seri alizable
Seri ali zable
TranslateText
Master
Report -
seri alVersionUID: long = 1L {readOnl y} i dReport: Long username: String m essage: String l ogtim e: Date
+ + + + + + + + + + + + + +
Report() Report(Long) Report(Long, Date) getIdReport() : Long setIdReport(Long) : void getUsername() : String setUsername(String) : voi d getM essage() : String setM essage(String) : voi d getLogtime() : Date setLogtime(Date) : void hashCode() : i nt equals(Obj ect) : bool ean toString() : String
-
seri alVersionUID: long = 1L {readOnl y} idM aster: Long category: String word: Stri ng freq: Bi gInteger prob: BigDecim al
+ + + + + + + + + + + + + + +
Master() Master(Long) getIdMaster() : Long processClassi fy(Stri ng[]) : Stri ng setIdMaster(Long) : void getCategory() : Stri ng setCategory(Stri ng) : void getWord() : Stri ng setWord(String) : void getFreq() : Bi gInteger setFreq(Bi gInteger) : void getProb() : BigDecimal setProb(BigDecim al) : voi d hashCode() : int equals(Obj ect) : boolean toString() : Stri ng
-
serialVersi onUID: long = 1L {readOnly} from : Language = Language.ENGLISH to: Language = Language.INDONESIAN
+
T ranslateWord(String) : Stri ng
CLASS MODEL DataCategory TranslateResource
Seri ali zable Category -
serialVersi onUID: long = 1L {readOnly} category: Stri ng m eani ng: Stri ng
+ + + + + + + + +
Category() Category(Stri ng) getCategory() : Stri ng setCategory(String) : voi d getMeaning() : Stri ng setMeaning(String) : voi d hashCode() : i nt equals(Object) : bool ean toString() : String
-
context: UriInfo
+ + + +
T ranslateResource() getXml(Stri ng, String, String) : Xm lT ranslate processClassify(Stri ng[]) : Stri ng getXml(Stri ng) : XmlT ranslate getXml(Stri ng, String) : Xml T ransl ate
Serial izabl e
Serial izabl e
Seri ali zable
Word
User -
serial Versi onUID: l ong = 1L {readOnly} username: String password: String status: String fi rstnam e: Stri ng lastnam e: Stri ng
-
serial Versi onUID: l ong = 1L {readOnly} idWord: Long category: String word: String freq: BigInteger prob: Bi gDecimal
+ + + + + + + + + + + + + + +
User() User(Stri ng) getUsernam e() : Stri ng setUsernam e(Stri ng) : void getPassword() : Stri ng setPassword(String) : void getStatus() : String setStatus(String) : voi d getFirstname() : String setFirstname(String) : voi d getLastname() : String setLastname(String) : voi d hashCode() : int equal s(Object) : boolean toStri ng() : Stri ng
+ + + + + + + + + + + + + + +
Word() Word(Long) getIdWord() : Long setIdWord(Long) : void getCategory() : String setCategory(String) : voi d getWord() : String setWord(Stri ng) : void getFreq() : BigInteger setFreq(BigInteger) : voi d getProb() : Bi gDeci mal setProb(Bi gDeci mal ) : void hashCode() : int equal s(Object) : boolean toStri ng() : String
Temp
TrainingResource -
context: Uri Info
+ + +
T rai ningResource() getXm l(String, Stri ng, String) : Xml T raining getXm l(String) : Xm lT raining
DataCategory Feature ~ ~
appear: Map <String, Integer> feature: Map <String, Integer> words: titikInt ([][]) l ist: Stri ng ([]) wrds: String ([]) countwords: int = 0 scanner: Scanner connect: ConnectDb = new ConnectDb()
+ + +
Feature() sel ectWord() : void l earn_bayes() : void m ain(String[]) : void
-
seri alVersionUID: long = 1L {readOnl y} word: Stri ng freq: Integer i dT emp: Long category: Stri ng
+ + + + + + + + + + + + + +
T em p() T em p(Long) T em p(Long, String) getWord() : Stri ng setWord(String) : voi d getFreq() : Integer setFreq(Integer) : voi d getIdT emp() : Long setIdT emp(Long) : voi d getCategory() : Stri ng setCategory(Stri ng) : void hashCode() : i nt equals(Obj ect) : boolean toString() : String
Bab 5 IMPLEMENTASI DAN UJI COBA SISTEM
IMPLEMENTASI SISTEM Lingkungan Implementasi Tabel 5. 1 Spesifikasi perangkat keras dan sistem operasi pada komputer pembuatan aplikasi Aplikasi
Perangkat Keras
Web Service Laptop Basis Data Spasial
Spesifikasi Prosesor : Intel Pentium
Dual Core CPU T4300 @2,10GHz Memori : 2.00 GB RAM Sistem Operasi : MS
Windows XP3
Tabel 5. 2 Spesifikasi perangkat keras dan sistem operasi pada komputer server Aplikasi
Perangkat Keras
Spesifikasi
Komputer Server
Prosesor : Intel (R) Xeon (R) CPU E3110 @ 3.00GHz Memori : 1.00 GB RAM Sistem Operasi : Ubuntu Release 10.04 (Lucid)
Web Service
Basis Data Spasial
IMPLEMENTASI SISTEM (cont’d) Lingkungan Implementasi Tabel 5. 3 Perangkat lunak yang digunakan untuk implementasi sistem Aplikasi
Web Service
Teknologi
Versi
Web Server
Glassfishv3.0.1
Development Kit
OpenJDK 1.6.0-23
Editor
Netbeans 6.8 bundle
Bahasa Pemrograman
Java
RESTful Framework
JSR 311
Persistence Provider
EclipseLinkJPA2.0
Sistem Basis Data
MySQL5
Editor
Xampp for windows dan Lampp for Linux
Basis Data Spasial
IMPLEMENTASI SISTEM (cont’d) Konfigurasi Web Server (GLASSFISH) 1. Pengaturan JVM http://localhost:4848 dengan menambahkan path environment variable. JAVA_HOME : C:\Program Files\Java\jdk1.6.0_23 2. Pengaturan network listener. IP Address dan Port diatur agar aplikasi inlinetransproject dapat diakses oleh pengguna lain dari pc maupun laptop yang berbeda. 3. Deploy Aplikasi Aplikasi yang akan di deploy berupa file *.war. File .war di copy ke dalam folder glassfish/bin. Deploy dapat dilakukan melalui terminal asadmin.bat>deploy inlinetrans.war atau melalui administrator console – application kemudian browse file *.war tersebut dan pilih “ok”.
IMPLEMENTASI SISTEM (cont’d) Konfigurasi Basis Data
1.Setting Connection Pool 2. Setting JDBC Resources > JNDI (Java Naming Directory Interface)
IMPLEMENTASI SISTEM (cont’d) Implementasi REST Web Service
Nama folder
Nama File
Api
TrainingResource.java Merupakan package yang berisi method – method JAX RS dalam TranslateResource.java pembuatan REST webservice dan proses – proses yang ada di dalam UserManageResource.java server itu sendiri yang berfungsi sebagai antarmuka akses client.
Dao
CategoryDao.java MasterDao.java ReportDao.java TempDao.java UserDao.java WordDao.java Category.java Report.java Temp.java User.java Word.java CategoryDaoImpl.java MasterDaoImpl.java ReportDaoImpl.java DaoImpl.java
Merupakan package yang berisi interface method dan berfungsi sebagai Data Access Object
Merupakan package yang berisi fungsi – fungsi utama Server Indonesia inline Translator
META-INF
Authentification.java ConnectDb.java DataCategory.java Feature.java ReadInput.java Stemmer.java TranslateText.java WordEliminate.java titikInt.java persistence.xml
Util
PersistenceUtil.java
xml
XmlTraining.java XmlTranslate.java XmlUser.java
Merupakan package yang berisi method-method dengan fungsi sebagai penghubung konfigurasi persistence dengan implements dari Dao Merupakan package yang berisi JAXB dan berfungsi sebagai generator output informasi
Entitas
Impl
required
inlinetransproject
Fungsi
Merupakan package yang berisi POJO (Plain Old Java Object)
Merupakan package yang berisi implementasi dari interface Dao yang dibuat sebelumnya. Berfungsi sebagai layer penghubung antara bisnis layer dengan data layer
Berisi file konfigurasi unit persistence yang digunakan
IMPLEMENTASI SISTEM (cont’d)
Library yang digunakan
IMPLEMENTASI SISTEM (cont’d) Implementasi Persistence Unit Implementasi Persistence Unit merupakan konfigurasi untuk mengelola Entitas, Dao dan Impl dengan dideskripsikan pada file persistence.xml
IMPLEMENTASI SISTEM (cont’d) Implementasi Google Translate API
Library : google-api-translate-java-0.92.jar
IMPLEMENTASI SISTEM (cont’d) Implementasi Naïve Bayesian Classifier Aplikasi ini menggunakan algoritma naive bayes classifier untuk proses klasifikasi teks. Dengan cara memilih kata yang jelas, diberi nama feature yang merupakan atribut yang menjadi target concept. 1. Mengumpulkan kata dari masing - masing dokumen per kategori. 2. Mengeliminasi tanda baca dan angka. 3. Mengeliminasi kata – kata yang sering muncul. 4. Mengubah kata bentukan menjadi kata dasar dengan algoritma potter stemmer (Stemmer.java). 5. menghitung probabilitas setiap kata dalam kategori dimana frekuensi setiap kata dibandingkan dengan jumlah kata pada kategori dan jumlah kata di seluruh kategori
IMPLEMENTASI SISTEM (cont’d) Implementasi Naïve Bayesian Classifier
Update probabilitas kata pada tabel Word
IMPLEMENTASI SISTEM (cont’d) Implementasi Naïve Bayesian Classifier
Memanggil prosedur updatedata pada Word DAO
IMPLEMENTASI SISTEM (cont’d) Proses Penerjemahan
kata
Klasifikasi
kategori
kata
IMPLEMENTASI SISTEM (cont’d) Implementasi Otomasi Manajemen Data
Uji Coba Aplikasi Uji Coba Fungsional 1. Test case identifikasi pengguna
http://10.126.14.106:8081/inlinetransproject/user/m anage/search/admin.
Data admin ditemukan Data novi3nuraini tidak ditemukan
http://10.126.14.106:8081/inlinetransproject/user /manage/search/novi3nuraini
Uji Coba Aplikasi Uji Coba Fungsional 2. Test case pendaftaran pengguna
http://10.126.14.106:8081/inlinetransproject/user/m anage/insert/novi3nuraini/123456/novi/nuraini
Uji Coba Aplikasi Uji Coba Fungsional 3. Test case mengubah pengguna
http://10.126.14.106:8081/inlinetransproject/user/m anage/update/novi3nuraini/admin
Uji Coba Aplikasi Uji Coba Fungsional 4. Test case memberhentikan akun
http://10.126.14.106:8081/inlinetransproject/user/m anage/delete/admin
Uji Coba Aplikasi Uji Coba Fungsional 5. Test case manajemen data training
Skenario 1 : Penambahan data training http://10.126.14.106:8081/inlinetransproject/training/admin/Quartz% 20is%20an%20open%20source%20enterprise%20job%20scheduler %20from%20Open%20Symphony%20project/computer.
Uji Coba Aplikasi Uji Coba Fungsional 5. Test case manajemen data training
Skenario 2 : Pembaruan probabilitas kata http://10.126.14.106:8081/inlinetransproject/training/admin
Uji Coba Aplikasi Uji Coba Fungsional 6. Test case memberikan informasi arti kata
Skenario 1 : input 3 parameter http://10.126.14.106:8081/inlinetransproject/translate/license/license/ driving
Uji Coba Aplikasi Uji Coba Fungsional 6. Test case memberikan informasi arti kata
Skenario 2 : input 1 parameter http://10.126.14.106:8081/inlinetransproject/translate/license
Uji Coba Aplikasi Uji Coba Fungsional 6. Test case manajemen rutin
Sistem otomasi ini akan melakukan pembaruan data tabel master setiap 30menit
Pengujian performa aplikasi dalam pengiriman data pada client
Uji Coba Aplikasi Uji Coba Non Fungsional Pengiriman data (arti kata)
melihat performa aplikasi server dalam melakukan proses pembacaan request dari client yang ingin menerjemahkan kata/teks dengan kategori hingga proses pengiriman arti kata pada client. waktu proses (second) 1 client
4
-
-
-
-
2 client
4
4
-
-
-
5 client
4
4
4
4
4
Uji Coba Aplikasi Uji Coba Non Fungsional Pengolahan Data
mengetahui performa aplikasi server dalam proses pembaruan data pada tabel word dilakukan oleh administrator dan pengisi data untuk mengetahui berapa lama pengguna menunggu proses yang dilakukan oleh aplikasi server
Bab 6 KESIMPULAN DAN SARAN
KESIMPULAN • Penggunaan Potter Stemming Algorithm membantu dalam pemilihan dan pengelompokan kata dari masing – masing kategori. • Penggunaan Naive Bayesian Classifier membantu proses klasifikasi kata lebih akurat dengan adanya penambahan data training yang sesuai dengan kategori yang dimiliki. • Penggunaan persistence layer merupakan salah satu penerapan platform J2EE dapat meningkatkan kecepatan pemrosesan data. • Pertukaran data antar aplikasi berbeda platform dapat diatasi dengan menggunakan XML dan text/plain..
KESIMPULAN (cont’d) • Penggunaan Potter Stemming Algorithm membantu dalam pemilihan dan pengelompokan kata dari masing – masing kategori. • Penggunaan Naive Bayesian Classifier membantu proses klasifikasi kata lebih akurat dengan adanya penambahan data training yang sesuai dengan kategori yang dimiliki. • Penggunaan persistence layer merupakan salah satu penerapan platform J2EE dapat meningkatkan kecepatan pemrosesan data. • Pertukaran data antar aplikasi berbeda platform dapat diatasi dengan menggunakan XML dan text/plain.. • Penerjemahan kata menggunakan data dari Google translate sehingga hasil yang didapat pun lebih baik sesuai dengan konteks kalimat yang dimaksud. Namun hasil translate hanya dapat mengikuti keluaran dari google.
SARAN • Penggunaan Potter Stemming Algorithm membantu dalam pemilihan dan pengelompokan kata dari masing – masing kategori. • Penggunaan Naive Bayesian Classifier membantu proses klasifikasi kata lebih akurat dengan adanya penambahan data training yang sesuai dengan kategori yang dimiliki. • Penggunaan persistence layer merupakan salah satu penerapan platform J2EE dapat meningkatkan kecepatan pemrosesan data. • Pertukaran data antar aplikasi berbeda platform dapat diatasi dengan menggunakan XML dan text/plain.. • Penerjemahan kata menggunakan data dari Google translate sehingga hasil yang didapat pun lebih baik sesuai dengan konteks kalimat yang dimaksud. Namun hasil translate hanya dapat mengikuti keluaran dari google.