PERANCANGAN DAN PEMBUATAN APLIKASI PENGAMBIL INFORMASI BERITA SECARA OTOMATIS.

(1)

PERANCANGAN DAN PEMBUATAN APLIKASI

PENGAMBIL INFORMASI BERITA SECARA OTOMATIS

TUGAS AKHIR

Diajukan kepada Jurusan Teknik Informatika Fakultas Teknologi Industri

Universitas Pembangunan Nasional "Veteran" Jawa Timur Untuk menyusun Skripsi S-I

Disusun Oleh:

MAMIK ELISAH

NPM. 0634010151

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JATIM 2010


(2)

PERANCANGAN DAN PEMBUATAN APLIKASI

PENGAMBIL INFORMASI BERITA SECARA OTOMATIS

TUGAS AKHIR

Diajukan Guna Memenuhi Sebagian Persyaratan Untuk Memperoleh Gelar Sarjana Komputer

Pada

Jurusan Teknik Informatika Fakultas Teknologi Industri

Universitas Pembangunan Nasional “Veteran” Jawa Timur

Mengetahui/Menyetujui, Dosen Pembimbing I

(Nur Cahyo Wibowo, S.Kom, M.Kom) NIP. 379 030 401 97

Dosen Pembimbing II

(Intan Yuniar Purbasari, S.Kom) NIP. 380 060 401 98

S U R A B A Y A

SEPTEMBER, 2010


(3)

i

ABSTRAK

Masyarakat banyak disuguhkan dengan berbagai situs berita. Mulai dari situs berita yang simple dengan kategori yang sedikit sampai situs berita yang menyediakan berbagai macam kategori.Semakin lama situs yang menyediakan berbagai macam kategori semakin memberikan ruang yang banyak untuk penempatan banner atau iklan dengan alasan untuk meningkatkan pendapatan situs. Sebagai akibatnya dalam mendapatkan informasi pengguna harus terbebani oleh banner atau iklan tersebut. Sehingga kebanyakan pengguna hanya mengakses situs – situs berita tersebut untuk membaca berita terbaru yang umumnya tersaji melalui kepala berita (headline), berita pada halaman utama situs tersebut. Banyak diantara pengguna, terutama dari pengguna yang mempunyai bandwitdth koneksi internet terbatas, jarang mengakses berita utama dari headline

Aplikasi software agent dalam tugas akhir ini dapat mendapatkan berita melalui link berita yang telah didapatkan. Htmlparser digunakan sebagai proses parsing dan filtering dalam pencarian sebuah berita.

Aplikasi telah diuji coba dan dapat dapat disimpulkan bahwa proses pengambilan informasi menggunakan software agent secara keseluruhan dari situs berita secara otomatis ini akan memberikan kemudahan dan ke efisien bagi pengguna dalam memperoleh berita yang lengkap tanpa harus mengakses langsung situs - situs berita tersebut. Proses pengambilan informasi secara otomatis ini juga sangat memudahkan pengarsipan berita dan memahami kronologis kejadian dari berita tersebut


(4)

ii

KATA PENGANTAR

Segala puji dan syukur semata ditujukan ke hadirat ALLAH SWT yang telah memberikan rahmat dan hidayah-Nya sehingga memungkinkan penulis untuk menyelesaikan Tugas Akhir yang berjudul “PERANCANGAN DAN

PEMBUATAN APLIKASI PENGAMBIL INFORMASI BERITA SECARA OTOMATIS”. Mata Kuliah Tugas Akhir yang memiliki beban sebesar 4 satuan

kredit disusun dan diajukan sebagai salah satu syarat untuk menyelesaikan program strata satu (S-1) pada jurusan Teknik Informatika di Universitas Pembangunan Nasional “Veteran” Jatim.

Dalam penyusunan Tugas Akhir ini, Penulis berusaha untuk menerapkan ilmu yang telah didapat selama menjalani perkuliahan dengan tidak terlepas dari petunjuk, bimbingan, bantuan, dan dukungan berbagai pihak.

Dengan tidak lupa akan kodratnya sebagai manusia, Penulis menyadari bahwa dalam karya Tugas Akhir ini masih mengandung kekurangan di sana-sini sehingga dengan segala kerendahan hati Penulis masih dan insya Allah akan tetap terus masih mengharapkan saran serta kritik yang membangun dari rekan-rekan pembaca.

Surabaya, 8 Oktober 2010 Penulis


(5)

iii

UCAPAN TERIMA KASIH

Dengan tak bosannya mengucapkan syukur Alhamdulillah kepada Allah

SWT, yang telah memberi terlalu banyak dari yang layak penulis terima, telah

penulis curi sekelumit misteri-Mu, dan penulis kembalikan dalam bentuk buku ini. Di kesempatan ini, Penulis hendak menyampaikan rasa penghormatan yang setingginya serta rasa terima kasih kepada pihak-pihak yang telah memberi bantuan baik itu berupa moril maupun material dan langsung maupun tidak langsung kepada:

1. Terima kasih kepada bapak, ibu, adik dan keluarga yang telah memberi doa dan dukungan yang sangat besar kepada penulis selama ini hingga dapat menyelesaikan tugas akhirnya.

2. Bapak Ir.Sutiyono, MT, selaku Dekan Fakultas Teknologi Industri, semoga FTI dapat terus maju dan berkembang.

3. Bapak Basuki Rahmat, S.Si, MT, selaku Kepala Jurusan semoga Teknik Informatika semakin maju dan berkembang di bawah kepemimpinan beliau. 4. Bapak Nur Cahyo Wibowo S.Kom, M.Kom, selaku dosen pembimbing

pertama yang telah memberikan ide bagi pengerjaan tugas akhir serta memberikan banyak bimbingan dan masukan bagi tugas akhir ini.

5. Ibu Intan Yuniar Purbasari S.Kom, selaku dosen pembimbing kedua yang telah memberikan ide bagi pengerjaan tugas akhir serta memberikan banyak bimbingan dan masukan bagi tugas akhir ini. Dan sangat berterima kasih sekali karena bukan hanya sebagai dosen pembimbing tapi juga sebagai dosen wali yang selama ini telah membimbing penulis selama perkuliahan ini.


(6)

iv

6. Bapak I Gede Susrama, ST, M.Kom, selaku KaLab Bahasa Pemrograman. Banyak ilmu yang didapatkan penulis dari beliau.

7. Semua dosen jurusan Teknik Informatika yang telah membagikan ilmunya selama penulis menjalani masa perkuliahan.

8. Seluruh staf dan karyawan jurusan Teknik Informatika yang selalu siap membantu penulis dalam hal administrasi perkuliahan.

9. Siti Hajar,Angga Waristman, Andi Setiawan, Yanica Endra, Mas Sugiarto, dengan kesabarannya telah banyak membantu memberi masukan-masukan dalam penyelesaian tugas akhir ini.

10.Mas ahwan, Terima kasih atas logika – logika dan masukannya dalam tugas akhir ini.

11.Teman – teman mantan Asisten laboratorium bahasa pemrograman yang selalu memberikan semangat dan motivasi dalam mengerjakan tugas akhir ini. 12.Dhika, Deni, Candra, Suep, Hajar, Rosi terima kasih karena telah

mendengarkan semua keluhan dan beban hati hingga terselesaikannya tugas akhir ini.

13.Terima kasih untuk semuanya yang telah memberikan Do’a dan motivasi hingga terselesaikannya tugas akhir ini.

14.Teman-teman lain yang tidak dapat penulis sebutkan satu persatu dalam halaman ini.

Tiada untaian kata yang cukup yang dapat penulis sampaikan sebagai balas atas jasa yang penulis terima melainkan hanya harapan semoga ALLAH SWT membalas semua amal tersebut. Jazakumullah Khairan Katsiran.


(7)

v

DAFTAR ISI

ABSTRAK ... I KATA PENGANTAR... II UCAPAN TERIMA KASIH ... III DAFTAR ISI...V DAFTAR GAMBAR... IVII DAFTAR TABEL ...VII

BAB 1 ...1

PENDAHULUAN ...1

1.1 Latar Belakang ...1

1.2 Perumusan Masalah ...2

1.3 Pembatasan Masalah ...2

1.4 Tujuan Pembuatan Tugas Akhir ...3

1.5 Manfaat Pembuatan Tugas Akhir ...3

1.6 Metodologi Pembuatan Tugas Akhir ...3

1.7 Sistematika Penulisan ...5

BAB 2 ...7

TINJAUAN PUSTAKA...7

2.1 Software Agent ...7

2.2 Klasifikasi Software Agent menurut karakteristik yang dimiliki ...8

2.2.1 Delegation Software Agent...10

2.3 Klasifikasi Software Agent menurut bentuk yang dimiliki ...10

2.3.1 Conventional Agent ...13

2.4 HtmlParser ...13

2.4.1 Class – class dari HtmlParser...16

2.4.1.1 Parser...16

BAB 3 ...21

PERANCANGAN SISTEM ...21

3.1 Gambaran Umum sistem...21

3.2 Use Case Diagram...22

3.2.1 Use Case Diagram Administrator ...22

3.2.2 Use Case Diagram Pengguna...23

3.2.3 Use Case Diagram Agent...24

3.3 Activity Diagram ...24


(8)

vi

3.3.2 Activity Diagram Manipulasi Direktori...26

3.3.3 Activity Diagram Pengambilan Berita...28

3.4 Class Diagram ...29

3.5 Struktur Website ...32

3.5.1 Liputan6.com ...32

3.5.2 kompas.com ...34

BAB 4 ...37

IMPLEMENTASI PERANGKAT LUNAK...37

4.1 Alat yang Digunakan ...37

4.1.1 Perangkat Keras ...37

4.1.2 Perangkat Lunak ...37

4.2 Implementasi Basis Data...38

4.2.1 Data tabel Situs ...38

4.2.2 Data Tabel Direktori ...38

4.2.3 Data Tabel Berita ...38

4.3 Implementasi Proses Pencarian Berita...39

4.3.1 Class ParserLink ...39

4.3.2 Class ParserHtml...41

4.4 Implementasi Aplikasi Desain Antarmuka ...42

4.4.1 Form Tampilan Utama ...42

4.4.2 Form Situs ...44

4.4.3 Form Direktori ...45

4.4.4 Form Cari ...47

