• Tidak ada hasil yang ditemukan

Perancangan dan Pembuatan Perangkat Lunak Pengelompokan secara Otomatis Memakai Klasifikasi Single Pass Clustering Berbasis Kerangka Kerja Play!

N/A
N/A
Protected

Academic year: 2021

Membagikan "Perancangan dan Pembuatan Perangkat Lunak Pengelompokan secara Otomatis Memakai Klasifikasi Single Pass Clustering Berbasis Kerangka Kerja Play!"

Copied!
6
0
0

Teks penuh

(1)

Abstrak—Email awalnya didefinisikan sebagai surat berbentuk file teks yang dikirimkan melalui internet. Perkembangan email sangat pesat yang awalnya bertujuan untuk saling berkomunikasi menjadi lebih luas karena kemampuannya dapat digunakan sebagai sarana informasi.

Statistik menunjukkan bahwa pengguna email sangat banyak. Intensitas penggunaannya pun sangat tinggi. Oleh karena itu, dibutuhkan suatu sistem pengelolaan email yang handal dan dapat mempermudah pengguna email untuk membaca email-email yang diterima.

Dalam tugas akhir ini, akan dibuat sistem pengelompokan email berdasarkan kesamaan isinya. Aplikasi ini dibangun berbasis kerangka kerja Play! dan menggunakan metode Single Pass Clustering. Implementasi kerangka kerja Play! pada tugas akhir ini utamanya digunakan pada lapisan arsitektur controller dan view sedangkan mapping model menggunakan Ebean. Pengelompokan email yang dilakukan dengan Single Pass Clustering menghasilkan nilai akurasi sebesar 68,24%.

Kata Kunci—clustering, email, Play!, single pass clustering.

I. PENDAHULUAN

ERKEMBANGAN internet saat ini mengalami kemajuan yang sangat pesat. Seiring dengan itu, maka muncul layanan-layanan yang mendukung kegiatan manusia melalui media internet. Salah satu layanan yang populer sejak ditemukannya internet adalah electronic mail (email). Email awalnya didefinisikan sebagai surat berbentuk file teks yang dikirimkan melalui internet. Email sekarang ini sudah berkembang lebih atraktif dengan adanya teknologi HTML email sehingga email tidak hanya berupa tulisan, namun dapat disisipi gambar maupun file-file lainnya. Dengan demikian, perkembangan email yang awalnya bertujuan untuk saling berkomunikasi menjadi lebih luas karena kemampuannya dapat digunakan sebagai sarana informasi.

Adanya perkembangan teknologi yang semakin pesat dan perkembangan telekomunikasi tersebut sangat memudahkan seseorang berkirim surat melalui email sebab penggunaan email tersebut dianggap murah dan cepat. Penggunaan email juga sangat berperan dalam berbagai kegiatan pendidikan, bisnis, perdagangan, sosial dan berbagai kegiatan lainnya.

Menurut data statistik yang dibuat oleh The Radicati Group Inc. [1] pada 2010 bahwa jumlah akun email diseluruh dunia sekitar 2,9 bilyun pada 2010 dan diperkirakan akan meningkat menjadi 3,8 bilyun pada 2014. Pada tahun 2010, akun email suatu perusahaan mengirim dan menerima sekitar 110 pesan sehari. Sekitar 18% email yang diterima adalah spam ataupun

graymail (newsletter yang tidak dinginkan, peringatan, dll).

Statistik di atas menunjukkan bahwa pengguna email sangat banyak. Intensitas penggunaannya pun sangat tinggi. Oleh karena itu, dibutuhkan suatu sistem pengelompokan email yang handal dan dapat mempermudah pengguna email untuk membaca email-email yang diterima.

Dalam artikel berjudul “Klasifikasi Dokumen Berita Kejadian Berbahasa Indonesia dengan Algoritma Single Pass Clustering” yang ditulis oleh Agus Zainal Arifin dan Ari Novan Setiono mengimplemetasikan metode Single Pass

Clustering untuk pengelompokan dokumen berita [2]. Dalam

artikel tersebut menunjukkan hasil pengelompokan berita yang cukup baik. Hal inilah yang menjadi acuan bagi penulis untuk menerapkan metode yang sama namun pada kasus yang berbeda yaitu pengelompokan dokumen email.

