Penerapan Internet Agent Untuk
Mengklasifikasikan Berita Secara Otomatis
Ida Bagus Gede Widnyana Putra, S.Kom Program Magister Teknik Elektro, Bidang Studi Manajemen Sistem Informasi dan Komputer, Universitas Udayana
Jalan Sudirman, Denpasar, Bali
AbstrakBelakangan ini masyarakat banyak disuguhkan
berbagai macam situs berita mulai dari thin-content dengan
kategori berita yang sedikit sampai dengan yang rich-content
dengan berbagai macam kategori. Tapi biasanya situs berita
tersebut dibebani oleh banyaknya banner yang ditampilkan
sehingga memperlambat akses untuk membaca berita, terlebih
lagi jika bandwitdth untuk koneksi internet yang digunakan
terbatas. Selain itu, tidak setiap orang memiliki banyak waktu
untuk membaca semua berita yang disuguhkan pada situs
berita tersebut. Menemukan berita yang relevan sesuai dengan
yang diinginkan secara cepat saat ini menjadi masalah yang
serius karena ketersediaan berita di internet semakin
meningkat jumlahnya. Saat ini aplikasi Internet Agent menjadi
populer digunakan untuk mencari informasi yang berguna di
Internet. Internet Agent memiliki kemampuan untuk
menjelajah internet untuk melakukan pencarian, pemfilteran,
dan penyajian informasi bagi user, secara mandiri. Penerapan
Internet Agent dan penggunaan metode Fuzzy Search dan
Association Rule untuk pengklasifikasian berita menjadi
pilihan solusi untuk mengatasi permasalahan yang terjadi.
Berdasarkan hasil uji coba, dapat diketahui aplikasi ini dapat
mengambil berita dari provider-provider situs berita yang
ditentukan sekaligus mengklasifikasikannya sesuai dengan
yang diinginkan oleh pengguna.
Kata kunci : internet agent, web mining, text mining, fuzzy
search, association rule
I. PENDAHULUAN
Jumlah informasi yang tersedia di internet tumbuh hari demi hari sejalan dengan perkembangan teknologi internet dan web. Di internet ada lebih dari lima belas miliar halaman web yang tersedia tetapi tidak selalu bisa mendapatkan kualitas informasi yang baik [1]. Menemukan informasi yang relevan sesuai dengan yang diinginkan secara cepat saat ini menjadi masalah yang serius [2]. Pencarian melalui search engine dengan menggunakan query biasa menjadi tidak tepat karena biasanya akan menimbulkan masalah baru [3]. Tidak jarang suatu query dapat menghasilkan puluhan bahkan ratusan cuplikan informasi. Bahkan dengan tingkat presisi yang rendah, kemungkinan besar informasi yang tidak relevan juga ikut ditampilkan.
Belakangan ini masyarakat juga disuguhkan berbagai macam situs berita mulai dari thin-content dengan kategori berita yang sedikit sampai dengan yang rich-content dengan berbagai macam kategori. Tapi biasanya situs berita tersebut
dibebani oleh banyaknya banner yang ditampilkan sehingga memperlambat akses untuk membaca berita, terlebih lagi jika bandwitdth untuk koneksi internet yang digunakan terbatas. Selain itu, tidak setiap orang memiliki banyak waktu untuk membaca semua berita yang disuguhkan pada situs berita tersebut.
Sejalan dengan itu diperlukan suatu aplikasi yang dapat mengambil berita dari suatu situs berita secara periodik dan otomatis. Penerapan internet agent yang berfokus pada proses pencarian informasi secara otomatis [4] akan memberikan kemudahan bagi pengguna dalam memperoleh berita tanpa harus mengakses situs berita tersebut secara langsung. Selain itu pengklasifikasian terhadap berita juga dibutuhkan untuk mempermudah menemukan rangkaian berita yang berkaitan. Karena pengambilan dan pengklasifikasian berita ini melibatkan data text yang tidak terstruktur, teknik dalam text mining dapat dijadikan sebagai solusi untuk menemukan kata atau pola yang diinginkan untuk dijadikan kunci dalam mengambil berita serta mengklasifikasikan berita tersebut. Text mining adalah suatu teknik atau proses yang saat ini banyak digunakan untuk mengambil informasi yang bermanfaat dari dokumen berbasis text [5]. Dengan menggunakan text mining, menemukan text atau informasi yang diinginkan dengan pola non-trivial sekalipun dapat dilakukan.
Melihat kenyataan tersebut, diperlukan suatu aplikasi yang dapat membantu user untuk mendapatkan berita yang diinginkan dengan mudah, cepat dan tepat. Penerapan aplikasi Internet Agent untuk mencari informasi yang diinginkan di internet dapat menjadi solusi untuk masalah ini. Internet Agent memiliki kemampuan untuk menjelajah internet untuk melakukan pencarian, pemfilteran dan penyajian informasi bagi user secara mandiri. Maka dari itu penerapan internet agent untuk mengklasifikasikan berita secera otomatis dapat menjadi pilihan untuk mendapatkan berita yang diinginkan dengan mudah, cepat dan tepat.
II. KAJIAN PUSTAKA
A. Web Mining
Dalam beberapa tahun terakhir, upaya penelitian yang signifikan telah membahas tantangan meningkatkan cara kita mencari dan mengekstrak data dari Internet untuk mencari informasi yang relevan dengan kebutuhan kita.
Salah satu kunci untuk mengatasi tantangan ini adalah penggunaan teknik Web Mining [6]. Walaupun Web Mining diturunkan dari Data Mining tetapi keduanya tidak bisa disamakan, Web mining jauh lebih komplek karena melibatkan data yang tidak tersruktur. Tahap-tahap yang dilakukan dalam Web Mining adalah sebagai berikut :
1. Resource Discovery, pada tahap ini dilakukan pencarian sumber dari informasi yang ingin diperoleh dari Web.
2. Information Extraction, secara otomatis memilih dan melakukan pre-processing untuk mendapatkan informasi yang spesifik dari sumber yang sudah di dapat sebelumnya.
3. Generalization, secara otomatis menemukan pola umum yang digunakan pada Web sites yang digunakan.
4. Analysis, menganalisa pola tersebut.
Pendek kata, Web Mining adalah suatu teknik yang digunakan untuk menemukan informasi yang bermanfaat pada Web. Dari tiga tipe data yang terdapat di Web maka Web Mining dapat diklasifikasikan menjadi tiga jenis yaitu :
1. Web Content Mining
Web content mining digunakan untuk mencari informasi dari sumber online atau dokumen Web yang tersedia, secara otomatis. Dokumen Web memiliki beberapa tipe data seperti text, image, audio, video, metadata dan hyperlinks. Beberapa data tersebut bersifat semi-terstruktur seperti dokumen HTML, atau yang lebih tersruktur seperti data pada table atau database yang di generate dari halaman HTML, tetapi kebanyakan dari data tersebut berbentuk data text yang tidak terstruktur. Karakteristik dari data Web yang tidak tersturktur memaksa Web content mining ke arah pendekatan yang lebih rumit.
2. Web Structure Mining
Kebanyakan dari tools yang digunakan untuk mencari informasi di web hanya menggunakan informasi yang berbentuk text dan mengabaikan link dari informasi yang bisa menjadi sangat bernilai. Tujuan dari Web structure mining adalah menghasilkan ringkasan yang terstruktur tentang Web site dan Web page. Teknik, Web content mining hanya memfokuskan pada struktur inti dari dokumen, sedangkan Web structure mining mencoba untuk menemukan struktur link dari hyperlinks yang terdapat pada dokumen. Berdasar pada topologi dari hyperlinks, Web structure mining akan mengklasifikasikan Web pages dan men-generate informasi, seperti persamaan dan hubungan antara Web sites yang berlainan.
3. Web Usage Mining
Web usage mining mencoba untuk menemukan informasi yang bermanfaat dari data sekunder yang di dapat dari interaksi pengguna yang melakukan browsing di Web. Teknik ini menfokuskan pada bagaimana memprediksi perilaku dari pengguna internet saat mereka berinteraksi dengan Web. Tujuan dari tekni ini antara lain untuk memprediksi perilaku pengguna terhadap suatu Web site, membandingkan antara harapan dan kenyataaan dari
penggunaan suatu Web site dan menyesuaikan isi Web site berdasarkan keinginan dari pengguna.
B. Internet Agent
Software Agent didefiniskan sebagai program yang memperoleh, memanipulasi, mendistribusikan dan mengelola informasi untuk user secara mandiri [4]. Beberapa sumber menyebutkan berbagai karakteristik dan atribute dari softwate agent. Tapi pada hakekatnya suatu program dapat dikatakan sebagai software agent minimal harus memenuhi karakteristik sebagai berikut :
1. Autonomy
Agent dapat melakukan tugas secara mandiri dan tidak dipengaruhi secara langsung oleh user, agent lain ataupun oleh lingkungan (environment). Untuk mencapai tujuan dalam melakukan tugasnya secara mandiri, agent harus memiliki kemampuan kontrol terhadap setiap aksi yang mereka perbuat, baik aksi keluar maupun kedalam. Dan satu hal penting lagi yang mendukung autonomy adalah masalah intelegensi (intelligence) dari agent.
2. Intelligence, Reasoning, dan Learning
Setiap agent harus mempunyai standar minimum untuk bisa disebut agent, yaitu intelegensi (intelligence). Dalam konsep intelligence, ada tiga komponen yang harus dimiliki: internal knowledge base, kemampuan reasoning berdasar pada knowledge base yang dimiliki, dan kemampuan learning untuk beradaptasi dalam perubahan lingkungan.
3. Mobility dan Stationary
Khusus untuk mobile agent, harus memiliki kemampuan yang merupakan karakteristik tertinggi yang dimiliki yaitu mobilitas. Berkebalikan dari hal tersebut adalah stationary agent. Bagaimanapun juga keduanya tetap harus memiliki kemampuan untuk mengirim pesan dan berkomunikasi dengan agent lain.
Berdasarkan karakteristik yang dimiliki, Internet Agent dapat didefinisikan sebagai agent yang memiliki kemampuan untuk menjelajah internet untuk melakukan pencarian, pemfilteran, dan penyajian informasi untuk user, secara mandiri. Atau dengan kata lain, memanage informasi yang ada di dalam jaringan Internet.
C. Text Mining
Text mining merupakan variasi dari data mining yang berusaha menemukan pola yang menarik dari sekumpulan data tekstual yang berjumlah besar [5]. Text Mining kita kenal sebagai Text data mining atau menemukan informasi dari dokumen atau data yang berbasis text, umumnya proses yang dilakukan adalah dengan menemukan text atau informasi yang diinginkan dengan pola yang non-trivial dari dokumen yang tidak tersturktur. Itu bisa dilihat sebagai pengembangan dari data mining yang menemukan informasi dari data yang terstruktur.
Saat ini kebanyakan informasi yang disimpan melaui form berbentuk text. Text Mining dipercaya memiliki nilai jual yang tinggi dibandingkan dengan Data Mining. Faktanya dari penelitian yang pernah dilakukan, 80%
informasi dari perusahaan berbentuk dokumen text. Text mining lebih komplek dari Data mining karena melibatkan data text yang tidak tersturktur dan tidak jelas. Text mining biasanya melibatkan disiplin ilmu lain seperti text analysis, information extraction, clustering, categorization, visualization, database technology, machine learning dan data mining.
D. Fuzzy Search
Fuzzy Search adalah suatu teknik pencarian yang memungkinkan untuk digunakan mencari informasi yang tidak pasti. Kekuatan Fuzzy Search adalah dapat menemukan hasil yang tidak pasti tepat pada query [7]. Logika Fuzzy Search melakukan pencarian berdasarkan pada persamaan karakter dari suatu kata bukan berdasarkan arti dari kata tersebut. Fuzzy Search digunakan terutama untuk pencarian text karena memiliki kemampuan untuk mengenali penulisan kata yang salah pada suatu dokumen. Hal ini sangat penting karena kesalahan sangat mungkin terjadi dalam suatu penulisan dokumen.
Fuzzy Search menemukan persamaan berdasarkan pada kata dasar. Ukuran ketepatan terhadap kata dasar ditentukan dengan parameter matchingLevel. Parameter matchingLevel menentukan berapa persen huruf dari suatu kata harus terpenuhi agar bisa dikatakan tepat dengan kata yang dicari. Nilai default untuk parameter ini adalah 75%. Sebagai contoh, kata Rossberg, 75% dari kata yang harus tepat adalah Rossbe. Selain itu dengan Fuzzy Search juga bisa dicari kata yang sudah dilengkapi dengan awalan atau akhiran.
Algoritma Edit Distance
Algoritma Edit Distance adalah algoritma yang paling umum digunakan untuk menghitung jarak atau perbedaan antara kata yang diinputkan user dengan setiap kata yang ada dalam dokumen [8]. Semakin kecil nilai tersebut maka perbedaan kata semakin kecil. Jika nilainya nol artinya kata tersebut sama dengan yang diinputkan oleh user. Algoritma tersebut digambarkan pada Gambar 1.
Gambar 1. Algoritma Edit Distance
Algoritma diatas memberikan gambaran bagaimana jarak antara kata dihitung. Parameter dari algoritma tersebut adalah sumber kata (S) dan target kata (T). Pertama, algoritma tersebut akan menghitung jumlah huruf dari target kata dan sumber kata yang digunakan untuk membentuk matrix yang dapat dilihat pada Gambar 2. Kemudian dihitung berapa huruf yang harus diubah, dihapus dan disisipi untuk mendapatkan kata yang benar [8].
Gambar 2. Matrix yang dibentuk dengan Algoritma Edit Distance
Sebagai contoh pada gambar diatas dibandingkan dua buah kata yaitu resriver dan retrieval. Kata pada baris horisontal adalah kata yang diinputkan dan kata pada baris vertikal adalah kata yang benar. Nilai pada baris diagonal menjelaskan berapa banyak huruf harus diubah, dihapus atau dimasukkan atau disisipi dari kata yang diinputkan untuk mendapatkan kata yang benar. Hasil dari perhitungan edit distance pada contoh diatas dapat dilihat pada bagian hitam, seperti terlihat pada Gambar 2. Nilai edit distancenya yaitu Edit Distance (8,8) = 3.
Untuk menghitung tingkat kesalahannya, dengan membagi hasil perhitungan edit distance dengan jumlah huruf kata yang dibandingkan. Adapun rumus perhitungan tingkat kesalahnnya adalah sebagai berikut:
Dimana = Tingkat Kesalahan (Error).
E. Association Rule
Association Rule (AR) adalah metode untuk menganalisa data yang memiliki kecenderungan penggunaan item tertentu untuk mendapatkan kemungkinan keluaran yang memiliki tingkat frequensi penggunaan item tertinggi [9]. AR mencari semua transaksi dalam database yang mengekspresikan item X terhadap item Y atau X Y. Dimana X dan Y adalah set dari item. Dapat diartikan menjadi X Y = [1,2]. Diberikan set pada transaksi A, untuk kemudian men-generate semua AR yang pasti atau mendekati nilai minimal spesefik dari support.
= (1) Nilai Edit Distance
3
Panjang String
Pemecahan masalahnya dapat diturunkan menjadi 2 hal, sebagai berikut :
1. Menemukan semua itemset pada transaction support.
Support pada pola AR mengacu pada prosentase proses transaksi data yang relevan dimana pola tersebut benar.
Support (A..Z) = transaction containts item (2) transaction
Kumpulan support dari masing-masing item dalam itemset, kemudian dihitung prosentase kehadirannya.
Support (A..Z) = transaction containts item X 100% (3) transaction
Setelah menemukan presentasi support dari itemsets, maka kemudian dilanjutkan ke proses selanjutnya yaitu menemukan Frekuensi Itemset.
2. Menemukan Frequency Itemset dengan untuk menghasilkan ragam kemungkinan atau kesimpulan.
|A| = m, menjadi jumlah dari item. Ruang pencarian dari penjumlahan semua frekuensi itemset adalah 2
m , dengan
eksponensial m. Satu dapat membuktikan bahwa masalah dalam pencarian kumpulan frekuensi dari ukuran tertentu adalah NP-complete, dengan menguranginya untuk keseimbangan masalah diantara dua kelompok. Dari formula frequency itemset (4), maka akan ditemukan hasil simpulan.
candidate item Frequency Itemset = X 100% (4)
itemset transaction
F. Regex
Kebutuhan desain mesin pencari secara dramatis meningkat karena pertumbuhan jumlah data dalam dunia nyata, seperti yang pada halaman web, di corpora teks standar dan dalam database film. Selain pencarian yang efektif dari sejumlah besar data, mesin pencari baru-baru ini memiliki bahasa query fleksibel menyediakan lebih banyak jenis item pencarian yang ditargetkan. Dibandingkan dengan sistem pencarian teks tradisional dengan menggunakan kata kunci sebagai simbol permintaan dasar, sistem yang menyediakan ekspresi reguler sebagai salah satu bahasa query tampaknya lebih cocok untuk memenuhi persyaratan ini [10].
Regular expression (ekspresi regular, regexp, regex, RE) adalah sebuah bahasa mini untuk mendeskripsikan string atau teks. Regex dapat dipakai untuk mencocokkan sebuah string dengan sebuah pola[11]. Pencocokan string dengan regex jauh lebih ampuh. Selain menguji kecocokan atau mencari substring dalam string, regex juga dapat dipakai mengekstrak string dari teks. Terakhir regex juga bisa
dipakai untuk membelah dan mensubtitusi substring dengan string lain.
Keberadaaan regex di berbagai tool dan bahasa pemrograman membuktikan bahwa regex sangat berguna dalam mengolah teks. Alasan yang dapat menjawab kenapa menggunakan regex adalah sebagai berikut :
1. Regex sangat ampuh, pola regex dapat digunakan untuk mencocokkan dan mengekstrak pola string mulai dari angka, nomor telepon, kata, URL, hingga pola yang didefinisikan sendiri. Regex juga dapat mengambil potongan string yang diinginkan dari file log, dokumen HTML, bahkan file biner sekalipun.
2. Regex amat ringkas, artinya regex dapat menggantikan belasan hingga puluhan baris kode program hanya dengan sebuah pola.
3. Regex cepat, artinya dengan menggunakan regex puluhan atau ratusan perbandingan string secara manual dapat dihindari. Library regex yang ada sekarang ini, rata-rata sudah teroptimasi sehingga pola yang komleks sekalipun bias dijalankan dengan cepat.
PHP memiliki dua set fungsi regex. Yang pertama
adalah fungsi-fungsi dengan prefiks ereg_ seperti
ereg_match(), eregi_replace() dan lain sebagainya. Huruf e pada reg artinya extended. Artinya, fungsi-fungsi regex ini adalah fungsi regex flavor POSIX.
Fungsi-fungsi ereg_*() tidak akan dibahas lebih lanjut karena keterbatasan sintaks regex POSIX. Yang kedua
adalah fungsi-fungsi dengan prefiks preg_, seperti
preg_match() dan preg_replace(). Fungsi-fungsi
preg_*() menggunakan library PCRE yang mendekati sintaks Perl.
III. METODE PENELITIAN
Penerapan internet agent dalam penelitian ini diawali
dengan melakukan analisa terhadap situs-situs berita yang
ditentukan. Setiap provider situs umumnya memiliki
struktur situs yang berbeda- beda. Maka dari itu diperlukan
waktu yang cukup untuk menganalisa struktur situs tersebut.
Untuk menganalisa struktur situs tersebut, diperlukan
halaman berita dari provider tersebut, kemudian dipelajari
tag-tag apa yang mengapit data-data berita yang dibutuhkan
seperti judul, link, waktu dan isi berita tersebut. Setelah itu
baru dibuat pola regex yang dapat mengambil data-data
berita tersebut.
Proses pengambilan berita dilakukan dengan cara
membaca dokumen HTML situs berita tersebut dan
mengekstrak informasi yang dibutuhkan, seperti judul
berita, link, waktu publikasi berita serta isi berita, dengan
menggunakan pola regex yang telah dibuat sesuai dengan
struktur dari situs tersebut. Setelah berita di dapat kemudian
dilanjutkan dengan proses pengklasifikasian. Metode yang
digunakan dalam proses pengklasifikasian berita adalah
Fuzzy Search dan Association Rule.
A. Desain Umum Sistem
Desain umum aplikasi yang dibuat digambarkan dengan Block Diagram. Block Diagram menggambarkan alur sistem secara umum yang berupa masukan, proses dan keluaran dari sistem. Desain umum dari aplikasi ini dapat dilihat pada Gambar 3.
Gambar 3. Blok Diagram Aplikasi Internet Agent
Pada gambar diatas dijelaskan proses pengambilan dan
pengklasifikasian berita yang terjadi di dalam sistem.
Pertama, sistem menerima inputan berupa kategori dan
keyword kemudian akan dilakukan proses pencarian
keyword pada isi berita menggunakan Metode Fuzzy
Search. Pengklasifikasiannya sendiri menggunakan Metode
Association Rule. Keluaran dari aplikasi ini berupa berita-
berita yang sudah diklasifikasikan sesuai dengan kategori
yang diinputkan.
B. DFD
Berikut ini context diagram dari aplikasi internet agent
untuk mengklasifikasikan berita secara otomatis.
Contex Diagram
Gambar 4. Context Diagram
DFD Level 0
Gambar 5. DFD Level 0
DFD level 0 pada Gambar 5. diatas terdapat 4 proses dan 9 database. Ke empat proses itu yaitu :
1. Proses Maintenance Data. Proses ini digunakan untuk me-meintenance data user, kategori, keyword, provider situs, direktori situs. Proses ini akan menghasilkan keluaran berupa data konfirmasi ke administrator.
2. Proses Pengambilan Berita. Proses ini digunakan untuk melakukan proses pengambilan berita ke provider situs yang sudah ditentukan. Proses ini menerima inputan dari user berupa username dan password, refresh time dan pilihan direktori provider.
3. Proses Pengklasifikasian Berita. Proses ini digunakan untuk melakukan proses pengklasifikasian berita. Proses ini menerima inputan dari Proses Pengambilan Berita berupa array berita. Selain itu proses ini juga menerima inputan dari user berupa pilihan kategori. User akan menerima output dari proses ini berupa berita yang sudah terklasifikasi.
4. Proses Menampilkan Berita Terklasifikasi. Proses ini digunakan untuk menampilkan berita-berita yang sudah terklasifikasi. Proses ini menerima inputan dari database detil kategori dan berita.
Sembilan database itu adalah sebagai berikut :
1. User, digunakan untuk menyimpan data user.
2. Provider Situs, digunakan untuk menyimpan data provider situs.
Berita Terklasifikasi
Pilihan Kategori
Berita tersimpanKonfirmasi
Stopword
Regex
Direktori Situs
Provider Situs
Refresh Time
Pilihan Direktori Provider
Username dan Password
User
Keyword
Kategori
Berita
Query Pola RegexKoneksi
PROVIDER SITUS
BERITA
USER ADMINISTRATOR
0
APLIKASI INTERNET AGENT
UNTUK MENGKLASIFIKASIKAN
BERITA SECARA OTOMATIS
+
Klasifikasi
IDKat dan IDKey
Berita
Data User
Data Berita
[Berita Terklasifikasi]
Data Detil Kategori
ID Kat
Link berita terklasifikasi
Berita
Berita
Data User
Stopword
Keyword
Kategori
Keyword
Kategori
Stopword
Data Direktori
Pola Regex
Pola Regex
Data Direktori Situs
Data Provider Situs
Data Provider Situs
[Pil ihan Kategori]
[Berita ters impan]
[Konfirmasi]
[Regex][Direktori Situs] [Stopword]
[Provider Situs]
[Refresh Time]
[Koneksi]
[Query Pola Regex]
[Berita]
[Username dan Password]
[Pil ihan Direktori Provider]
[User]
[Keyword]
[Kategori]
PROVIDER
SITUS
BERITA
USER
ADMINISTRATOR
1
Proses Maintenance Data
2
Proses Pengambilan
Berita
+
3
Proses
Pengklasifikasian
Berita
+
1 Provider Situs
2 Direktori Situs
3 Regex
4 Stopword
5 Kategori
6 Keyword
8 User
9 Berita
10 DetilKat
4
Proses Menampilkan
Berita Terklasifikasi
7 KlasifikasiAplikasi Internet Agent
untuk Pengklasifikasian
Berita
secara Otomatis
Masukan
User
berupa Kategori,
Keyword
Data Provider Situs, Regex,
Kategori, Keyword,
Stopword dan Berita
Keluaran
berupa berita
yang sudah diklasifikasi-
kan sesuai
keyword
Proses Pengambilan dan Pengklasifikasian
Berita
3. Direktori Provider, digunakan untuk menyimpan data direktori provider.
4. Regex, digunakan untuk menyimpan data pola regex.
5. Stopword, digunakan untuk menyimpan stopword.
6. Kategori, digunakan untuk menyimpan data kategori.
7. Keyword, digunakan untuk menyimpan keyword.
8. Berita, digunakan untuk menyimpan berita yang didapat dari provider situs.
9. Detil Kategori, digunakan untuk menyimpan hasil klasifikasi.
C. ERD
Berikut ini ERD dari aplikasi internet agent yang
disajikan dalam bentuk Conceptual Data Model (CDM) dan
Physical Data Model (PDM).
CDM
Gambar 6. ERD CDM
PDM
Gambar 7. ERD PDM
C. Desain Uji Coba
Uji coba validasi sistem bertujuan untuk memastikan
bahwa sistem telah dibuat dengan benar sesuai dengan
kebutuhan atau tujuan yang diharapkan. Kekurangan atau
kelemahan sistem pada tahap ini akan dievaluasi sebelum
diimplementasikan secara riil.
Proses pengujian akan dilakukan dengan melakukan
berbagai percobaan untuk membuktikan bahwa aplikasi
yang telah dibuat sesuai dengan tujuan, antara lain (1) uji
implementasi pengambilan berita pada situs berita, (2) uji
implementasi fuzzy search, (3) uji implementasi
pengklasifikasian dengan association rule, (4) uji aplikasi
internet agent secara keseluruhan. Untuk uji coba aplikasi
secara keseluruhan akan diuji menggunakan Black Box
Texting.
1. Uji implementasi pengambilan berita
Proses uji coba ini dilakukan untuk menguji fungsi regex
yang membaca dokumen HTML situs berita yang sudah
ditentukan dan mengekstrak informasi yang dibutuhkan,
seperti judul berita, link, waktu publikasi berita serta isi
berita. Kemudian membandingkan jumlah berita yang ada
pada halaman berita dari provider situs dengan jumlah berita
yang dapat diambil oleh aplikasi internet agent. Uji coba ini
dapat dikatakan berhasil jika jumlah dan isi berita yang
dapat diambil sama dengan jumlah dan isi berita pada
provider situs berita.
2. Uji implementasi fuzzy search
Proses uji coba ini dilakukan dengan cara
membandingkan kata-kata yang ada pada isi berita suatu
berita dengan keyword-keyword dari kategori yang dipilih.
Apabila pada implementasinya kata-kata yang ditemukan
sesuai dengan keyword-keyword ataupun dapat menemukan
variasi-variasi kata dari keyword tersebut, maka uji coba ini
dapat dikatakan berhasil.
3. Uji implementasi pengklasifikasian dengan association rule
Tujuan dari uji coba ini adalah untuk mengetahui apakah
suatu berita sudah dapat diklasifikasikan dengan benar
sesuai dengan yang diharapkan. Untuk uji coba ini akan
dipilih satu berita untuk diklasifikasikan. Kemudian akan
diklasifikasikan dengan menggunakan metode Association
Rule. Jika berita tersebut dapat diklasifikasikan sesuai
dengan kategori yang diharapkan, maka uji coba ini dapat
dikatakan berhasil.
4. Uji aplikasi internet agent secara keseluruhan
Proses uji coba ini dilakukan untuk mengetahui apakah
fungsi klasifikasi secara keseluruhan sudah berjalan sesuai
dengan tujuan yang diharapkan. Untuk uji coba ini akan
dipilih beberapa berita untuk diklasifikasikan. Untuk
menghitung akurasi atau kualitas dari klasifikasi berita yang
dihasilkan digunakan rumus sebagai berikut:
DetilKat
Klasif ikasi
QueryBerisi
Mempunyai
NewsProvider
NPName
NPURL
AbsolutLink
ProviderDir
PDName
PDURL
Status
Regex
NRegex
StrRegex
Berita
URL
Judul
Insert_Time
Post_Time
Content
Kategori
IDKat
katName
Status
Keyword
IDKey
KeyName
errorLevel
URL = URL IDKAT = IDKAT
IDKEY = IDKEY
IDKAT = IDKAT
NPNAME = NPNAME
PDNAME = PDNAME
NPNAME = NPNAME
NEWSPROVIDER
NPNAME varchar(30)
NPURL varchar(50)
ABSOLUTLINK integer
PROVIDERDIR
PDNAME varchar(30)
NPNAME varchar(30)
PDURL varchar(100)
STATUS integer
NEWSREGEX
NREGEX int
NPNAME varchar(30)
STRREGEX varchar(150)
BERITA
URL varchar(100)
NPNAME varchar(30)
PDNAME varchar(30)
JUDUL varchar(50)
INSERT_TIME datetime
POST_TIME datetime
CONTENT text
KATEGORI
IDKAT char(15)
KATNAME varchar(30)
STATUS integer
STOPWORD
WNAME varchar(20)
KEYWORD
IDKEY int
KEYNAME varchar(20)
ERRORLEVEL float
USER
USERNAME varchar(20)
PASSWORD varchar(30)
KLASIFIKASI
IDKAT char(15)
IDKEY integer
DETILKAT
IDKAT varchar(10)
URL varchar(200)
Akurasi = Total jumlah berita
X 100% (5) Total klasifikasi berita yang benar
IV. HASIL DAN PEMBAHASAN
Aplikasi internet agent ini dirancang dengan
menggunakan bahasa pemrograman PHP serta
menggunakan MySQL untuk pengolahan basis data.
Gambar 9 menunjukkan halaman menu admin dari aplikasi
ini.
Gambar 9. Halaman Menu Admin
Fungsi-fungsi objek pada Halaman Menu Admin pada
gambar 4.2 adalah sebagai berikut :
Tabel 1. Tabel Fungsi-fungsi objek Halaman Menu Admin
Tampilan halaman utama pada saat program pertama
kali dijalankan dapat dilihat pada Gambar 10.
Gambar 10. Tampilan Halaman Utama
Fungsi-fungsi objek pada Halaman Utama pada gambar 10
adalah sebagai berikut :
Tabel 2. Tabel Fungsi-fungsi objek Halaman Utama
Berdasarkan pada desain uji coba yang terdapat pada
pembahasan sebelumnya, sistem aplikasi ini akan di uji
cobakan terhadap data inputan sebenarnya. Dimana uji coba
ini dibagi pula menjadi 4 bagian, yaitu (1) uji coba
pengambilan berita pada situs berita, (2) uji coba fuzzy
search, (3) uji coba klasifikasi dengan metode association
rule dan (4) uji coba aplikasi secara keseluruhan.
1. Uji coba pengambilan berita pada situs berita
Berikut ini hasil uji coba aplikasi untuk pengambilan berita pada direktori provider situs berita yang ditentukan. Pada uji coba ini di pilih direktori DetikInet. Sebelumnya halaman ini sudah dianalisa dan dibuat pola regex untuk mengambil berita didalamnya. Tiap-tiap provider situs memiliki 4 tipe pola regex yang digunakan untuk menyaring data-data berita yang ada pada provider situs yaitu :
1. Posisi berita.
2. Data berita (waktu berita, link berita dan judul berita).
3. Isi berita.
4. Menghapus gambar.
Pada saat uji coba ini dilakukan dalam halamannya sudah diketahui terdapat 6 berita yang dapat dilihat pada Gambar 11.
Gambar 11. Halaman Indeks Detik-Inet
Tombol Fungsi
Provider Situs Menampilkan halaman form provider situs
Direktori Situs Menampilkan halaman form direktori situs
Regex Menampilkan halaman form regex
Stopword Menampilkan halaman form stopword
Change Password Menampilkan halaman form ganti password
Logout Digunakan untuk melakukan logout
Tombol Fungsi
Home Menampilkan halaman utama
Agent Menampilkan halaman untuk setting pengambilan berita
Klasifikasi Untuk menampilkan setting klasifikasi
Profile Untuk menampilkan halaman profile pembuat program
Kontak Untuk menampilkan form contact
Search
Digunakan untuk menampilkan berita sesuai dengan
kategori
Output yang dihasilkan dari uji coba ini. Enam berita yang ada pada halaman direktori DetikInet berhasil diambil dan disimpan dalam database. Output dari uji coba ini dapat dilihat pada Gambar 12.
Gambar 12. Output hasil uji coba pengambilan berita pada DetikInet
2. Uji coba fuzzy search
Uji coba ini untuk mengetahui apakah aplikasi dapat menemukan keyword-keyword dari suatu kategori pada suatu berita.
Gambar 13. Detil Kategori
Pada percobaan yang kali ini kategori yang dipilih adalah sepakbola. Keyword-keyword yang mendefinisikan sepakbola dapat dilihat pada Gambar 13. Berita yang diambil adalah berita yang memang berhubungan dengan sepakbola. Isi berita tersebut dapat dilihat pada Gambar 14. Setelah dilakukan proses fuzzy search dengan menggunakan algoritma Edit Distance dan menghitung nilai error kesalahan tiap kata dengan rumus (1), aplikasi dapat mengeluarkan output seperti pada Gambar 15.
Gambar 14. Isi berita dan keywordkeyword yang ditemukan
Gambar 15. Output hasil uji coba fuzzy search
Dari hasil uji coba fuzzy search yang dilakukan, aplikasi sudah dapat menemukan keyword-keyword pada berita yang tepat (error = 0) dan juga kata-kata yang tidak pasti tepat dengan keyword, dengan error yang lebih dari 0 tetapi tidak lebih dari error level dari keyword tersebut
3. Uji coba klasifikasi dengan metode association rule
Tujuan dari uji coba ini adalah untuk mengetahui apakah proses pengklasifikasian dengan metode association rule pada aplikasi ini sudah berjalan sesuai dengan yang diharapkan. Jumlah kategori yang sudah tersimpan pada database terdapat 6 kategori yang dapat dilihat pada tabel 3 dibwah ini.
No Kategori Keyword
1. Sepakbola sepakbola, kiper, striker, gelandang, kapten,
stadion, pemain, liga, pelatih, penalti,
scudetto, champions, klasemen, skuad,
gawang, bola
2. Basket basket, pemain, pelatih, rebound, forward, , bola, nba, ibl
3. Voli voli, turnamen, bola, spiker, atlet
4. Tenis tenis, pemain, raket, turnamen, bola, wimbledon
5 Bulutangkis bulutangkis, raket, pemain, pelatih
6. F1 F1, klasemen, ferrari, schumacher, renault, michelin, bridgeston
Tabel 3. Tabel Daftar Kategori
Gambar 16. Berita untuk ujicoba AR
Gambar 17. Keyword-keyword yang ditemukan pada isi berita
Keyword-keyword yang ditemukan pada berita Gambar 16.
dapat dilihat pada Gambar 17.
Pemecahan masalah pengklasifikasian dengan metode Association Rule adalah sebagai berikut :
a. Menemukan semua itemset pada transaction support. Pada proses ini, digunakan rumus (2) dan (3). Hasil perhitungan ditampilkan pada Gambar 18.
Gambar 18. Tabel Itemset pada transaction support
b. Menemukan Frequency Itemset dari transaction support untuk menghasilkan ragam kemungkinan atau kesimpulan. Pada proses ini, digunakan rumus (4). Hasil perhitungan ditampilkan pada Gambar 19.
Gambar 19. Tabel Frequency Itemset
Total kategori pada proses menemukan semua itemset pada transaction support, akan digunakan untuk menghitung prosentase pada frekuensi itemset. Sehingga dengan demikian, untuk mengetahui kesimpulan yang terbaik adalah dengan mengacu pada kategori yang memiliki prosentase frequency itemset yang tertinggi. Pada Gambar 16 ditunjukkan dengan nilai 35,29% untuk kategori basket. Sehingga pada proses uji coba ini, keluaran dari aplikasi sesuai dengan yang diharapkan yaitu kategori basket.
4. Uji coba aplikasi secara keseluruhan
Pada uji coba kali ini akan diambil semua berita
olahraga yang tersimpan di dalam database. Tabel 4
menunjukkan hasil uji coba klasifikasi secara keseluruhan.
No Judul Berita Output yang
diharapkan
Hasil
keluaran
sistem
1 Taufik Istirahat, Sony
Diturunkan Hadapi Cina Bulutangkis Bulutangkis
2 Real Larang Beckham
Perkuat Inggris Sepakbola Sepakbola
3 Pistons Kalahkan Heat dan
Shaq Basket Basket
4 Catatan GP AS F1 F1
5 Mata Tidak Menyesal Pindah Sepakbola Sepakbola
6 Petenis Papan Atas Sulit Dibendung
Tenis Tenis
7 Benitez Segera Rombak Tim
Liverpool Sepakbola Sepakbola
8 Sambut Liverpool, Banyak Pekerja Ijin Libur
Sepakbola Sepakbola
9 Berlusconi Jamin Ancelotti
tak Dipecat Sepakbola Sepakbola
10 Reina Hampir Pasti ke Liverpool
Sepakbola Sepakbola
11 Flores Pelatih Baru Valencia Sepakbola Sepakbola
12 Brasil Tanpa Ronaldo di PPD dan Piala Konfederasi
Sepakbola Sepakbola
13 Larsson Bertahan Satu
Musim Lagi di Barca Sepakbola Sepakbola
14 Voli Kualifikasi Kejuaraan Dunia
Voli Voli
15 Jelang Tenis Wimbledon Tenis Tenis
16 Ralf Yakin Schumi Segera
Pensiun F1 F1
17 Schumi: Balapan Yang Aneh F1 F1
18 Final NBA Basket Basket
19 GP AS F1 F1
20 Jelang Gim 7 Final NBA Basket Basket
21 Tenis Wimbledon Tenis Tenis
22 Tim-Tim Michelin Terancam
Dihukum F1 F1
23 Bulutangkis Singapura Terbuka
Bulutangis Voli
24 Alonso Pun Menunggu
Momen Finis F1 F1
25 Bhayangkara GG Rally
Indonesia
Tidak
terklasifikasi
Tidak
terklasifikasi
26 Chilavert Terkena Hukuman
Percobaan Enam Bulan Sepakbola Sepakbola
27 Van der Sar Siap Berkorban
Buat MU Sepakbola Sepakbola
28 Ferdinand Diminta
Tandatangani Kontrak Baru Sepakbola Sepakbola
29 Celtic Yakin Kontrak
Nakamura Sepakbola Sepakbola
30 IBL Seri 13 Basket Sepakbola
31 'BAR Bisa Menang Tahun
Ini' F1 F1
Tabel 4. Tabel Hasil Uji Coba Klasifikasi secara keseluruhan
Dari hasil tabel uji coba pada Tabel 4 dapat dilihat terdapat 31 berita olahraga yang tersimpan pada database sampai saat uji coba dilakukan. Bagian yang memiliki warna dasar abu-abu adalah berita yang tidak dapat diklasifikasikan dengan benar. Terdapat 2 berita yang tidak dapat diklasifikasikan sesuai dengan yang diharapkan karena jumlah keyword yang didapat untuk kategori yang diharapkan lebih sedikit. Untuk mengetahui prosentase tingkat akurasi atau kualitas dari klasifikasi yang dihasilkan digunakan rumus (5).
Dari tingkat akurasi yang dihasilkan dapat dikatakan
bahwa tingkat kualitas dari klasifikasi yang dihasilkan sudah sesuai dengan yang diharapkan.
KESIMPULAN
Dari keseluruhan hasil uji coba fungsionalitas terhadap aplikasi, disimpulkan bahwa sistem aplikasi secara fungsionalitas dinyatakan berhasil. Hal ini dibuktikan dengan kesamaan hasil antara keluaran yang diharapkan dengan keluaran sistem aplikasi. Dengan tingkat akurasi 93.54 % yang dihasilkan pada uji coba ke 4, maka dapat disimpulkan bahwa metode Fuzzy Search dan Association Rule dapat bermanfaat bila digunakan untuk proses pengklasifikasian.
Kekurangan dari aplikasi ini yaitu user tidak dapat melakukan penambahan provider situs dan melakukan perubahan pola regex sendiri karena dibutuhkan suatu kemampuan untuk menganalisa struktur situs dan membentuk pola regex yang dapat mengambil data berita pada situs tersebut. Kekurangan ini sekaligus menjadi tantangan dalam pengembangan penelitian dari aplikasi ini.
DAFTAR PUSTAKA
[1] J Ankita Sharma, "Intelligent information retrieval system: a survey", Advance in Electronic and Electric Engineering ISSN 2231-1297, Volume 3, Number 1 (2013), pp. 63-70.
[2] Marcin Maleszka, Bernadetta Mianowska, Ngoc Thanh Nguyen, "Agent and Multi-Agent Systems: Technologies and Applications", Lecture Notes in Computer Science Volume 5559, 2009, pp 151-162
[3] Surya B. Yadav,"A conceptual model for user-centered quality information retrieval on the World Wide Web", Journal of Intelligent Information Systems35.1 (Aug 2010): 91-121
[4] Dembskey, Evan; Biermann, Elmarie. "Towards an Intelligent Software Agent System as Defense Against Botnets", International Conference on Information Warfare and Security: 298-V. Reading: Academic Conferences International Limited. (Mar 2011)
[5] Corley, Courtney D; Cook, Diane J, Mikler, Armin R, Singh, Karan, "Text and Structural Data Mining of Influenza Mentions in Web and Social Media ", International Journal of Environmental Research and Public Health7.2 (Feb 2010): 596-615.
Akurasi = 31
X 100% 29
Akurasi = 93,54 %
[6] Baeza-yates, Ricardo; Pasi, Gabriella, "Special issue of The Journal of Information Retrieval on web mining for search", Information Retrieval14.3 (Jun 2011): 213-214.
[7] Alguliev, Rasim; Gasimova, Rena."Identification of Categorical Registration Data of Domain Names in Data Warehouse Construction Task, "Intelligent Control and Automation4.2 (May 2013): 227-234.
[8] Andoni, Alexandr; Krauthgamer, Robert. "The Computational Hardness Of Estimating Edit Distance", SIAM Journal on Computing39.6 (2010): 2398-2429.
[9] Azevedo, Paulo J; Jorge, Alpio Mrio, "Ensembles of jittered association rule classifiers", Data Mining and Knowledge Discovery21.1 (Jul 2010): 91-129
[10] Tsao, Nai-Lung; Chin-Hwa Kuo; Wible, David; Tsung-Fu, Hung, "Designing a Syntax-Based Retrieval System for Supporting Language Learning", Journal of Educational Technology & Society12.1 (2009): n/a.
[11] Riyanto Steven, PHP: Kumpulan Resep Pemrograman, PT. Dian Rakyat, Jakarta. , 2004:2.