4.4.5 Form Hasil Cari...48

4.4.6 Form Bantuan...49

BAB 5 ...50

UJI COBA DAN ANALISIS HASIL...50

5.1 Lingkungan Uji Coba...50

5.1.1 Client...50

5.2 Skenario Uji Coba...50

5.2.1 Uji Coba Pada Situs Liputan6...51

5.2.1.1 Perancangan Skenario Parser ...51

5.2.1.2 Pengambilan Berita ...52

5.2.2 Uji Coba Pada Situs Kompas ...55

5.2.2.1 Perancangan Skenario Parser ...55

5.2.2.2 Pengambilan Berita ...56

5.2.3 Uji Coba Browsing ...59

5.2.4 Perbandingan Uji Coba Aplikasi dan Browsing ...60

BAB 6 ...63

KESIMPULAN DAN SARAN ...63

6.1 Kesimpulan ...63

6.2 Saran ...64


(9)

7

BAB 2

TINJAUAN PUSTAKA

Dalam bab ini dijelaskan mengenai metode dan tool yang dipakai dalam aplikasi ini, khususnya tentang Software Agent dan HtmlParser.

2.1 Software Agent

Pertama-tama dimulai dengan mendefinisikan software agent dari arti kamus. Di dalam kamus Webster’s New World Dictionary [Abdul K, 2007], agent didefinisikan sebagai:

A person or thing that acts or is capable of acting or is empowered to act, for another.

Disini ada dua point yang bisa diambil:

I. Agent mempunyai kemampuan untuk melakukan suatu tugas/pekerjaan. II. Agent melakukan suatu tugas/pekerjaan dalam kapasitas untuk sesuatu, atau

untuk orang lain.

.Ditarik dari point-point diatas mendefinisikan software agent sebagai:

Suatu entitas software komputer yang memungkinkan user (pengguna) untuk mendelegasikan tugas kepadanya secara mandiri (autonomously).

Kemudian beberapa peneliti lain menambahkan satu point lagi, yaitu bahwa agent

harus bisa berjalan dalam kerangka lingkungan jaringan (network environment). Definisi agent dari para peneliti lain pada hakekatnya adalah senada, meskipun

ada yang menambahkan atribut dan karanteristik agent ke dalam definisinya.

Secara lengkap definisi agent dan komparasinya, dirangkumnkan oleh Franklin dalam makalahnya [Abdul K, 2007].


(10)

2.2 Klasifikasi Software Agent menurut Karakteristik yang dimiliki

Untuk memperdalam pemahaman tentang software agent, fungsi, peran,

dan perbedaan mendasar dikaitkan software program yang ada, berikut ini akan dijelaskan tentang beberapa atribute dan karakteristik yang dimiliki oleh software agent. Tentu tidak semua karakteristik dan atribut terangkum dalam satu agent

(lihat bagian 4 tentang klasifikasi software agent). Pada hakekatnya daftar

karakteristik dan atribut dibawah adalah merupakan hasil survei dari karakteristik yang dimiliki oleh agent-agent yang ada pada saat ini.

a. 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 [Abdul K, 2007]. Dan satu hal penting lagi yang mendukung autonomy adalah masalah intelegensi (intelligence) dari agent.

b. 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.

c. Mobility dan Stationary: Khusus untuk mobile agent, dia harus memiliki kemampuan yang merupakan karakteristik tertinggi yang dia miliki yaitu


(11)

Bagaimanapun juga keduanya tetap harus memiliki kemampuan untuk mengirim pesan dan berkomunikasi dengan agent lain.

d. Delegation: Sesuai dengan namanya dan seperti yang sudah kita bahas pada

bagian definisi, agent bergerak dalam kerangka menjalankan tugas yang

diperintahkan oleh user. Fenomena pendelegasian (delegation) ini adalah

karakteristik utama suatu program disebut agent.

e. Reactivity: Karakteristik agent yang lain adalah kemampuan untuk bisa cepat beradaptasi dengan adanya perubahan informasi yang ada dalam suatu lingkungan (enviornment). Lingkungan itu bisa mencakup: agent lain, user, adanya informasi dari luar, dsb [Abdul K, 2007].

f. Proactivity dan Goal-Oriented: Sifat proactivity boleh dikata adalah kelanjutan dari sifat reactivity. Agent tidak hanya dituntut bisa beradaptasi terhadap perubahan lingkungan, tetapi juga harus mengambil inisiatif langkah penyelesaian apa yang harus diambil [Abdul K, 2007]. Untuk itu agent harus didesain memiliki tujuan (goal) yang jelas, dan selalu berorientasi kepada tujuan yang diembannya (goal-oriented).

g. Communication and Coordination Capability: Agent harus memiliki

kemampuan berkomunikasi dengan user dan juga agent lain. Masalah proses

komunikasi dengan user adalah masuk ke masalah user interface dan perangkatnya, sedangkan masalah komunikasi, koordinasi, dan kolaborasi

dengan agent lain adalah masalah sentral penelitian Multi Agent System

(MAS). Bagaimanapun juga untuk bisa berkoordinasi dengan agent lain

dalam menjalankan tugas, perlu bahasa standard untuk berkomunikasi [Abdul K, 2007]. Tim Finin1 dan Yannis Labrou2 adalah peneliti software agent yang


(12)

banyak berkecimpung dalam riset mengenai bahasa dan protokol komunikasi

antar agent. Salah satu produk mereka adalah Knowledge Query and

Manipulation Language (KQML). Kemudian masih berhubungan dengan ini komunikasi antar agent adalah Knowledge Interchange Format (KIF).

2.2.1 Delegation Software Agent

Sebuah delegation software agent adalah program komputer yang bergerak dalam kerangka menjalankan tugas yang diperintahkan oleh user. Fenomena pendelegasian (delegation) ini adalah karakteristik utama suatu program disebut agent.

2.3 Klasifikasi Software Agent menurut bentuk Software Agent

Dibawah ini adalah berbagai bentuk software agent yang telah didefinisikan : a. System Agent : latar belakang yang selalu akan dijalankan atau daemon yang

memiliki tujuan khusus, khusus diprogram

b. User Agent : client – sisi interface pengguna untuk aplikasi jaringan. Misalnya , web browser untuk mengakses World Wide Web

c. Client Agent : client – sisi interface pengguna untuk aplikasi berbasis server seperti search engine atau deel-seeking. Sisi server biasanya hanya melakukan pencarian database pada database yang dikelola secara independent oleh beberapa bentuk penjelajah web yang memantau perubahan ke situs web.

d. Web Crawler : sebuah program berbasis server yang terus menerus atau

berkala scan web atau bagian yang dipilih dari web untuk mencari informasi

1 : [Finin et al., 1993 dalam T05_C.pdf] [Finin et al., 1994 dalam Abdul K, 2007] [Finin et al., 1995 dalam Abdul K, 2007] [Finin et al., 1997 dalam Abdul K, 2007]


(13)

yang menarik. Hal ini tidak benar – benar agent karena tidak bertindak atas pengguna diskrit, tetapi mengumpulkan data yang dapat digunakan untuk semua pengguna

e. Conversational Agent : program interaktif yang menghadirkan sangat

user-friendly interface dan kemudian melakukan tugas – tugas tertentu sebagaimana yang ditentukan oleh pengguna. Karena langsung menanggapi permintaan pengguna dan benar – benar tidak beroperasi secara mandiri.

f. Intelligent Agent : sebuah program yang melakukan tugas atau mengejar

tujuan dengan arah yang minimal spesifik, menggunakan teknik cerdas atau heuristic yang menyatakan bahwa pengguna terkesan bahwa komputer benar – benar pintar. Sebuah intelligent agent tidak perlu mobile karena berbagai macam informasi di web dapat diakses dari jauh.

g. Mobile Agent : program otonom yang bermigrasi antara sistem host dalam

proses mengejar satu atau lebih tujuan. Mobile agent tidak benar – benar cerdas, namun memiliki fleksibilitas yang cukup untuk menangani lingkungan di mana dapat mengubah hal – hal atau bisa diakses setiap saat.

h. (Closed) Multi-Agent System : aplikasi lingkungan yang terpadu dimana

bagian – bagian dari aplikasi yang dibagi – bagi kepada mini-progran untuk mengejar sub-tujuan.

i. Open Multi-Agent System : aplikasi terdistribusi yang programnya dibangun

secara mandiri (agent) dapat berpartispasi dalam interaksi yang terstruktur di mana agent memiliki tingkat signifikan yang menjadi kepentingan bersama.

j. Ultimate Software Agent : sebuah program yang sangat cerdas dan fleksibel


(14)

dibatasi untuk cyberspace. Selain itu, AS memiliki kemampuan untuk secara dinamis split itu sendiri ke dalam sub-agen yang dapat melakukan sub-tugas dan beroperasi secara paralel dengan tingkat interaksi. A USA juga bisa clone itu sendiri (atau, lebih baik, secara otomatis kloning oleh infrastruktur agen) untuk mengeksploitasi paralelisme melekat jaringan. Split atau sub-agen kloning dapat digabungkan pada titik apapun sebagaimana layaknya baik untuk fungsi atau kinerja keseluruhan agen. A USA juga dapat berinteraksi dengan lainnya, USAs independen (komunitas USAs) untuk yang Amerika Serikat tidak memiliki kesadaran pra-diprogram. Berbagai macam bahasa pemrograman, teknik pelaksanaan, dan protokol komunikasi dapat digunakan. Setiap Amerika Serikat sepenuhnya interoperable dengan setiap USA lainnya, tunduk hanya pada kontrol administratif dan batas-batas sumber daya.

k. Robot : perangkat lunak agen cerdas yang bergerak di dunia nyata. Robot

tidak bisa clone diri mereka sendiri, hari ini, tetapi dalam teori robot secara fisik DAPAT membangun salinan sendiri ATAU membeli atau menyewa "kosong" (atau shell) robot (ala rental mobil). Dalam teori, robot bisa "transportasi" sendiri ke lokasi lain hanya dengan mendapatkan sebuah shell kosong di lokasi lain dan kemudian "upload" negara lunak untuk bahwa robot "lain kosong". Robot itu mungkin memilih untuk mengosongkan shell asli atau hanya dapat menggunakan mekanisme ini untuk kloning.