Dalam artikel ini, penulis akan membuat sistem pengelompokan email berdasarkan kesamaan isinya. Email-email yang masuk akan dikelompokkan menurut kesamaan isinya antara email satu dengan yang lainnya. Aplikasi ini nantinya diharapkan mampu membuat pengelompokan email yang tepat sehingga dapat digunakan oleh pengguna.

II. KAJIANPUSTAKA

A. Pemrosesan Awal (Pre-processing)

Secara sederhana, preprocessing dapat didefinisikan sebagai proses pengontrolan ukuran daftar kata-kata yang dalam hal ini berupa jumlah kata-kata berbeda yang digunakan sebagai indeks term. Preprocessing juga bertujuan untuk menyaring kata-kata yang dianggap paling menonjol dari sebuah dokumen. Kata- kata konten seperti kata benda, kata kerja dan kata sifat merupakan sebagian besar pembawa semantik dari sebuah dokumen. Skema preprocessing secara garis besar dapat dibagi menjadi lima operasi teks [3]:

1.Identifikasi setiap kata yang terdapat dalam sebuah koleksi dokumen teks secara individual.

Perancangan dan Pembuatan Perangkat Lunak

Pengelompokan Email secara Otomatis

Memakai Klasifikasi Single Pass Clustering

Berbasis Kerangka Kerja Play!

Husnun Nashir, Dwi Sunaryono, dan Abdul Munif.

Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember

Jl. Arief Rahman Hakim, Surabaya 60111

E-mail

:dwi@its-sby.edu

(2)

2.Lakukan proses stopping dengan basis stoplist berisi

stopwords yang telah ditentukan sebelumnya. Proses ini

bertujuan untuk menghilangkan kata-kata yang dianggap tidak spesifik untuk merepresentasikan konten.

3.Lakukan proses stemming pada kata-kata yang tersisa pada dokumen teks untuk mendapatkan bentuk dasar dari kata-kata yang memiliki stem sama, misalnya kata hubungan, menghubungkan dan hubungi akan direduksi menjadi bentuk yang sama yaitu hubung.

4.Setiap term yang tersisa pada setiap dokumen diberi bobot yang didapatkan melalui frekuensi term dan inverse

document frequency. Metode pembobotan seperti ini

dinamakan metode TF-IDF.

5.Representasikan setiap dokumen berdasar kumpulan terms

hasil proses stemming menggunakan nilai hasil pembobotannya.

B. Single Pass Clustering

Single PassClustering [2] merupakan suatu tipe clustering

yang berusaha melakukan pengelompokan data satu demi satu dan pembentukan kelompok dilakukan seiring dengan pengevaluasian setiap data yang dimasukkan ke dalam proses

cluster. Pengevaluasian tingkat kesamaan antar data dan

cluster dilakukan dengan berbagai macam cara termasuk

menggunakan fungsi jarak, vectors similarity, dan lain-lain.

Masukkan D1 ke C1 Hitung similarity Di dengan masing-masing cluster Smax = max(similarity)

Smax > ST Masukkan Di ke cluster

Buat cluster baru Masukkan Di ke cluster baru i = 2 i <= jumlah dokumen START STOP Tidak Ya Tidak Ya

Gambar 1. Diagram Alur Single Pass Clustering

Gambar 1 menunjukkan diagram alur Single Pass

Clustering. Algoritma Single Pass Clustering secara umum

dapat dilakukan dengan langkah-langkah sebagai berikut: 1.Masukkan (dokumen pertama) D1 representasi (Cluster

pertama) C1

2.Untuk (dokumen ke-i) Di hitung kesamaan (similarity) dengan setiap wakil dari masing-masing cluster.

3.Jika (Maximum Similarity) Smax lebih besar dari batas nilai

(threshold value) ST, tambahkan tambahkan item kepada

cluster yang bersesuaian dan hitung kembali representasi

cluster, sebaliknya gunakan Di untuk inisialisasi cluster

baru.

4.Jika masih ada sebuah item Di yang belum dikelompokkan,

kembali ke langkah ke-2

