Penerapan Internet Agent Untuk Mengklasifikasikan Berita Secara Otomatis.pdf

11
 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 [email protected] Abstrak   Belakangan 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 I nte r ne t Agent  menjadi populer digunakan untuk mencari informasi yang berguna di Internet. I nte rnet Ag ent  memiliki kemampuan untuk menjelajah internet untuk melakukan pencarian, pemfilteran, dan penyajian informasi bagi user, secara mandiri. Penerapan I nte r ne t A gent  dan penggunaan metode F uzz y Sea rch  dan  Asso cia tio n R ule  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  se a rch, a sso cia t ion 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.  We b Mi ning 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.

Transcript of Penerapan Internet Agent Untuk Mengklasifikasikan Berita Secara Otomatis.pdf

  • 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

    [email protected]

    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.