l. Robot Community :robot yang dapat berinteraksi dalam mengejar kepentingan

bersama.

m. Hybrid Robot / Agent : robot yang dapat berinteraksi dengan agen satu atau lebih perangkat lunak, atau agen perangkat lunak yang dapat berinteraksi


(15)

dengan satu atau lebih robot. Hal-hal benar-benar menarik ketika sebuah komunitas robot berinteraksi dengan komunitas agen perangkat lunak! Perlu diketahui juga bahwa robot bisa mentransfer perangkat lunak untuk negara agen perangkat lunak dan kemudian beroperasi di dunia maya JIKA AS itu adalah agen perangkat lunak dan kemudian RETURN negaranya kembali ke robot. Seorang agen perangkat lunak bisa melakukan sebaliknya: negara transfer ke dalam sebuah robot fisik, mengoperasikan robot, dan kemudian kembali negaranya kembali ke dunia maya. Robot dapat bertindak JIKA AS itu adalah agen perangkat lunak menggunakan akses remote. Dan agen perangkat lunak juga dapat mengoperasikan robot fisik langsung dari dunia maya, juga menggunakan akses remote. Bahkan, agen tunggal software (atau tim dari agen) bisa beroperasi beberapa robot di lokasi yang sama atau berbeda, termasuk interaksi pengendalian robot tersebut.

2.3.1 Conversational Agent

Sebuah conversational agent adalah program interaktif yang menghadirkan sangat user friendly interface dan kemudian melakukan tugas – tugas tertentu sebagaimana yang ditentukan oleh pengguna. Karena langsung menanggapi permintaan pengguna dan benar – benar tidak beroperasi secara mandiri.

2.4 HtmlParser

HTML Parser adalah library java yang digunakan untuk mengurai HTML baik secara linear atau bersarang. Terutama digunakan untuk transformasi atau ekstraksi, fitur filter, pengunjung, tag kustom yang mudah digunakan. HTML


(16)

parser merupakan sebuah parser real- time yang super cepat untuk HTML di dunia nyata. Yang paling menarik disini adalah kesederhanaan desain, kecepatan dan kemampuan untuk menangani html streaming dunia nyata.

Secara umum, untuk menggunakan HTMLParser perlu untuk dapat menulis kode dalam bahasa pemrograman java. Meskipun beberapa contoh disediakan yang mungkin berguna tapi lebih besar kemungkinan untuk membuat program sendiri atau memodifikasi agar sesuai dengan aplikasi yang diinginkan. Untuk menggunakan library, harus menambahkan htmlparser.jar untuk setting classpath sebelum penyusunan program. Htmlparser.jar yang merupakan kelas dari htmllexer.jar menyediakan akses ke sebuah halaman sebagai urutan tag dibedakan oleh nested yang mengandung string, remark dan tag node lainnya. Jadi di mana output dari panggilan ke metode nextnode lexer () mungkin :

Output dari parser NodeIterator adalah tag bersarang sebagai anak – anak dari <html>, <head> dan node lain :

<html> <head> <title>

"Selamat Datang" </ Title>

</ Head> <body> dll ..

<html> <head> <title>

"Selamat Datang" </ Title>

</ Head> <body>


(17)

The parser berusaha untuk menyeimbangan tag pembuka dengan tag penutup untuk menyajikan struktur halaman. Jika aplikasi hanya memerlukan pengetahuan struktur sederhana dari halaman, dan terutama terkait dengan individual, node yang terisolasi. Harus mempertimbangkan menggunakan lexer yang ringan. Tapi jika aplikasi membutuhkan pengetahuan tentang struktur bersarang halaman, misalnya pengolahan tabel, mungkin akan menggunakan parser penuh.

Ekstraksi mencakup semua program pencarian informasi yang tidak dimaksudkan untuk sumber halaman. Penggunaan seperti ini meliputi :

a. teks ekstraksi, digunakan sebagai masukan untuk database mesin pencari misalnya teks.

b. link ekstraksi, digunakan untuk merangkak melalui halaman web atau panen

alamat email

c. layar scraping, untuk input data program dari halaman web

d. ekstraksi sumberdaya, mengumpulkan gambar atau suara

e. akhir browser depan, tahap awal tampilan halaman f. memeriksa link, memastikan link yang valid

g. monitoring situs, memeriksa perbedaan halaman luar diffs sederhana

Ada beberapa fasilitas dalam basis kode HTMLParser untuk membantu ekstraksi, termasuk filter, pengunjung dan JavaBeans

Transformasi mencakup semua proses dimana input dan outputnya adalah halaman HTML. Beberapa contoh :


(18)

II. Menangkap Situs, memindahkan konten dari web ke disk lokal III.Sensor, menghapus kata-kata menyinggung dan frasa dari halaman

IV.cleanup HTML, mengoreksi halaman yang salah

V. iklan removal, excising referensi URL iklan

VI.konversi ke XML, memindahkan halaman web yang ada ke XML

Dari penjelasan diatas, operasi pada node dapat menyelesaikan tugas-tugas banyak tranformasi yang kemudian dapat menjadi output dengan metode toHtml(). Tergantung pada tujuan aplikasi yang dibuat, mungkin akan ingin melihat ke dalam decorator node, pengunjung, atau tag kustom dalam hubungannya dengan PrototypicalNodeFactory tersebu

2.4.1 Class dari Htmlparser

2.4.1.1Parser

Parser adalah kelas utama dari library HTML Parser. Disini menyediakan konstruktor yang mengambil String, URL Connection, atau lexer. Dalam kasus String, cek dan lihat jika pertama kali karakter non-spasi adalah <, maka diasumsikan HTML. Jika tidak dilakukan untuk membuka sebagai URL, dan jika gagal maka itu dianggap sebagai file disk local. Jika ingin mengurai sebuah String setelah menggunakan konstruktor no-args, gunakan setInputHTML(). Atau dapat menggunakan createParser (). Parser menyediakan akses ke isi halaman, melalui NodeIterator, sebuah NodeList atau NodeVIsitor. Contoh penggunaan parser adalah

Parser parser = Parser baru ("http://whatever"); daftar NodeList = parser.parse (null);


(19)

Jenis node dan apa yang harus dilakukan tergantung pada konfigurasi, namun secara umum node dapat diubah kembali menjadi HTML dan children (node terlampir) dan parent dapat diperoleh dengan node bersarang. Lihat antarmuka node. Misalnya, jika URL berisi :

Misalnya, jika URL berisi:

dan contoh kode diatas digunakan, hanya berisi daftar satu elemen, node <html>. Node ini adalah tag, yang merupakan objek class Html disertakan NodeFactory(PrototypicalNodeFactory a). untuk mendapatkan konten lebih lanjut, children dari node tingkat atas harus diperiksa. Ketika menggali melalui daftar node seseorang harus sadar akan kemungkinan spasi antara node, misalnya pada contoh diatas

Akan mencetak lima, bukan dua, karena ada baris baru setelah <html>, </head> and </body> adalah children simpul HTML selain

<html> <head>

<title> Senin - Apa ide yang buruk </.> judul </ Head>

<body BGCOLOR="#FFFFFF">

Kebanyakan orang memiliki kebencian patologis Senin ... </ Body>

</ Html>

Node node = list.elementAt (0);

sublist NodeList = node.getChildren (); System.out.println (sublist.size ());


(20)

<head> dan <body> node. Karena pemrosesan node begitu umum, dua interface disediakan untuk memudahkan tugas ini, filters dan visitors Adapun kelas lainnya dalam Htmlparser adalah :

a. Node List : Kelas ini menampung node

b. TagNameFilter : Kelas ini menerima semua tag yang cocok dengan

nama tag.

c. SimpleNodeIterator : Interface ini berguna saat menggunakan Vektor

HTMl, untuk menghitung melalui unsur – unsurnya secara sederhana, tanpa perlu melakukan class casts untuk node.

d. Node : Menentukan persyaratan minimum untuk pengembalian node

oleh lexer atau parser. Ada tiga jenis node dalam HTML: teks, ucapan dan tag. Jika ingin menentukan node sendiri harus ada pengembalian dari lexer atau parser, tetapi masing – masing jenis harus mendukung interaface ini. Syarat antarmuka yang lebih spesifik untuk jenis node yang ditentukan oleh teks, catatan dan antarmuka tag.

1) Method toPlainTextString : Sebuah representasi string dari node. Ini merupakan metode yang penting, hal itu memungkinkan tranformasi string sederhana dari suatu halaman web, tanpa simpul. Untuk Teks node ini jelas isi dari teks itu sendiri. Untuk Catatan node ini adalah isi dari catatan content(sic). Untuk tag ini adalah isi teks untuk children(jika ada). Karena beberapa node digabungkan ketika menampilkan halaman dalam browser, ini tidak akan mencerminkan penglihatan pengguna. kode aplikasi (hanya untuk mengekstraksi teks dari sebuah halaman web) adalah:


(21)

2) Method toHtml : Pengembalian HTML untuk node ini. Ini harus urutan karakter yang dihadapi oleh parser yang menyebabkan pembuatan node. Dimana ini rusak adalah di mana node rusak (tag dan remarks) telah ditemukan dan diperbaiki. Aplikasi mereproduksi html dapat menggunakan metode ini pada node yang harus digunakan atau dialihkan karena mereka diterima atau diciptakan.

3) Method toString : Pengembalian representasi string dari node.

Nilai kembali mungkin bukan seluruh isi dari node, dan karakter non-printable mungkin dengan kata lain agar dapat terlihat. Hal ini biasanya digunakan dengan cara :

System.out.println (node);

4) Method CollectInto : Kumpulkan node ini dan anaknya ke dalam

daftar, node yang disediakan memenuhi kriteria penyaringan. Mekanisme ini memungkinkan kode penyaringan yang kuat yang akan ditulis sangat mudah, tanpa mengganggu tentang koleksi tag tertanam secara terpisah. umpamanya ketika kita mencoba untuk mendapatkan semua link pada halaman, tidak mungkin untuk mendapatkannya pada tingkat-atas, seperti banyak tag (seperti bentuk tag), bisa berisi link tertanam di dalamnya. Kita bisa mendapatkan link keluar dengan memeriksa apakah simpul saat ini

for (Enumeration e = parser.elements (); e.hasMoreElements ();)