C. Play! Framework

Play! Framework [4] adalah kerangka kerja open source

untuk pengembangan aplikasi web yang berbasis Java. Play! Framework dibuat oleh pengembang perangkat lunak bernama Guillaume Bort. Play! Framework dirilis pertama kali pada tahun 2007. Versi stabil terbarunya bernomor versi 2.0.1 yang dirilis pada 2 Mei 2012. Pada tugas akhir ini penulis akan menggunakan Play! Framework versi 2.0.

Play! Framework versi 2.0 sangat berbeda dengan versi sebelumnya yaitu versi 1.2.x. Sehingga banyak juga developer

pengguna Play! Framework versi 1.2.x yang memberikan kritik terhadap Play! Framework versi 2.0.x.

Tidak seperti versi sebelumnya yang ditulis dalam bahasa Java, Play! 2.0 ditulis dengan dalam bahasa Scala. Namun bukan berarti harus membuat aplikasi web kita dalam bahasa Scala karena Play! 2 juga menyediakan Java API sehingga dapat juga dibuat dalam bahasa Java sesuai dengan kehendak. Beberapa fitur unggulan Play! :

• Konfigurasi URL aplikasi yang mudah dan jelas. • Arsitektur yang mencakup teknologi HTML5 client.

Compile otomatis saat reload halaman aplikasi yang dirubah

beberapa bagian kodenya.

• Menyediakan fitur umum kerangka kerja web, diantaranya

persistance, security, dan internalisation.

III. METODOLOGI

A. Analisis

1) Arsitektur Sistem

Ilustrasi arsitektur dari perangkat lunak ini dapat dilihat pada Gambar 2. Dalam aplikasi ini terdapat satu aktor, yaitu anggota.

Dalam aplikasi ini, anggota yang sudah terdaftar dapat melihat daftar email yang sudah dikelompokkan berdasarkan isinya dari masing-masing akun. Anggota juga dapat memeriksa adanya email baru yang sekaligus nantinya juga secara otomatis ditampilkan berkelompok-kelompok.

Jika ada email baru maka sistem akan secara otomatis mengunduh data email tersebut dari mailserver ke basis data sistem. Data-data email tersebut kemudian diolah serta melalui tahap pra-proses dan proses sehingga menjadi data yang siap ditampilkan. Data email setelah proses itu juga disimpan dalam basis data sistem.

Selain fungsi-fungsi di atas, anggota juga dapat melihat isi email yang ada di akunnya. Isi email ini antara lain alamat

(3)

pengirim, subyek email, waktu pengiriman dan isi email. Anggota juga dapat mengirimkan email melalui form yang disediakan. Data masukan untuk pengiriman email ini sama dengan data isi email yang telah disebutkan sebelumnya yaitu alamat tujuan, subyek email dan isi email.

Basis Data Server Sistem

Komputer Untuk Menjalankan Aplikasi Memeriksa email baru

Melihat daftar email

Melihat isi email

Server GoogleMail Sistem Pengelompokkan

Email Data Email Cluster Data Email Terproses Pengguna + Mengirim email Memberi tag email

Melakukan klasterisasi

Gambar 2. Arsitektur Perangkat Lunak

2) Kasus Penggunaan

Dalam aplikasi ini terdapat satu aktor, yaitu anggota. Anggota yang sudah terdaftar dapat melihat daftar email yang sudah dikelompokkan berdasarkan isinya dari masing-masing akun. Anggota juga dapat memeriksa adanya email baru yang sekaligus nantinya juga secara otomatis ditampikan berkelompok-kelompok.

Selain fungsi-fungsi di atas, anggota juga dapat melihat isi email yang ada di akunnya. Isi email ini antara lain alamat pengirim, subyek email, waktu pengiriman dan isi email. Anggota juga dapat mengirimkan email melalui form yang disediakan. Data masukan untuk pengiriman email ini sama dengan data isi email yang telah disebutkan sebelumnya yaitu alamat tujuan, subyek email dan isi email. Gambar 3 menunjukkan digram kasus penggunaan perangkat lunak.

System

Anggota

Login

Registrasi

Memeriksa Email Baru

Melihat Isi Email