(22)

adalah CompositeTag, dan akan melalui anak-anaknya. Jadi metode ini memberikan cara mudah untuk melakukan hal ini.

Menggunakan collectInto (), program mendapatkan banyak lebih pendek. Sekarang, kode untuk mengekstrak semua link dari halaman akan terlihat seperti:

Dengan demikian, daftar akan memegang semua node link, terlepas dari seberapa dalam link yang tertanam.Cara lain untuk mencapai tujuan yang sama adalah:

NodeList list = new NodeList ();

NodeFilter filter = new TagNameFilter ("A");

for (NodeIterator e = parser.elements (); e.hasMoreNodes ();) e.nextNode ().collectInto (list, filter);

NodeList list = new NodeList ();

NodeFilter filter = new TagClassFilter (LinkTag.class); for (NodeIterator e = parser.elements (); e.hasMoreNodes ();) e.nextNode ().collectInto (list, filter);


(23)

21

BAB 3

PERANCANGAN SISTEM

Pada bab ini akan dibahas mengenai perancangan sistem mulai dari desain

database sampai desain diagram-diagram UML-nya. Sebelum menginjak ke bagian pertama, perlu diketahui bahwa perangkat lunak ini sendiri terdiri dari empat bagian, yaitu .

3.1 Gambaran Umum Sistem

Perangkat lunak yang akan di buat terdiri dari tiga bagian, yaitu administrator, client dan agent. Administrator mengatur segala hal yang berhubungan dengan inserting, updating dan deleting data ke database. Aplikasi inilah yang akan menangani data – data baru yang akan masuk ke sistem. Seperti situs baru, alamat URL dan sebagainya. Demikian juga jika ada perubahan maupun penghapusan terhadap database. Client merupakan aplikasi bagi pengguna berisi antarmuka untuk membaca dan mencari berita. agent berfungsi sebagai agen yang bertugas mengambil berita secara otomatis dan menyimpannya ke dalam database setelah mendapatkan berita dari situs berita atau website berita yang dicari. Fungsi - fungsi yang digunakan client umumnya yang berhubungan dengan akses ke database, dan fungsi – fungsi untuk parsing (filtering) data dari suatu halaman website. Gambar di bawah ini menunjukkan gambaran umum sistem :


(24)

Gambar 3.1 Gambar Arsitektur Sistem

3.2 Use Case Diagram

Use case diagram ini akan menggambarkan hubungan actor dengan proses – proses yang menjadi tanggung jawabnya. Dalam use case diagram ini ada tiga aktor, yaitu Administrator, Pengguna dan Agent. Masing – masing aktor memiliki tanggung jawab masing – masing seperti yang dijelaskan sebagai berikut :

3.2.1 Use Case Diagram Administrator

Use case diagram administrator menggambarkan proses – proses yang dilakukan oleh aktor administrator.Aktor Administrator bertanggung jawab mengelola data – data yang berhubungan dengan tabel – tabel situs dan direktori.

manipulasi situs

administator

manipulasi direktori


(25)

a. Manipulasi Situs : Aktivitas ini merupakan aktivitas administrator yaitu memanipulasi situs dari inserting, updating dan delete suatu data situs. b. Manipulasi Direktori : Aktivitas ini merupakan aktivitas administrator

yaitu memanipulasi direktori dari inserting, updating dan delete suatu data direktori.

3.2.2 Use Case Diagram Pengguna

Use case diagram pengguna menggambarkan proses – proses yang dilakukan oleh aktor pengguna. Aktor pengguna melakukan aktivitas mencari barita dan membaca berita.

mencari berita

pengguna

membaca berita

Gambar 3.3 Use Case Diagram Pengguna

a. Mencari Berita : Aktivitas ini merupakan aktivitas utama pengguna yaitu mencari sebuah berita yang dia inginkan. Dengan memilih nama situs dan direktori dari sebuah halaman website yang sudah tersimpan di database.

b. Membaca Berita : Aktivitas ini merupakan aktivitas pengguna yaitu

membaca berita dan ini merupakan pengguna yang pasif karena hanya memerlukan isi dari berita yang dicari tanpa memperdulikan iklan, banner maupun gambar.


(26)

3.2.3 Use Case Diagram Agent

Use case diagram agent menggambarkan proses – proses yang dilakukan oleh aktor agent. Aktor agent melakukan aktivitas pencarian berita ke internet, melakukan parsing dan menyimpannya ke database.

melakukan pencarian berita

melakukan parsing halaman website

agent

menyimpan berita

Gambar 3.4 Use Case Diagram Agent

a. Melakukan pencarian berita : Aktivitas ini merupakan aktivitas utama

agent yaitu mencari berita yang diinginkan dalam website.

b. Melakukan parsing halaman website : Aktivitas ini merupakan aktivitas agent setelah melakukan pencarian berita yaitu melakukan parsing halaman website hasil dari pencarian berita tersebut.

c. Menyimpan berita : Aktivitas ini merupakan aktivitas agent setelah

melakukan parsing halaman website karena setelah melakukan parsing hasil dari parsing tersebut disimpan ke database.

3.3 Activity Diagram


(27)

beberapa activity diagram yang akan dijelaskan sebagai berikut :

3.3.1 Activity Diagram Manipulasi Situs

Gambar 3.5 Activity Diagram Manipulasi Situs

Aktivity diagram pada gambar diatas menjelaskan tentang proses manipulasi situs. Aktivity diagram tersebut memiliki lima sub-aktivitas. Kelima sub-aktivitas tersebut adalah :

a. Memilih menu admin : Sebelum masuk ke dalam proses manipulasi maka

yang harus dilakukan adalah memilih menu admin pada form pencarian yaitu form utama dari program pencarian berita.


(28)

dan merupakan form situs.

c. Mengisi form situs : yang harus dilakukan dalam proses manipulasi adalah mengisi form situs untuk inserting data.

d. Simpan : Setelah mengisi form situs maka proses selanjutnya adalah

mengklik jbutton yang sudah tersedia agar data yang telah diinsert akan tersimpan di database.

e. Batal : batal bisa saja terjadi apabila administrator tidak melakukan

pengisian form situs dan memilih mengklik jbutton untuk batal dan keluar dari form situs.

3.3.2 Activity Diagram Manipulasi Direktori

Aktivity diagram pada gambar di bawah ini menjelaskan tentang proses manipulasi direktori. Aktivity diagram tersebut memiliki enam sub-aktivitas. Keenam sub-aktivitas tersebut adalah :

a. Memilih menu admin : Sebelum masuk ke dalam proses manipulasi maka

yang harus dilakukan adalah memilih menu admin pada form pencarian yaitu form utama dari program pencarian berita.

b. Memilih menu direktori : Menu direktori merupakan sub menu dari menu

admin dan merupakan form direktori.

c. Mengecek nama situs : sebelum mengisi form situs yang harus dilakukan

adalah mengecek nama situs apakah nama situs yang diinginkan telah tersedia atau masih belum tersedia.

d. Mengisi form direktori : setelah mengecek nama situs dan diasumsikan

nama situs tersedia proses selanjutnya adalah mengisi form direktori untuk inserting data.


(29)

e. Simpan : Setelah mengisi form direktori maka proses selanjutnya adalah mengklik jbutton yang sudah tersedia agar data yang telah diinsert akan tersimpan di database.

f. Batal : batal bisa saja terjadi apabila administrator tidak melakukan

pengisian form direktori ataupun dalam pengecekan nama situs tidak tersedia nama situs yang diinginkan dan memilih mengklik jbutton untuk batal dan keluar dari form direktori.


(30)

3.3.3 Activity Diagram Pengambilan Berita

Aktivity diagram pada gambar di bawah ini menjelaskan tentang proses pengambilan berita. Aktivity diagram tersebut memiliki delapan sub-aktivitas. Kedelapan sub-aktivitas tersebut adalah :

a. Mengambil alamat URL direktori : agent akan mengambil alamat URL

direktori yang terdapat pada form cari sesuai dengan pilihan pengguna pada saat mengisi form cari.

b. Melakukan pencarian : setelah melakukan pengambilan alamat URL

direktori agent akan melakukan pencarian ke internet.

c. Proses pencarian : ini adalah proses yang agent lakukan di internet

mencari sebuah berita.

d. Mendapatkan berita : setelah melalui proses pencarian agent tersebut

mendapatkan berita.

e. Mengirimkan berita : berita yang sudah dicari telah didapatkan maka

selanjutnya adalah mengirimkan berita ke agent untuk proses selanjutnya.

f. Menerima berita : agent akan menerima berita yang dikirimkan oleh

internet.

g. Melakukan parsing halaman website : setelah agent menerima berita

tersebut maka agent akan melakukan parsing halaman website karena yang dibutuhkan hanyalah isi , judul dan waktu dari beritanya saja.

h. Menyimpan URL, judul, waktu dan isi berita ke dalam database : proses

parsing selesai dan selanjutnya adalah menyimpan hasil dari parsing tersebut ke dalam database.


(31)

Gambar 3.7 Activity Diagram Pengambilan Berita

3.4 Perancangan Class Diagram

Class diagram pada Gambar 3.8 menggambarkan 19 class. Class pertama bertindak sebagai MDI Form yaitu class pencarian utama. Lima class bertindak sebagai Form yang dipanggil oleh class pencarian form yaitu class situs, class direktori, class cari berita, class hasil cari dan class bantuan. Class situs bertugas sebagai class utama dari manipulasi data situs. Class direktori bertugas sebagai class utama dari manipulasi data direktori.Dua class bertindak sebagai form yang dipanggil oleh class situs yaitu class tambahsitus dan class detailsitus. Class tambah situs bertugas memanipulasi data situs dengan inserting data. Class detailsitus bertugas memanipulasi data situs dengan updating dan deleting data.


(32)

Dua class lainnya bertindak sama dengan class yang dipanggil oleh situs bedanya hanya ini dipanggil oleh class direktori yaitu class tambahdirektori dan class detaildirektori. Class tambahdirektori bertugas memanipulasi data direktori dengan inserting data. Class detaildirektori bertugas memanipulasi data direktori dengan updating dan deleting data.

Untuk class yang dipanggil oleh class tambah direktori hanya satu class saja yaitu class lihatsitustambah. Class lihatsitustambah bertugas sebagai list dari tabel situs. Untuk class yang dipanggil oleh class detaildirektori yaitu class lihatsitusdetail. Class lihatsitusdetail bertugas sebagai list dari tabel situs.

Empat class lainnya bertindak sebagai class yang akan dipanggil melalui function dan nama classnya dari class – class yang bertindak sebagai form. Untuk class koneksi akan dipanggil apabila membutuhkan proses ke dalam database dan pemanggilan class koneksi oleh class pencarianutama, class situs, class tambahsitus, class detailsitus, class direktori, class tambahdirektori dan class detaildirektori.

Untuk class modeltabel akan dipanggil apabila membutuhkan view data ke jtable dan pemanggilan class modeltabel oleh class situs, class direktori, class lihatsitustambah, class lihatsitusdetail dan class hasilcari. Untuk class parsingLink akan dipanggil apabila ingin memparsing suatu Html dan mengambil link dari Html dari suatu website berita. Class parsingLink hanya dipanggil oleh class cariberita. Dan nantinya link tersebut akan digunakan untuk class parsingHtml. Untuk class parsingHtml mempunyai fungsi yang sama dengan class parsingLink karena hanya akan dipanggil apabila ingin memparsing suatu Html untuk


(33)

mengambil judul, waktu dan isi berita dari halaman website. Class parsingHtml hanya akan dipanggil oleh class cariberita.

Untuk tiga class lainnya bertindak sebagai class relasi antar tabel di database. Class tblsitus adalah tabel situs yang mempunyai 3 atribut yaitu id_situs, nama_situs dan url_situs. Class tbldirektori adalah tabel direktori yang mempunyai 3 atribut yaitu id_direktori, nama_direktori dan url_direktori. Class tblberita adalah tabel berita yang mempunyai 5 atribut yaitu id_berita, judul_berita, isi_berita, wkt_berita dan dan wkt_masuk. Relasi antara class tblsitus dan tbldirektori adalah one to many yang berarti satu situs mempunyai minimal satu atau lebih dari satu direktori. Relasi antara tblsitus dan tblberita adalah one to many yang berarti satu situs mempunyai minimal satu atau lebih dari satu berita. Dan untuk relasi antara tbldirektori dan tblberita adalah one to many yang berarti satu direktori mempunyai minimal satu atau lebih dari dari satu berita. koneksi getConnection() executeSelect() executeUpdate() <<class>> modeltabel namakolom : String[] getValueAt() getRowCount() getColumnCount() runQuery() setEmpty() <<class>> parsingHtml Judul : String Waktu : String Isi : String

getParsingJudulKompas() getParsingWaktuKompas() getParsingIsiKompas() getParsingJudulLiputan6() getParsingWaktuLiputan6() getParsingIsiLiputan6() <<class>> parsingLink Link : String getParsingLink() <<class>> lihatsitustambah tampilsitus() getSitusDikirim() <<Form>> lihatsitusdetail tampilsitus() getSitusDikirim() <<Form>> tambahsitus tambahdatasitus() <<Form>> detailsitus tampildata() ubahdatasitus() hapusdatasitus() setbatalubah() <<Form>> tambahdirektori setSitusDiterima() tambahdatadirektori() <<Form>> detaildirektori setSitusDiterima() tampilkandata() updatedatadirektori() deletedatadirektori() setUpdateFailed() <<Form>> hasilcari tampilhasil() <<Form>> bantuan <<Form>> situs tampilsitus() <<Form>> direktori tampildirektori() <<Form>> cariberita <<Form>> PencarianUtama <<MDI Form>> tblberita id_berita : int judul_berita : memo isi_berita : memo wkt_berita : datetime

wkt_masuk : datetime tbldirektori id_direktori : int nama_direktori : memo url_direktori : memo

tblsitus id_situs : int nama_situs : memo url_situs : memo


(34)

3.5 Struktur Website

Setiap website berita mempunyai struktur yang berbeda – beda. Kali ini akan dijelaskan tentang struktur website satu persatu.

3.5.1 Liputan6.com

Situs Liputan6 pada index atau halaman pertamanya mempunyai struktur link ke direktori dari website tersebut. Misalnya Tekno, Otomotif, Sport, Bola, dll. Tetapi yang dibahas ke detail dari strukturnya adalah dari direktori situs Liputan6. Misalnya (http://otomotif.liputan6.com/) dalam situs tersebut hanya terdapat judul berita yang akan mengantarkan ke detail dari isi berita dari direktori Otomotif.

Untuk mengetahui link dari direktori Otomotif perhatikan Gambar 3.9 dibawah ini. Gambar 3.9 adalah sebuah potongan dari halaman situs Otomotif Liputan6. yang terlihat hanyalah judul berita dan apabila dilihat secara detail lagi maka akan terlihat sebuah code yang menyatakan bahwa judul berita tersebut terletak di dalam <div dan di dalam <a seperti yang terlihat pada contoh code dibawah ini.

Gambar 3.9 Potongan Situs Liputan6

<div class="c_tengah">

<img src="Liputan6 __ Otomotif - Aktual Tajam dan Terpercaya_files/icon_ter.gif" />

<ul> <li> <a

href="http://otomotif.liputan6.com/berita/201007/284374/C.Zero.dan.i.On. Mulai.Diproduksi.Oktober">C-Zero dan i-On Mulai Diproduksi


(35)

Jika ingin mengetahui tentang judul, waktu dan isi beritanya. Coba ditelusuri lagi dengan mengklik C-Zero. Perhatikan Gambar 3.10 dibawah ini. Gambar 3.10 adalah sebuah potongan dari dari (http://otomotif.liputan6.com/berita/201007/284374/C.Zero.dan.i.On.Mulai.Di

produksi.Oktober) yang menunjukkan detail isi dari sebuah berita. Dan

apabila dan apabila dilihat secara detail lagi maka akan terlihat sebuah code yang menyatakan bahwa judul berita, waktu berita dan isi berita terdapat dalam <div yang mempunyai id detail. Bedanya hanya judul terletak di dalam <h3, waktu berita terletak di dalam <h6 dan isi berita terletak didalam <div yang mempunyai class pepe seperti yang terlihat pada contoh code dibawah ini.

Gambar 3.10Potongan Detail Situs Liputan6

<div id="detail">

<h1> C-Zero dan i-On Mulai Diproduksi Oktober

&nbsp; </h1>

<h6>02/07/2010 18:59</h6>


(36)

3.5.2 Kompas.com

Situs kompas pada index atau halaman pertamanya mempunyai struktur link ke direktori dari website tersebut. Misalnya Kesehatan, Nasional, Megapolitan, internasional, dll. Tetapi yang dibahas ke detail dari strukturnya adalah dari direktori situs kompas. Misalnya (http://kesehatan.kompas.com/) dalam situs tersebut hanya terdapat judul berita yang akan mengantarkan ke detail dari isi berita dari direktori Kesehatan.

Untuk mengetahui link – link dari direktori Kesehatan perhatikan Gambar 3.11 dibawah ini. Gambar 3.11 adalah sebuah potongan dari halaman situs Kesehatan kompas. yang terlihat hanyalah judul berita dan apabila dilihat secara detail lagi maka akan terlihat sebuah code yang menyatakan bahwa judul berita tersebut terletak di dalam <div dan di dalam <a seperti yang terlihat pada contoh code dibawah ini.

Gambar 3.11Potongan Situs Kompas

<div class="headline_1">

<div class="headline_slide">

<img alt="" src="Kesehatan -

KOMPAS.com_files/0813516p.jpg" />

Paris</strong>: PSA Peugeot Citro n

bekerjasama dengan Mitsubishi telah siap memproduksi mobil electric baru mereka iOn dan C-Zero mulai Oktober nanti. Dua jenis Mobil SUV mungil 4 pintu ini akan segera dipasarkan di Eropa pada akhir tahun. <br />


(37)

Jika ingin mengetahui tentang judul, waktu dan isi beritanya. Coba ditelusuri lagi dengan mengklik Cacat pada janin. Perhatikan Gambar 3.12 dibawah ini. Gambar 3.12 adalah sebuah potongan dari dari (http://kesehatan.kompas.com/read/2010/07/03/10160827/Cacat.pada.Janin.Bi sa.Dicegah) yang menunjukkan detail isi dari sebuah berita. Dan apabila dan apabila dilihat secara detail lagi maka akan terlihat sebuah code yang menyatakan bahwa judul berita, waktu berita dan isi berita terdapat dalam <div yang mempunyai class content_kiri_detail. Bedanya hanya judul terletak di dalam <div class=” judul_artikel”>, waktu berita terletak di dalam <div class="c_blue_kompas font11 pb_10 pt_3"> dan isi berita terletak didalam </div><div class="isi_berita pt_5"> seperti yang terlihat pada contoh code dibawah ini.

Gambar 3.12Potongan Detail Situs Kompas

<div class="judul c_white">

<span></span> <a

href="http://kesehatan.kompas.com/read/2010/07/03/10160827/Cacat.pada .Janin.Bisa.Dicegah" title="Cacat pada Janin Bisa Dicegah">Cacat pada Janin Bisa Dicegah</a>


(38)

<div class="content_kiri_detail">

<div class="judul_kecil"><strong></strong></div> <div class="judul_artikel">Cacat pada Janin Bisa Dicegah</div> <div class="c_blue_kompas font11 pb_10 pt_3">Sabtu, 3 Juli 2010 | 10:16 WIB</div>

</div><div class="isi_berita pt_5"><p><strong>KOMPAS.com &mdash; </strong>Rasanya tak ada yang lebih menakutkan bagi para ibu hamil selain mengetahui kemungkinan bayi yang akan dilahirkannya mengalami cacat atau meninggal. Namun, para ilmuwan di era modern ini yakin sebenarnya banyak yang bisa dilakukan para ibu sebelum dan selama kehamilan untuk mengurangi risiko cacat janin. <br />


(39)

37

BAB 4

IMPLEMENTASI PERANGKAT LUNAK

Pada bab ini akan membahas tentang implementasi program dari hasil

analisa dan perancangan sistem yang ada pada bab III, serta bagaimana cara sistem tersebut dijalankan.

4.1 Alat yang Digunakan

Pada implementasi program, alat-alat yang digunakan yaitu perangkat keras (hardware) dan perangkat lunak (software) yang dijabarkan sebagai berikut:

4.1.1 Perangkat Keras

Perangkat keras (hardware) yang digunakan adalah : a) Seperangkat komputer Dual Core, harddisk 140 GB. b) Memory 1G DDR.

c) Mouse dan Keyboard.