Mengirim Email

Memberikan Tag Email

Melakukan Pengelompokan Email

Gambar 3. Diagram Kasus Penggunaan

B. Perancangan

1) Perancangan Data

Dalam perangkat lunak digunakan tujuh buah entitas yang digunakan pada lapisan data atau domain. Ketujuh buah entitas tersebut adalah DokumenModel, UserModel, KategoriModel, TermModel, IndexingModel, StopwordModel, TagModel dan KamusModel. UserModel merupakan data aktor yang menggunakan perangkat lunak ini. Aktor yang menggunakan perangkat lunak ini adalah anggota. Entitas DokumenModel digunakan untuk menampung data email milik pengguna. Entitas KategoriModel adalah data

cluster yang terbentuk ketika sistem melakukan pemrosesan

data. Entitas TermModel dan IndexingModel digunakan sebagai tempat menampung data email yang sudah diolah dan siap untuk dilakukan perhingan-perhitungan hingga ditemukan

di cluster mana sebuah dokumen email akan ditempatkan.

Sedangkan entitas TagModel digunakan untuk menampung daftar tag yang dibuat oleh pengguna. Gambar 4 merupakan perancangan data dalam bentuk CDM (Conceptual Data

Model) yang digunakan pada perangkat lunak ini.

1 2 3 4 5 6 7 8 9 TermModel idTerm namaTerm idfTerm <pi> Integer Text Float <M> idTerm <pi> DokumenModel idDokumen subjekDokumen subjekMentahDokumen isiDokumen pengirimDokumen waktuDokumen dibacaDokumen <pi> Integer Float Text Text Text Date Boolean <M> idDokumen <pi> KategoriModel idKategori namaKategori dominanKategori <pi> Integer Text Text <M> idKategori <pi> IndexingModel idIndexing tfIndexing idfIndexing <pi> Integer Float Float <M> idIndexing <pi> StopwordModel idStopword namaStopword <pi> Integer Text <M> idStopword <pi> KamusModel idKamus kataKamus <pi> Integer Text <M> idKamus <pi> UserModel emailUser namaUser passwordUser counterUser <pi> Text Text Text Integer <M> emailUser <pi> TagModel idTag namaTag <pi> Integer Text <M> idTag <pi>

(4)

2) Perancangan Arsitektur perangkat Lunak

Dalam subbab ini secara khusus dijelaskan pemanfaatan kerangka kerja Play! dalam membangun perangkat lunak. Perancangan arsitektur perangkat lunak dibuat dalam arsitektur model-view-controller.

C. Implementasi

1) Implementasi Data

Implementasi data dalam perangkat lunak ini dibuat menggunakan Ebean ORM (Object Relational Mapping). Dengan menggunakan Ebean penulis tidak perlu mengurusi

server basis data. Semua objek kelas model dipetakan dan

disimpan ke dalam basis data secara otomatis. Objek kelas model dianggap sebagai entitas dengan cara memberikan anotasi tertentu pada kelas-kelas tersebut. Kelas entitas dapat dianggap sebagai representasi tabel dalam basis data.

Dengan menggunakan desain data yang telah dirancang sebelumnya maka dapat dilakukan implementasi data. Sebagai contoh, Gambar 5 merupakan implementasi data dari entitas KategoriModel. Entitas KategoriModel berfungsi untuk menyimpan cluster-cluster yang terbentuk saat pemrosesan data email. Kelas entitas KategoriModel memiliki relasi @ManyToOne dengan kelas entitas UserModel dan TagModel.

@Entity

@Table(name="kategori")

public class KategoriModel extends Model {

@Id

public Long id;

public String namaKategori;

public String dominanKategori;

@ManyToOne

public UserModel userKategori;

@ManyToOne

public TagModel tagKategori;

... }

Gambar 5. Implementasi Kelas Entitas KategoriModel

2) Implementasi Arsitektur Perangkat Lunak

Implementasi lapisan view dan controller memanfaatkan fungsi-fungsi yang disediakan oleh kerangka kerja Play!. Sedangkan implementasi lapisan model secara khusus memanfaatkan Ebean yang juga sudah disediakan built-in

dalam kerangka kerja Play!.