4.1.2 Perangkat Lunak

Perangkat lunak (software) yang digunakan adalah :

a) Windows XP Service Pack 2.

b) xampp-win32-1.6.3a dan MySQL yakni SQLyog 6.14

c) Netbeans 6.8.


(40)

4.2 Implementasi Basis Data

Implementasi basis data dibuat untuk mengetahui database apa saja yang ada didalam sistem proses penyimpanan data pada program yang dibuat. Implementasi basis data tersebut dapat dilihat pada sub bab sebagai berikut :

4.2.1 Data Tabel Situs

Pada data tabel situs atribut yang terlibat adalah: ID-SITUS

sebagai (primary key), NAMA_SITUS, URL_SITUS. Adapun contoh dari

database Tabel situs dapat dilihat pada Gambar 4.1

Gambar 4.1 Data Tabel Situs

4.2.2 Data Tabel Direktori

Pada data tabel direktori atribut yang terlibat adalah: ID_DIREKTORI sebagai (primary key), NAMA_DIREKTORI, URL_DIREKTORI. Adapun contoh dari database Tabel direktori dapat dilihat pada Gambar 4.2

Gambar 4.2 Data Tabel Direktori

4.2.3 Data Tabel Berita

Pada data tabel berita atribut yang terlibat adalah: ID_BERITA sebagai (primary key), LINK_BERITA, JUDUL_BERITA, ISI_BERITA,


(41)

WKT_BERITA, WKT_MASUK. Adapun contoh dari database tabel berita dapat dilihat pada Gambar 4.3

Gambar 4.3 Data Tabel Berita

4.3 Implementasi Proses Pencarian Berita

Implementasi pencarian berita dibuat untuk mengetahui bagaimana sebuah class dapat bekerja secara optimal dalam mencari sebuah berita. Implementasi proses pencarian berita tersebut dapat dilihat pada sub bab sebagai berikut :

4.3.1 Class parserLink

Class ini merupakan sebuah class yang berfungsi sebagai parsing halaman sebuah website situs berita. Terdapat sebuah function yang bertugas mengambil link dari direktori sebuah situs berita. Prosesnya pengambilan dilakukan pertahap. Pertama kali yang dilakukan adalah parsing halaman website sesuai dengan url direktori. Setelah itu proses filtering sesuai dengan namanya. Misalnya filtering dengan nama<div yang berarti data yang terdeteksi adalah data yang terletak dalam <div. satu <div merupakan satu node. Karena node pertama adalah node dalam <div dan node selanjutnya adalah node dalam <a. node dalam <a merupakan bagian dari node <div. maka akan menuju ke node selanjutnya dengan nextNode. Apabila ingin melakukan parsing atau filtering data lagi yang harus dilakukan tetap akan kembali seperti semula yaitu proses parsing <div dan filtering <a sesuai dengan yang tertera


(42)

dalam script. Dari struktur website yang diamati bahwa url atau link terletak di dalam <a href yang berarti filtering terakhir sampai di <a jika ingin mengambil url atau link dari sebuah situs berita. Setelah link didapatkan yang harus dilakukan adalah mencari sebuah link situs berita yang sesuai dengan key yang dicari oleh pengguna. Dengan perintah2 dari regex key tersebut dapat langsung ditemukan. Berikut ini adalah code dari function getParsingLink :

public String getParsingLink() { String Link = "";

try {

Parser parserlink = new Parser(this.linkcode); NodeList collectionList = new NodeList();

TagNameFilter filter = new TagNameFilter("div"); /* NodeFilter filter =

new AndFilter(

new TagNameFilter("div"),

new HasAttributeFilter("id", "slidecontent1"));*/

for (NodeIterator e = parserlink.elements(); e.hasMoreNodes();) { e.nextNode().collectInto(collectionList, filter);

}

if (collectionList.size() != 0) {

for (SimpleNodeIterator e = collectionList.elements(); e.hasMoreNodes();) {

Node node = e.nextNode();

//System.out.println(node.toHtml()+"\n"); Parser parserlink1 = new Parser(this.linkcode); NodeList collectionList1 = new NodeList(); TagNameFilter filter1 = new TagNameFilter("a"); node.collectInto(collectionList1, filter1);

if (collectionList1.size() != 0) {

for (SimpleNodeIterator e2 = collectionList1.elements(); e2.hasMoreNodes();){

Node node1 = e2.nextNode();


(43)

4.3.2 Class parserHtml

Class ini merupakan sebuah class yang berfungsi sebagai parsing halaman sebuah website situs berita. Terdapat sebuah function yang bertugas mengambil judul, isi dan waktu dari direktori sebuah situs berita. Prosesnya pengambilan dilakukan pertahap. Pertama kali yang dilakukan adalah parsing halaman website sesuai dengan url hasil dari class parserLink. Setelah itu proses filtering sesuai dengan namanya dan filtering menurut atributnya. Misalnya filtering dengan nama<div yang mempunyai class judul_artikel yang berarti data yang terdeteksi adalah data yang terletak dalam <div dan mempunyai class judul_artikel. satu <div merupakan satu node. Proses parser dan filter untuk judul berita hanya membutuhkan satu node saja. Setiap situs mempunyai struktur yang berbeda – beda. Inti dari codenya tetap sama yang

String[] coba = node1.toString().split(" "); for (int x = 0; x< coba.length; x++){ Pattern pattern =

Pattern.compile((this.caricode));

Matcher m = pattern.matcher(coba[x]); if (m.find()){

Link = coba[x].replace(";", " "); break; } } System.out.println(Link); } } } } System.out.println(Link); } catch (ParserException ex) { Logger.getLogger(parsingLink.class.getName()).log(Level.SEVERE, null, ex); } System.out.println("link "+Link); return Link;


(44)

membedakan hanya TagNameFilter dan HasAttributFilternya saja. Proses parser dan filter untuk isi berita dan waktu berita intinya sama dengan prose parser dan filter judul berita. Apabila ingin melakukan parsing atau filtering data lagi yang harus dilakukan tetap akan kembali seperti semula yaitu proses parsing dan filtering node selanjutnya . Berikut ini adalah code dari function getParserJudul :

Parser parserjudul = new Parser(this.judulcode); NodeList collectionList = new NodeList();

//TagNameFilter filter = new TagNameFilter("div"); NodeFilter filter =

new AndFilter(

new TagNameFilter("div"),

new HasAttributeFilter("class", "judul_artikel"));

for (NodeIterator e = parserjudul.elements(); e.hasMoreNodes();) { e.nextNode().collectInto(collectionList, filter);

}

if (collectionList.size() != 0) {

for (SimpleNodeIterator e = collectionList.elements(); e.hasMoreNodes();) {

Node node = e.nextNode();

Judul = node.toPlainTextString().replace("&nbsp;"," "); ///return Judul; //System.out.println("Judul :"+node1.toPlainTextString()+"\n"); } } System.out.println(Judul); } catch (ParserException ex) { Logger.getLogger(parsingHtml.class.getName()).log(Level.SEVERE, null, ex); } System.out.println("Judul "+Judul); return Judul;


(45)

4.4 Implementasi Aplikasi Desain Antarmuka

Pada sub bab implementasi aplikasi desain antarmuka menjelaskan form

apa saja yang terlibat dalam aplikasi tersebut yang menampilkan beberapa aplikasi

form yaitu

4.4.1 Form Tampilan Utama

Form ini digunakan sebagai form induk dalam aplikasi ini. Berikut ini dijelaskan fungsi-fungsi dari menu utama tersebut.

Menu Admin : Menampilkan data – data utama yang berhubungan

dengan proses pencarian.

Menu Pencarian : Menampilkan proses pencarian dan hasil dari pencarian. Menu Bantuan : Digunakan jika pengguna mendapatkan kesulitan dalam

mengoperasikan aplikasi pencarian Berita. Menu Keluar : Digunakan untuk proses keluar dari aplikasi ini.

Berikut ini adalah antarmuka form utama yang tampak pada Gambar 4.4 dibawah ini.


(46)

4.4.2 Form Situs

Form situs ini digunakan untuk melakukan operasi manipulasi data seperti menambah dan mengubah data situs. Berikut ini antarmuka form situs yang tampak pada Gambar 4.5 dibawah ini.

Gambar 4.5 Form Utama Situs

Untuk penambahan situs berikut ini adalah antarmuka tambah situs yang tampak pada Gambar 4.6 dibawah ini :


(47)

Untuk update dan delete situs berikut ini adalah antarmuka detail situs yang tampak pada Gambar 4.7 dibawah ini :

Gambar 4.7 Form Detail Situs

4.4.3 Form Direktori

Form direktori ini digunakan untuk melakukan operasi data seperti menambah dan mengubah data direktori. Berikut ini antarmuka form direktori yang tampak pada Gambar 4.8 dibawah ini.


(48)

Untuk penambahan situs berikut ini adalah antarmuka tambah situs yang tampak pada Gambar 4.9 dibawah ini :

Gambar 4.9 Form Tambah Direktori

Untuk button lihat berikut ini adalah antarmuka lihat situs yang tampak pada Gambar 4.10 dibawah ini :


(49)

Untuk update dan delete situs berikut ini adalah antarmuka detail situs yang tampak pada Gambar 4.11. Button lihat adalah antarmuka lihat situs yang tampak pada Gambar 4.10. button lihat akan aktif apabila pengguna melakukan ubah direktori.

Gambar 4.11Form Detail Direktori

4.4.4 Form Cari


(50)

Form ini digunakan untuk melakukan pencarian berita. Disini dilakukan penginputan (keyword) kata kunci yang dicaria dan pemilihan situs dan direktori dari sebuah berita. Setelah itu, diklik tombol cari dan menunggu beberapa saat, maka proses pencarian selesai. Berikut adalah antarmuka form cari yang tampak pada Gambar 4.12 diatas.

4.4.5 Form Hasil Cari

From ini digunakan untuk melihat hasil dari proses pencarian sebuah berita. Disini dapat dilihat hasil – hasil pencarian berita. Berikut adalah antarmuka form hasil cari yang tampak pada Gambar 4.13 dibawah ini.


(51)

4.4.6 Form Bantuan

Form ini digunakan apabila pengguna mengalami kesulitan dalam mengoperasikan aplikasi ini yang tampak pada Gambar 4.14 di bawah ini.


(52)

50

BAB 5

UJI COBA DAN ANALISA HASIL

Pada bab ini akan dilakukan uji coba terhadap proses pengambilan berita. Situs-situs berita yang akan digunakan sebagai analisa meliputi kompas (www.kompas.com), liputan6 (www.liputan6.com). Analisa ini dilakukan untuk mengetahui apakah proses pengambilan berita berjalan dengan lancar dengan menghasilkan content yang benar dan sesuai untuk tiap-tiap direktori dari situs berita tersebut. Uji coba dilakukan untuk mengetahui apakah aplikasi ini dapat berjalan sebagaimana mestinya dengan lingkungan uji coba yang telah ditentukan dan berdasarkan skenario uji coba.

5.1 Lingkungan Uji Coba

5.1.1 Client

Komputer yang dijadikan sebagai client mempunyai spesifikasi

sebagai berikut :

Prosesor : Pentium DualCore

Memori fisik : 1GB

Sistem Operasi : Windows XP Professional

5.2 Skenario Uji Coba

Pada uji coba ini dilakukan perancangan skenario Filter dan pengambilan berita terhadap dua situs berita yang dianggap mampu merepresentasikan situs - situs berita di Indonesia. Situs-situs tersebut adalah kompas dan liputan6. Dalam


(53)

proses background tersebut aplikasi akan mengambil source HTML dari situs

berita. Untuk masing-masing direktori diambil source-nya untuk dilakukan

parsing dan filtering. Kemudian untuk masing-masing direktori tersebut diambil

link-link beritanya, judul dan waktunya. Terutama link tersebut sangat penting untuk mengambil main content-nya.

Skenario uji coba yang lain adalah dengan membandingkan antara

browsing ke situs secara langsung dibandingkan dengan memakai aplikasi ini.

Tujuannya adalah membandingkan besar/ukuran file yang dihasilkan. Uji coba

juga ini dapat dijadikan referensi untuk mengetahui bahwa aplikasi ini dapat menghemat bandwidth.

5.2.1 Uji Coba pada Situs Liputan6

Uji coba ini dilakukan pada situs liputan6 (www.liputan6.com) dengan

direktori-direktori Otomotif dan Tekno. Parser dirancang untuk dapat

mengambil content dari tiap direktori.

5.2.1.1Perancangan skenario Parser

Pertama akan dilakukan pengenalan pola terhadap situs liputan6 ini, yaitu dengan mengambil source HTML-nya untuk direktori beritanya (http://otomotif.liputan6.com/). Setelah itu dapat diketahui bahwa link

yang akan menghubungkan ke inti dari berita yang dicari. Link berita dari situs liputan6 berada diantara <div> dan <a. pengambilan link dilakukan dengan mengambil karakter yang berada dalam <a href: .dengan source parser yang sudah ada maka pengambilan link dapat diambil tanpa perlu proses yang rumit karena akan langsung menuju ke node <div dan node <a


(54)

href. Untuk pengambilan judul berita dari situs liputan6 source parsernya akan mengambil karakter dalam node <div dan node <class yang mempunyai id = detail. Untuk pengambilan waktu berita dari situs liputan6 source parsernya akan mengambil karakter dalam node < div dan node <class yang mempunyai id = detail. Untuk pengambilan isi berita dari situs liputan6 source parsernya akan mengambil karakter dalam node <div dan node <class yang mempunyai id = detail.

5.2.1.2Pengambilan berita

Data-data untuk situs liputan6 seperti pada Gambar 5.1 sebagai :

Gambar 5.1 Data Situs Liputan6

Data-data untuk direktori situs liputan6 seperti pada Gambar 5.2 sebagai berikut:


(55)

Setelah Aplikasi pencarian dijalankan. Selanjutnya pilihlah menu pencarian dan menu cari untuk melakukan pencarian berita dengan direktori otomotif. Seperti pada Gambar 5.3.

Gambar 5.3 Mencari Berita

Setelah itu akan muncul sebuah pilihan link dari sebuah berita yang di cari. Seperti pada Gambar 5.4.


(56)

Setelah proses pencarian berita dan berita telah didapatkan maka aplikasi akan menunjukkan bahwa berita telah didapatkan.seperti pada Gambar 5.5.

Gambar 5.5 Output Berita yang Didapatkan

Berita yang didapatkan akan langsung tersimpan dan ditunjukkan dengan sebuah message box. Seperti pada Gambar 5.6.

Gambar 5.6 Message Tersimpan

Pencarian dapat diketahui apabila proses pencarian selesai dan memilih menu hasilcari. Seperti pada Gambar 5.7 sebagai berikut :


(57)

Gambar 5.7 Hasil Pencarian

5.2.2 Uji Coba pada Situs Kompas

Uji coba ini dilakukan pada situs kompas (www.kompas.com) dengan

direktori-direktori kesehatan dan nasional. Parser dirancang untuk dapat mengambil content dari tiap direktori.

5.2.2.1Perancangan Skenario Parser

Pertama akan dilakukan pengenalan pola terhadap situs kompas ini, yaitu dengan mengambil source HTML-nya untuk direktori beritanya (http://kesehatan.kompas.com/). Setelah itu dapat diketahui bahwa link

-link yang akan menghubungkan ke inti dari berita yang dicari. Link berita dari situs kompas berada diantara <div> dan <a. pengambilan link dilakukan dengan mengambil karakter yang berada dalam <a href: .dengan source parser yang sudah ada maka pengambilan link dapat diambil tanpa


(58)

perlu proses yang rumit karena akan langsung menuju ke node <div dan node <a href. Untuk pengambilan judul berita dari situs kompas source parsernya akan mengambil karakter dalam node <div yang mempunyai class = judul_artikel. Untuk pengambilan waktu berita dari situs kompas source parsernya akan mengambil karakter dalam node < div yang mempunyai class = c_blue_kompas font11 pb_10 pt_3. Untuk pengambilan isi berita dari situs kompas source parsernya akan mengambil karakter dalam node <div yang mempunyai class = content_kiri_detail.

5.2.2.2Pengambilan berita

Data-data untuk situs kompas seperti pada Gambar 5.8 sebagai :

Gambar 5.8 Data Situs kompas

Data-data untuk direktori situs kompas seperti pada Gambar 5.9 :


(59)

Setelah Aplikasi pencarian dijalankan. Selanjutnya pilihlah menu pencarian dan menu cari untuk melakukan pencarian berita dengan direktori kesehatan. Seperti pada Gambar 5.10 sebagai berikut.

Gambar 5.10Mencari Berita

Setelah itu akan muncul sebuah pilihan link dari sebuah berita yang di cari. Seperti pada Gambar 5.11.


(60)

Setelah proses pencarian berita dan berita telah didapatkan maka aplikasi akan menunjukkan bahwa berita telah didapatkan.seperti pada Gambar 5.12.

Gambar 5.12Output Berita yang Didapatkan

Berita yang didapatkan akan langsung tersimpan dan ditunjukkan dengan sebuah message box. Seperti pada Gambar 5.13.

Gambar 5.13Message Tersimpan

Hasil pencarian dapat diketahui apabila proses pencarian selesai dan memilih menu hasilcari. Seperti pada Gambar 5.14.


(61)

Gambar 5.14Hasil Pencarian

5.2.3 Uji Coba Browsing

Pada uji coba ini akan dilakukan browsing terhadap situs kompas

dengan direktori nasional, URL-nya adalah http://nasional.kompas.com.

Kemudian dipilih salah satu link berita, misalnya

http://nasional.kompas.com/read/2010/09/27/18213710/Menko.Polhukam.Bel

um.Dengar yang berjudul “Menko Polhukam Belum Dengar”. Setelah main

content dari link tersebut terbuka seperti ditunjukkan pada Gambar 5.15, halaman yang berisi content berita tersebut disimpan ke dalam komputer.

Maka hasil yang didapat adalah halaman HTML berserta gambar-gambarnya dan mungkin juga file lainnya seperti script dan sebagainya ikut tersimpan. Setelah disimpan, ukuran file yang didapat adalah 44 KB dalam format .Html. Dan membutuhkan waktu 1.05 menit.


(62)

Gambar 5.15Hasil Browsing Situs Kompas

5.2.4 Perbandingan Uji Coba Aplikasi dan Browsing

Pada perbandingan kali ini yang akan dibandingan adalah uji coba menggunakan aplikasi dan uji coba menggunakan browsing secara langsung. Berikut adalah data dari hasil uji coba browsing yang terlihat pada Tabel 5.1:


(63)

Tabel 5.1 Browsing Situs Liputan6

No Kata Kunci URL Ukuran Waktu

1 Samsung http://tekno.liputan6.com/berita/

201009/ 297000/Samsung.Galaxy. Tab.Dibandrol.Rp.10.Juta

40 Kbyte 39 detik

2 Nokia http://tekno.liputan6.com/berita/

201009/296534/Nokia.Bersaing. dengan.Produsen.Smartphone.Lain

40 kbyte 28 detik

3 Suzuki http://otomotif.liputan6.com/berita/

201009/297744/Suzuki.Rilis.Sketsa. GSR750

32 kbyte 33 detik

4 Hyundai http://otomotif.liputan6.com/berita/

201009/298353/Hyundai.Berencana. Recall.Sonata

36 kbyte 26 detik

Berikut adalah data dari hasil uji coba aplikasi yang terlihat pada Tabel 5.2 berikut ini :

Tabel 5.2 Ujicoba Aplikasi Situs Kompas

No Kata Kunci URL Ukuran Waktu

1 Samsung http://tekno.liputan6.com/berita/

201009/ 297000/Samsung.Galaxy. Tab.Dibandrol.Rp.10.Juta

1237 byte 25 detik

2 Nokia http://tekno.liputan6.com/berita/

201009/296534/Nokia.Bersaing. dengan.Produsen.Smartphone.Lain

1016 byte 12 detik

3 Suzuki http://otomotif.liputan6.com/berita/

201009/297744/Suzuki.Rilis.Sketsa. GSR750

1282 byte 17 detik

4 Hyundai http://otomotif.liputan6.com/berita/

201009/298353/Hyundai.Berencana. Recall.Sonata


(64)

Dari data diatas analisa yang didapat adalah :

a. Aplikasi mempunyai kecepatan yang tinggi yang ditunjukkan dengan

waktu dan mempunyai kelebihan dalam penyimpanan datanya ditunjukkan dengan nilai ukurannya. Tetapi yang menarik aplikasi bisa membuat pengguna untuk mencari berita yang diinginkan tanpa membuka web browser.

b. Browsing mempunyai kecepatan yang lemah yang ditunjukkan dengan

waktu dan mempunyai kekurangan dalam penyimpanan datanya ditunjukkan dengan nilai ukurannya. Tetapi browsing mempunyai kekurangan karena untuk http://liputan6.com dan direktorinya pengguna masih harus mencari satu persatu dari beberapa judul berita yang terpampang dalam halaman situs berita walaupun sudah mencari berita pada menu search yang tersedia.


(65)

63

BAB 6

KESIMPULAN

Bab ini berisi beberapa kesimpulan dari tugas akhir dan kemungkinan pengembangan lebih lanjut yang dapat dilakukan dari tugas akhir ini

6.1Kesimpulan

a) Untuk mengambil informasi berita utama/main content dari suatu situs berita yang memiliki pola/struktur situs yang tetap atau memiliki web

content management, digunakan suatu formula Parser yang sesuai

dengan pola situs masing-masing.

b) Dengan menggunakan parser pengguna tidak perlu memikirkan

formula khusus untuk mengambil berita karena dengan parser pengguna dapat langsung mengambil berita dengan mengetahui class dari div berita yang akan diambil.

c) Site map situs dapat dipelajari dengan membaca code yang berada

didalamnya. Dan dengan mengetahui node dari suatu situs maka pengguna dapat menggunakannya sebagai inti dari proses filtering. Karena setiap situs berita mempunyai perbedaan di scenario proses filtering suatu situs berita. Formula Parser yang dijalankan masih bersifat manual karena hanya terdapat disource code dan tidak tersimpan di dalam database.


(66)

63

6.2Saran

a) Penelitian lebih lanjut untuk dapat menghasilkan agent yang lebih

kompleks dalam menjalankan tugasnya. Agent yang bersifat mandiri dan agent yang dapat berkomunikasi dengan agent lainnya agar dapat terbentuk sebuah aplikasi software agent yang bersifat autonomous.

b) Penelitian lebih lanjut diharapkan dapat membuat suatu formula