Gambar 6 menunjukkan komunikasi antar lapisan pada kerangka kerja Play!. Pertama, browser melakukan HTTP

Request kepada aplikasi, yang nantinya akan ditangani oleh

lapisan controller. Setiap HTTP Request yang masuk ke dalam aplikasi akan di terima oleh lapisan controller. Lalu, setelah lapisan controller menerima HTTP Request, maka selanjutnya aplikasi akan mengupdate lapisan model. Setelah itu, lapisan

controller akan mengirimkan request kepada lapisan view

untuk melakukan render tampilan. Setelah itu, output tampilan dari proses render yang dilakukan oleh lapisan tersebut dikembalikan sebagai HTTP Response.

Gambar 6. Komunikasi Antar Lapisan Arsitektur

IV. HASILDANPEMBAHASAN

A. Uji Coba Fungsionalitas

Pada subbab ini akan dijabarkan uji coba perangkat lunak secara mandiri berdasarkan metode kotak hitam. Tabel 1 merupaan rekapitulasi dari hasil uji coba fungsionalitas perangkat lunak.

Tabel 1.

Rekapitulasi Hasil Uji Coba Fungsionalitas

ID Nama Pengujian Hasil

Pengujian UJ-SUC-001 Login Skenario 1 Berhasil Skenario 2 Berhasil Skenario 3 Berhasil UJ-SUC-002 Registrasi Skenario 1 Berhasil Skenario 2 Berhasil Skenario 3 Berhasil

UJ-SUC-003 Memeriksa Email Baru

Skenario 1 Berhasil Skenario 2 Berhasil Skenario 3 Gagal UJ-SUC-004 Melihat Isi Email Skenario 1 Berhasil

UJ-SUC-005 Mengirim Email Skenario 1 Berhasil

UJ-SUC-006 Memberikan Tag

Email Skenario 1 Berhasil

UJ-SUC-007

Melakukan Pengelompokan Email

Skenario 1 Berhasil

Berdasarkan uji coba yang telah dilakukan semua uji coba fungsionalitas memberikan hasil yang positif. Semua fungsi yang dibutuhkan dapat berjalan sesuai skenario yang telah direncanakan.

Berikut akan ditampilkan beberapa hasil uji coba fungsionalitas yang telah berhasil dilakukan. Gambar 7 merupakan hasil uji coba melihat isi email. Sedangkan Gambar 8 adalah hasil uji coba mengirim email.

(5)

Gambar 7. Hasil Uji Coba Melihat Isi Email

Gambar 8. Hasil Uji Coba Mengirim Email

B. Uji Coba Non Fungsionalitas

Pengujian nonfungsionalitas dilakukan dengan menguji akurasi dari hasil pengelompokan. Pengujian dilakukan dengan menggunakan 85 data email yang berasal dari berbagai milis yang sudah dipilih. Dari 85 data email tersebut penulis memberikan justifikasi subjektif dan mengelompokkannya menjadi 9 cluster. Sedangkan sistem melakukan pengelompokan terhadap 85 data email tersebut menggunakan

treshold sebesar 0,05 dan menghasilkan 20 cluster. Pengujian

dilakukan dengan menghitung perbandingan jumlah email yang dikelompokkan dengan benar terhadap jumlah seluruh email yang diujicobakan.

Berdasarkan anggota cluster yang dominan dari hasil pengelompokan dapat dilihat bahwa yang memenuhi target justifikasi adalah cluster 10, cluster 20, cluster 12, cluster 18, cluster 2, cluster 14, cluster 8, cluster 4 dan cluster 11 seperti ditampilkan pada Tabel 2 :

Tabel 2. Hasil Pengelompokan Email

Justifikasi Cluster hasil perhitungan

android cluster 10 beasiswa cluster 20 foto cluster 12 kuliner cluster 18 lowongan cluster 2 wisata cluster 14 htc cluster 8 marketing cluster 4 smartfren cluster 11

Selanjutnya dihitung dari anggota masing-masing cluster tersebut berapakah yang sesuai dengan justifikasi pengujian. Dari hasil pengelompokan didapatkan ada 58 email dari 85 email keseluruhan yang dinyatakan benar sehingga didapatkan persentase keakuratan sebagai berikut:

Persentase keakuratan yang didapat adalah sebesar 68,24%.

V. KESIMPULAN

Dari hasil pengamatan selama perancangan, implementasi, dan proses uji coba yang dilakukan, artikel ini mengambil kesimpulan sebagai berikut:

1.Aplikasi yang dibuat mampu mengelompokkan email secara otomatis berdasarkan isi email.

2.Aplikasi yang dibuat dapat mengimplementasikan pemrosesan awal data email diantaranya ekstraksi data email, identifikasi kata, penghapusan stopword, stemming, pembobotan dan indexing.

3.Aplikasi yang dibuat dapat mengimplementasikan algoritma

Single Pass Clustering seperti yang terdapat dalam artikel

“Klasifikasi Dokumen Berita Kejadian Berbahasa Indonesia dengan Algoritma Single Pass Clustering” yang ditulis oleh Agus Zainal Arifin dan Ari Novan Setiono dengan tingkat akurasi pengelompokan sebesar 68,24% dihitung berdasarkan jumlah email yang dikelompokan dengan benar terhadap jumlah email keseluruhan sesuai dengan justifikasi pengujian.

4.Aplikasi yang dibuat berhasil mengimplementasikan kerangka kerja Play!.

5.Implementasi kerangka kerja Play! pada aplikasi ini utamanya digunakan pada lapisan arsitektur controller dan

view sedangkan mapping model menggunakan Ebean yang juga sudah disediakan oleh kerangka kerja Play!.

UCAPANTERIMAKASIH

Penulis mengucapkan terima kasih kepada Tuhan Yang Maha Esa, karena hanya dengan karunia, rahmat, dan hidayah-Nya penulisan artikel ini dapat terselesaikan dengan baik.

(6)

DAFTARPUSTAKA

[1] Radicati, Sara. Email Statistics Report, 2010. The Radicati Group, Inc., http://www.radicati.com.

[2] Zainal Arifin, Agus dan Novan Setiono, Ari. 2002. Klasifikasi Dokumen Berita Kejadian Berbahasa Indonesia dengan Algoritma Single Pass Clustering. Jurusan Teknik Informatika, Institut Teknologi Sepuluh Nopember.

[3] Salton G. 1989. Automatic Text Processing. Cornell University. [4] Bort, Guillaume. Play! Framework. playframework.org.

Referensi

Dokumen terkait

menunjukkan bahwa sebagian ibu di wilayah kerja Puskesmas Kabupaten Pekalongan selalu memanfaatkan buku KIA sebagai media bertanya kepada tenaga kesehatan atau kader

Berbeda dengan sesi sebelum nya, data D3 sesi 201503 ini diambilkan dari data dosen e ligibel D1/D2 pada PDDIKTI ses uai dengan kondisi terakhir.. Data D2 yang tidak masuk D3

Dari Hasil analisis kandungan formalin pada tahu yang dijual di Pasar Tomohon, Tondano dan Pasar Karombasan terdapat beberapa sampel yang positif dengan

Dari hasil perbandingan tabel 7 da- pat diketahui bahwa perencanaan tata ru- ang wilayah yang telah ditetapkan oleh Pemerintah Daerah Kota Yogyakarta pada tahun 2010 belum

 Pertimbangan lain: Pilihlah ukuran dan model safety sign yang tepat, serta pastikan posisinya dapat terlihat jelas dari berbagai sudut/ semua arah dan mendapat penerangan

Laporan Keuangan Semester II TA 2007 Direktorat Jenderal Bina Kefarmasian dan Alat Kesehatan terdiri dari Laporan Realisasi Anggaran, Neraca danCatatan atas Laporan

Penelitian ini bertujuan untuk mengetahui hubungan antara body image dan self esteem terhadap perilaku diet pada remaja putri di SMA Santo Thomas 1 Medan.. Penelitian ini

bahwa kekayaan Negara yang t ert anam pada Proyek MLP-ATA/ 84 di Madiun, Pusdik Madiun, Proyek Worl d Food Program (WFP) di Jawa Tengah, Proyek Perl ebahan bant uan FAO di