parsing situs web yang otomatis dapat langsung dipakai tanpa langsung menuliskan ke dalam source codenya.


(67)

65

DAFTAR PUSTAKA

[1] Abdul Kholik (2007), “Makalah Software Agent”, Yogyakarta. URL : http:

//ikyoesan.awardspace.com/tugas/T05_C.pdf diakses tanggal 12 mei 2010

jam 19.00 WIB

[2] Derrickoswald (2006), “HTML Parser”, URL : http://sourceforge.net/

projects/htmlparser/ diakses tanggal 11 maret 2010 jam 10.00 WIB [3] Hartati Sri (2006), “Pemrograman GUI Swing Java dengan Netbeans 5”,

ANDI, Yogyakarta.

[4] Irawan (2007), “JAVA Untuk Orang Awam”, Maxikom, Palembang.

[5] Jeffrey M. Bradshaw. “An Introduction to Software Agents”. URL : http:// citeseerx.ist.psu.edu/viewdoc/download;jsessionid=ad36d09628a0a1c40383 30271ddbc376?doi=10.1.1.39.640&rep=rep1&type=pdf diakses tanggal 15 mei 2010 jam 21.00 WIB

[6] John W. Krupansky(2006), “What is a Software Agent?”, URL :

http://agtivity.com/agdef.htm diakses tanggal 13 mei 2010 jam 21.00 WIB [7] Java SE Development Kit (JDK), URL : http://www.oracle.com/technetwork/

java/javase/downloads/index.html diakses tanggal 12 maret 2010 21.00 WIB [8] Bamboomedia, “Orang Pintar pake Java dan Oracle”, Bamboomedia, Bali.


(1)

60

Gambar 5.15 Hasil Browsing Situs Kompas

5.2.4 Perbandingan Uji Coba Aplikasi dan Browsing

Pada perbandingan kali ini yang akan dibandingan adalah uji coba menggunakan aplikasi dan uji coba menggunakan browsing secara langsung. Berikut adalah data dari hasil uji coba browsing yang terlihat pada Tabel 5.1:


(2)

61

Tabel 5.1 Browsing Situs Liputan6

No Kata Kunci URL Ukuran Waktu

1 Samsung http://tekno.liputan6.com/berita/ 201009/ 297000/Samsung.Galaxy. Tab.Dibandrol.Rp.10.Juta

40 Kbyte 39 detik

2 Nokia http://tekno.liputan6.com/berita/ 201009/296534/Nokia.Bersaing. dengan.Produsen.Smartphone.Lain

40 kbyte 28 detik

3 Suzuki http://otomotif.liputan6.com/berita/ 201009/297744/Suzuki.Rilis.Sketsa. GSR750

32 kbyte 33 detik

4 Hyundai http://otomotif.liputan6.com/berita/ 201009/298353/Hyundai.Berencana. Recall.Sonata

36 kbyte 26 detik

Berikut adalah data dari hasil uji coba aplikasi yang terlihat pada Tabel 5.2 berikut ini :

Tabel 5.2 Ujicoba Aplikasi Situs Kompas

No Kata Kunci URL Ukuran Waktu

1 Samsung http://tekno.liputan6.com/berita/ 201009/ 297000/Samsung.Galaxy. Tab.Dibandrol.Rp.10.Juta

1237 byte 25 detik

2 Nokia http://tekno.liputan6.com/berita/ 201009/296534/Nokia.Bersaing. dengan.Produsen.Smartphone.Lain

1016 byte 12 detik

3 Suzuki http://otomotif.liputan6.com/berita/ 201009/297744/Suzuki.Rilis.Sketsa. GSR750

1282 byte 17 detik

4 Hyundai http://otomotif.liputan6.com/berita/ 201009/298353/Hyundai.Berencana. Recall.Sonata


(3)

62

Dari data diatas analisa yang didapat adalah :

a. Aplikasi mempunyai kecepatan yang tinggi yang ditunjukkan dengan waktu dan mempunyai kelebihan dalam penyimpanan datanya ditunjukkan dengan nilai ukurannya. Tetapi yang menarik aplikasi bisa membuat pengguna untuk mencari berita yang diinginkan tanpa membuka web browser.

b. Browsing mempunyai kecepatan yang lemah yang ditunjukkan dengan waktu dan mempunyai kekurangan dalam penyimpanan datanya ditunjukkan dengan nilai ukurannya. Tetapi browsing mempunyai kekurangan karena untuk http://liputan6.com dan direktorinya pengguna masih harus mencari satu persatu dari beberapa judul berita yang terpampang dalam halaman situs berita walaupun sudah mencari berita pada menu search yang tersedia.


(4)

63

BAB 6

KESIMPULAN

Bab ini berisi beberapa kesimpulan dari tugas akhir dan kemungkinan pengembangan lebih lanjut yang dapat dilakukan dari tugas akhir ini

6.1 Kesimpulan

a) Untuk mengambil informasi berita utama/main content dari suatu situs berita yang memiliki pola/struktur situs yang tetap atau memiliki web content management, digunakan suatu formula Parser yang sesuai dengan pola situs masing-masing.

b) Dengan menggunakan parser pengguna tidak perlu memikirkan formula khusus untuk mengambil berita karena dengan parser pengguna dapat langsung mengambil berita dengan mengetahui class dari div berita yang akan diambil.

c) Site map situs dapat dipelajari dengan membaca code yang berada didalamnya. Dan dengan mengetahui node dari suatu situs maka pengguna dapat menggunakannya sebagai inti dari proses filtering. Karena setiap situs berita mempunyai perbedaan di scenario proses filtering suatu situs berita. Formula Parser yang dijalankan masih bersifat manual karena hanya terdapat disource code dan tidak tersimpan di dalam database.


(5)

63 6.2 Saran

a) Penelitian lebih lanjut untuk dapat menghasilkan agent yang lebih kompleks dalam menjalankan tugasnya. Agent yang bersifat mandiri dan agent yang dapat berkomunikasi dengan agent lainnya agar dapat terbentuk sebuah aplikasi software agent yang bersifat autonomous. b) Penelitian lebih lanjut diharapkan dapat membuat suatu formula

parsing situs web yang otomatis dapat langsung dipakai tanpa langsung menuliskan ke dalam source codenya.


(6)

65

DAFTAR PUSTAKA

[1] Abdul Kholik (2007), “Makalah Software Agent”, Yogyakarta. URL : http: //ikyoesan.awardspace.com/tugas/T05_C.pdf diakses tanggal 12 mei 2010 jam 19.00 WIB

[2] Derrickoswald (2006), “HTML Parser”, URL : http://sourceforge.net/ projects/htmlparser/ diakses tanggal 11 maret 2010 jam 10.00 WIB

[3] Hartati Sri (2006), “Pemrograman GUI Swing Java dengan Netbeans 5”, ANDI, Yogyakarta.

[4] Irawan (2007), “JAVA Untuk Orang Awam”, Maxikom, Palembang. [5] Jeffrey M. Bradshaw. “An Introduction to Software Agents”. URL : http://

citeseerx.ist.psu.edu/viewdoc/download;jsessionid=ad36d09628a0a1c40383 30271ddbc376?doi=10.1.1.39.640&rep=rep1&type=pdf diakses tanggal 15 mei 2010 jam 21.00 WIB

[6] John W. Krupansky(2006), “What is a Software Agent?”, URL : http://agtivity.com/agdef.htm diakses tanggal 13 mei 2010 jam 21.00 WIB [7] Java SE Development Kit (JDK), URL : http://www.oracle.com/technetwork/

java/javase/downloads/index.html diakses tanggal 12 maret 2010 21.00 WIB [8] Bamboomedia, “Orang Pintar pake Java dan Oracle”, Bamboomedia, Bali.