Pengembangan Agregator Berita IPB
PENGEMBANGAN AGREGATOR BERITA IPB
HERDI BINTANG PERDANA UTOMO
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2014
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Pengembangan
Agregator Berita IPB adalah benar karya saya dengan arahan dari komisi
pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi
mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan
maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan
dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.
Bogor, Februari 2014
Herdi Bintang Perdana Utomo
NIM G64070103
ABSTRAK
HERDI BINTANG PERDANA UTOMO. Pengembangan Agregator Berita IPB.
Dibimbing oleh FIRMAN ARDIANSYAH.
Pertumbuhan internet yang pesat menyebabkan keberagaman data. Salah
satu contoh keberagaman ini adalah situs fakultas dan departemen di Institut
Pertanian Bogor (IPB), dimana tidak semua situs dapat diambil berita terbarunya
menggunakan rich site summary (RSS). Hal ini akan menyulitkan pengumpulan
berita terbaru. Untuk mengatasi hal tersebut, dipakai metode mashup. Mashup
dibuat dengan menggunakan application programming interface (API). Dalam
penelitian ini, API yang dipakai adalah Google Search API, yang akan dipakai
untuk mencari berita terkait.
Kata kunci: API, mashup, RSS
ABSTRACT
HERDI BINTANG PERDANA UTOMO. Development of IPB News Aggregator.
Supervised by FIRMAN ARDIANSYAH.
The rapid growth of Internet led to the diversity of the data. An example of
this diversity is the sites of faculty and department at Bogor Agricultural
University (IPB), which not all of newest news of the sites can be retrieved using
Rich Site Summary (RSS). This would complicate the collection of recent news.
To overcome this, the method that be used is mashups. The mashup was created
using the Application Programming Interface (API). In this study, the API used is
the Google Search API, which is will be used to search related news.
Keywords: API, mashup, RSS
PENGEMBANGAN AGREGATOR BERITA IPB
HERDI BINTANG PERDANA UTOMO
Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer
pada
Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2014
Penguji:
1 Irman Hermadi, SKom, MS
2 Dr Yani Nurhadryani, SSi, MT
Judul Skripsi : Pengembangan Agregator Berita IPB
Nama
: Herdi Bintang Perdana Utomo
NIM
: G64070103
Disetujui oleh
Firman Ardiansyah, SKom, MSi
Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi, MKom
Ketua Departemen
Tanggal Lulus:
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas
segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang
dipilih dalam penelitian ini adalah mashup, dengan judul Pengembangan
Agregator Berita IPB.
Ungkapan terima kasih sebanyak-banyaknya penulis berikan kepada:
1 ALLAH SWT atas rahmat dan hidayah-Nya.
2 Nabi Muhammad SAW sebagai teladan dalam hidup seorang muslim.
3 Keluarga penulis yaitu ayah, ibu, dan adik yang banyak memberikan dukungan
serta doa.
4 Bapak Firman Ardiansyah selaku pembimbing yang telah banyak direpotkan
oleh penulis. Terima kasih atas kesabarannya dalam membimbing penulis
selama ini.
5 Rilan, Rifki, Auzi, Agung, dan Wiwiek selaku teman sebimbingan.
6 Sayed, Kaka, Bangun, Topa, Gama, Aco, Yanta, Ridwan, dan rekan-rekan
lainnya dari SIGAP. Terima kasih banyak atas bantuannya selama ini.
7 Anggit, Cawang, Arizal, Abi, Teguh, serta teman-teman dari Ilmu Komputer
angkatan 44 yang tidak dapat penulis sebutkan satu per satu disini.
8 Wulan, Diki, Danang, dan Sisil sebagai teman yang suka menyemangati
penulis.
Semoga karya ilmiah ini bermanfaat.
Bogor, Februari 2014
Herdi Bintang Perdana Utomo
DAFTAR ISI
DAFTAR TABEL
viii
DAFTAR GAMBAR
viii
DAFTAR LAMPIRAN
viii
PENDAHULUAN
1
Latar Belakang
1
Perumusan Masalah
1
Tujuan Penelitian
1
Manfaat Penelitian
2
Ruang Lingkup Penelitian
2
METODE
2
Tahap Perencanaan
2
Tahap Analisis
3
Tahap Perancangan
3
Tahap Implementasi
3
HASIL DAN PEMBAHASAN
3
Tahap Perencanaan
3
Tahap Analisis
4
Tahap Perancangan
5
Tahap Implementasi
10
SIMPULAN DAN SARAN
17
Simpulan
17
Saran
17
DAFTAR PUSTAKA
17
RIWAYAT HIDUP
22
DAFTAR TABEL
1
2
3
4
Daftar kebutuhan fungsional sistem
Daftar tabel beserta atributnya pada database
Pengujian black-box sistem
Pengujian white-box fungsi pengindeksan
5
8
15
16
DAFTAR GAMBAR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Metode penelitian waterfall
Diagram situs berdasarkan ketersediaan RSS
Use case sistem Agregator Berita IPB
Konsep MVC pada sistem
Desain konseptual database
Desain logika database
Perancangan navigasi halaman Admin
Perancangan halaman utama
Perancangan isi blok berita
Table relational diagram pada sistem
Halaman utama sistem
Halaman Admin sistem
Contoh sebuah blok berita
Menu pada halaman Admin
2
4
5
6
7
8
9
10
10
12
13
13
14
14
DAFTAR LAMPIRAN
1 Daftar situs web fakultas dan departemen di IPB
2 Daftar situs berdasarkan ketersediaan RSS
18
20
PENDAHULUAN
Latar Belakang
Pengelolaan situs web departemen dan fakultas di Institut Pertanian Bogor
(IPB) dilakukan secara mandiri. Situs-situs web tersebut memiliki berita-berita
yang dapat berbentuk: acara yang telah atau akan berlangsung, pengumuman nilai
ujian, informasi kerjasama dengan lembaga lain, dan sebagainya. Pengumpulan
berita dari situs-situs tersebut menjadi sulit karena perbedaan format berita dalam
situs-situs tersebut.
Perbedaan format juga terjadi di dunia internet disebabkan oleh
pertumbuhan data yang besar. Sehingga lahirlah mashup, suatu aplikasi yang
datanya berasal dari sumber dan format yang berbeda-beda (Engard 2009).
Mashup dibuat dengan menggunakan application programming interface (API)
yang disediakan oleh penyedia sumber data.
Penelitian sebelumnya yang dilakukan oleh Hasiholan (2011) berhasil
membuat suatu agregator web yang mengumpulkan berita-berita terbaru dari situs
web IPB. Agregator merupakan suatu aplikasi yang mengumpulkan informasi
dengan tipe tertentu dari beberapa sumber. Penelitian tersebut hanya terbatas pada
penggunaan format rich site summary (RSS) saja sehingga berita yang diambil
juga terbatas. Penelitian lain dilakukan oleh Gunawan (2012) berhasil membuat
suatu aplikasi teks geotagging untuk agenda IPB dengan memanfaatkan Google
Maps API.
Pada penelitian ini akan dikembangkan mashup berita dari situs web
fakultas dan departemen di IPB. Aplikasi ini menggunakan konsep agregator
ditambah dengan Google Search API. Diharapkan sistem ini dapat membantu
pengguna untuk mencari berita terbaru dan berita terkait yang ada di IPB. Sistem
ini disebut juga Agregator Berita IPB (AB-IPB).
Perumusan Masalah
Masalah yang diselesaikan pada penelitian ini adalah apakah dapat dibuat
suatu mashup berbasis web yang mampu mengambil berita-berita terbaru dari
situs web fakultas dan departemen di IPB, mencari berita terkait menggunakan
Google Search API, dan menampilkannya kepada pengguna.
Tujuan Penelitian
Tujuan dari penelitian ini adalah membuat suatu mashup berbasis web yang
dapat mengambil daftar berita dari situs fakultas dan departemen di IPB, mencari
berita terkait menggunakan Google Search API, dan menampilkannya kepada
pengguna.
2
Manfaat Penelitian
Manfaat penelitian ini adalah meningkatkan kecepatan akses pengguna
yang ingin melihat berita-berita yang ada di IPB karena berita-berita tersebut
terkumpul ke dalam sebuah situs. Manfaat lainnya adalah meningkatkan search
engine optimization (SEO) karena mesin pencari cukup melakukan pengindeksan
ke daftar berita yang ditampilkan oleh sistem.
Ruang Lingkup Penelitian
Ruang lingkup penelitian ini adalah data penelitian hanya berasal dari 9
situs web fakultas dan 38 situs web departemen di IPB. Tidak termasuk situs-situs
unit seperti Indonesia Managing Higher Education for Relevance and Efficiency
(I-MHERE), Career Development and Alumni Affairs (CDA), dan Green TV. API
yang dipakai hanya Google Search API. Berita diambil dengan membaca RSS
yang disediakan oleh situs. Apabila situs tidak menyediakan RSS, beritanya akan
diambil menggunakan screen scrapping dengan syarat tertentu. Daftar situs web
fakultas dan departemen di IPB dapat dilihat pada Lampiran 1.
METODE
Metode yang digunakan dalam penelitian ini adalah metode pengembangan
sistem waterfall. Menurut Satzinger et al. (2009) metode ini terdiri atas empat
proses yang meliputi fase perencanaan, fase analisis, fase perancangan, dan fase
implementasi seperti yang dapat dilihat pada Gambar 1.
Gambar 1 Metode penelitian waterfall
Tahap Perencanaan
Pada tahap ini dilakukan pendefinisian masalah, yaitu masalah yang terjadi
dan cara mengatasi masalah tersebut. Hal ini dengan cara mewawancarai pihak
Direktorat Komunikasi dan Sistem Informasi (DKSI) IPB.
3
Tahap Analisis
Tahap ini dilakukan untuk memahami dan mendokumentasikan kebutuhan
bisnis dan kebutuhan pengolahan dari sistem baru. Tahap ini dilakukan dengan
menganalisis hasil wawancara.
Tahap Perancangan
Pada tahap ini dilakukan perancangan hal-hal yang berkaitan dengan sistem
seperti perancangan fungsi, perancangan antarmuka, dan perancangan database.
Perancangan fungsi merupakan penggambaran model-view-controller (MVC)
pada sistem. Pada perancangan database, dibuat 3 jenis perancangan yaitu
perancangan konseptual, perancangan logika, dan perancangan fisik.
Tahap Implementasi
Pada tahap ini dilakukan implementasi dari rancangan yang telah dibuat
sebelumnya seperti implementasi fungsi, implementasi database, implementasi
antarmuka, dan pengujian sistem. Dalam implementasi fungsi, fungsi-fungsi
dalam sistem diimplementasikan dengan menerapkan konsep MVC pada
Codeigniter. Dalam implementasi database, implementasi database dilakukan
dengan mengimplementasikan query-query pada database MySQL.
Pengimplementasian query dilakukan pada aplikasi phpMyAdmin. Dalam
implementasi antarmuka, antarmuka sistem dibuat menggunakan HTML dan CSS.
Dalam pengujian sistem, Pengujian pertama yang dilakukan adalah pengujian
fungsional sistem. Pengujian dilakukan terhadap 9 fungsi utama sistem dengan
menggunakan metode pengujian black-box.
HASIL DAN PEMBAHASAN
Tahap Perencanaan
Berdasarkan hasil wawancara dengan pihak DKSI, didapatkan bahwa di IPB
terdapat 47 situs web fakultas dan departemen. Berdasarkan Lampiran 2,
sebanyak 37 situs menyediakan RSS dan 7 situs tidak menyediakan RSS. Tidak
tersedianya RSS akan menyulitkan pengumpulan berita. Untuk mengatasi masalah
ini, sistem yang dikembangkan harus mampu mengekstrak berita dari halaman
utama situs tersebut. Cara ini disebut juga dengan screen scrapping. Perbandingan
ketersediaan RSS pada situs fakultas dan departemen dapat dilihat pada Gambar
2.
4
2 (4%)
8 (17%)
Menyediakan RSS
Tidak menyediakan
RSS
Tidak dapat diakses
37 (79%)
Gambar 2 Diagram situs berdasarkan ketersediaan RSS
Tahap Analisis
Berdasarkan hasil wawancara, sistem yang harus dibuat merupakan sebuah
agregator berita. Oleh karena itu, sistem harus mampu mengumpulkan beritaberita dari 47 situs yang menggunakan format yang berbeda. Perbedaan ini
dikarenakan tidak semua situs menggunakan format RSS.
RSS merupakan format sindikasi konten web yang biasa digunakan untuk
mengatur berita-berita dan konten situs mirip berita (Curran dan Kinney 2006).
Sebuah dokumen RSS (yang biasa disebut "feed", "web feed", atau "channel")
terdapat teks penuh atau ringkasan teks, ditambah dengan metadata seperti
tanggal penerbitan dan penulisnya.
Screen scrapping dilakukan dengan cara membaca source code halaman
utama situs. Syarat agar hal ini bisa dilakukan adalah situs memiliki beberapa
jenis tag tertentu. Tag ini dapat berupa nama ID, class, atau tag HTML. Agar
berita dapat diambil secara berulang dan otomatis, nama tag harus sama untuk
berita yang berbeda. Tag-tag tersebut adalah, yaitu:
Tag list: tag ini merupakan tag yang membungkus sebuah berita.
Tag title: tag ini menandakan judul berita.
Tag content: tag ini menandakan isi berita
Tag date: tag ini menandakan tanggal berita
Tag readmore: tag ini menandakan link untuk membaca keseluruhan berita.
Ada dua fungsi utama yang harus dilakukan oleh sistem yaitu mengambil
berita terbaru dan mencari berita terkait. Kedua fungsi ini disebut juga dengan
proses pengindeksan. Proses ini dilakukan secara otomatis dengan menggunakan
cron pada server dengan pengaturan waktu diserahkan kepada Admin. Cron
merupakan suatu aplikasi penjadwalan pekerjaan berdasarkan waktu untuk sistem
operasi mirip Unix. Berita terbaru merupakan berita yang ada pada situs namun
belum ada pada database sistem saat pengindeksan dilakukan. Berita ini diambil
dari RSS atau hasil screen scrapping pada situs. Untuk mencari berita terkait,
dilakukan dengan menggunakan Google Search API.
Google Search API merupakan suatu layanan dari Google yang
memungkinkan situs web dan program untuk mengambil dan menampilkan hasil
pencarian dari Google Custom Search. Dengan API ini, dilakukan pencarian web
5
atau gambar dan hasil pencariannya dikembalikan dalam bentuk JavaScript object
notation (JSON) atau Atom.
Fitur lain adalah fungsi Admin yang digunakan untuk menambah daftar
berita yang diindeks. Admin merupakan pengguna biasa yang memiliki
kewenangan khusus. Fungsi Admin ini tentu saja memerlukan fungsi login dan
logout untuk menambah keamanan. Rangkuman dari semua fungsi yang perlu
dilakukan oleh sistem dapat dilihat pada Gambar 3 dan Tabel 1.
Gambar 3 Use case sistem Agregator Berita IPB
Kode
AB-IPB-01
AB-IPB-02
AB-IPB-03
AB-IPB-04
AB-IPB-05
AB-IPB-06
AB-IPB-07
AB-IPB-08
AB-IPB-09
Tabel 1 Daftar kebutuhan fungsional sistem
Fungsi
Menampilkan semua daftar berita terbaru dan terkait.
Menampilkan daftar berita terbaru dan terkait berdasarkan asal situs
web.
Verifikasi yang dijalankan ketika Admin melakukan proses login.
Menambah data situs web pada database yang dimasukkan oleh
Admin.
Mengubah data situs web pada database yang dimasukkan oleh
Admin.
Menghapus data situs web pada database yang dimasukkan oleh
Admin.
Mengambil berita-berita terbaru.
Mencari berita terkait.
Proses logout Admin dari sistem.
Tahap Perancangan
Perancangan Fungsi
Sistem dibuat menggunakan konsep MVC. Framework MVC yang dipakai
untuk memudahkan pengembangan sistem adalah Codeigniter. Menurut Upton
(2007), beberapa kelebihan Codeigniter adalah:
Menghemat waktu.
Membuat situs menjadi lebih kokoh.
Mendapatkan pengkodean yang lebih mutakhir.
6
Pada MVC, Model merupakan bagian dari sistem yang berkaitan dengan
data dan business logic. Pada bagian ini juga terdapat interaksi sistem dengan
database. View merupakan bagian dari sistem yang berkaitan dengan antarmuka.
Pada View biasa terdapat HTML, CSS, dan JS. Controller merupakan bagian dari
sistem yang berkaitan dengan logika sistem. Salah satu hal yang dilakukan oleh
Controller adalah mengambil input dari pengguna kemudian memberikannya
kepada Model untuk diolah lalu memberikan hasilnya kepada View. Konsep MVC
dapat dilihat pada Gambar 4.
Gambar 4 Konsep MVC pada sistem
Sistem memiliki beberapa buah Model, yaitu:
Website_model: Model ini berisi hal-hal yang berkaitan dengan situs seperti
mengambil daftar situs, dan sebagainya.
News_model: Model ini berkaitan dengan berita seperti pengambilan daftar
berita, memasukkan berita ke dalam database, dan sebagainya.
Sistem memiliki beberapa Controller, yaitu:
Utama: Controller ini mengatur halaman utama sistem dan langsung
berinteraksi dengan pengguna.
Admin_Controller: Controller utama dari Admin dan membawahi controllercontroller Admin yang lain.
Log: Controller dari Admin yang mengatur login dan logout Admin.
Situs: Controller dari Admin yang mengatur hal-hal yang berhubungan dengan
situs-situs yang diindeks.
Indexing: Controller yang mengatur proses pengindeksan. Controller ini
dipanggil menggunakan cron.
View pada sistem terdiri atas:
Template_utama: View ini menjadi template halaman utama sistem.
Utama_berita: View ini menampilkan daftar berita beserta berita terkait pada
halaman utama.
Template_admin: View ini menjadi template halaman Admin sistem.
Situs_list: View ini menampilkan daftar situs pada halaman Admin.
Situs_form: View ini menampilkan form untuk menambah dan mengubah
daftar situs.
7
Perancangan Database
Menurut Connolly dan Begg (2005), ada tiga tahap utama dalam merancang
database, yaitu:
Perancangan Konseptual
Sistem memiliki 3 entitas utama yaitu website, news, dan related_news.
Website merupakan entitas yang menyimpan daftar website, news merupakan
entitas yang menyimpan daftar berita terbaru, dan related_news merupakan
entitas yang menyimpan daftar berita terkait. Tiap entitas memiliki hubungan:
o Situs web memiliki berita (website has news).
o Berita memiliki berita terkait (news have related_news).
Website memiliki primary key (PK) website_id, news memiliki PK
news_id, dan related_news memiliki PK related_news_id. Website memiliki
hubungan one-to-many dengan news, dan news memiliki many-to-many dengan
related_news. Perancangan konseptual database dapat dilihat pada Gambar 5.
Gambar 5 Desain konseptual database
Perancangan Logika
Pada perancangan logika, hubungan many-to-many antara news dan
related_news menghasilkan sebuah entitas baru. Entitas baru tersebut memiliki
dua buah foreign key (FK). Kedua FK ini berasal PK news dan related_news.
Entitas ini diberi nama having. Entitas ini memiliki hubungan one-to-many
dengan news dan related_news. Perancangan konseptual database dapat dilihat
pada Gambar 6.
Perancangan Fisik
Pada perancangan fisik, tiap entitas diubah menjadi tabel. Tiap tabel
ditulis atributnya, dalam hal ini menjadi kolom, untuk persiapan dimasukkan
ke dalam database. Daftar tabel pada sistem dapat dilihat pada Tabel 2.
Database yang dipakai MySQL adalah 5.5.25a.
8
Gambar 6 Desain logika database
Tabel 2 Daftar tabel beserta atributnya pada database
Tabel
website
news
having
related_news
Kolom
website_id
name
domain
url
rss_address
type
tag_list
tag_title
tag_content
tag_date
tag_readmore
news_id
title
content
date
time
date_type
permalink
website_id
related_news_id
news_id
related_news_id
title
html_title
permalink
Tipe Data
tinyint
varchar(70)
varchar(30)
varchar(100)
varchar(150)
tinyint
varchar(20)
varchar(20)
varchar(20)
varchar(20)
varchar(20)
int
varchar(200)
text
date
time
tinyint
varchar(200)
tinyint
int
int
int
varchar(200)
varchar(200)
varchar(200)
Catatan
primary key
primary key
foreign key
foreign key
foreign key
primary key
Perancangan Antarmuka
Sistem ini mengikuti kaidah Galitz (2007) yang meliputi pendefinisian:
1 Navigasi
Navigasi pada sistem hanya ada pada halaman Admin. Navigasi berbentuk
horizontal dan berada di antara judul dan isi. Navigasi berisi link-link menuju
9
halaman lain, serta link untuk melakukan logout. Perancangan navigasi dapat
dilihat pada Gambar 7.
Gambar 7 Perancangan navigasi halaman Admin
2 Kontrol Layar
Kontrol layar pada sistem terdiri atas:
Tombol (Buttons)
Tombol pada sistem dipakai untuk melakukan login, dan
menambah/mengubah/menghapus daftar situs.
Kotak teks (Text boxes)
Kotak teks pada sistem dipakai saat melakukan login, dan saat
menambah/mengubah/menghapus daftar situs.
Kotak daftar drop-down (Drop-down list boxes)
Kotak daftar dalam sistem dipakai untuk menampilkan daftar situs pada
halaman utama. Hal ini dapat dilihat pada Gambar 8.
3 Tipografi
Tipografi font yang dipakai adalah Arial yang merupakan jenis font sans-serif.
Tiap tulisan pada judul dibuat sebesar 24 px, judul isi sebesar 14 px, dan isi
sebesar 12 px.
4 Feedback
Feedback dalam sistem berbentuk sebuah notifikasi. Notifikasi mucul dalam
teks berwarna hijau sebagai pemberitahuan bahwa proses berjalan lancar.
Notifikasi muncul dalam teks berwarna merah sebagai peringatan bahwa
proses yang dilakukan tidak diperbolehkan sistem. Contoh proses dimana
notifikasi muncul adalah saat Admin menambah daftar situs.
5 Pemilihan warna.
Menurut Nielsen dan Loranger (2006), untuk memperjelas teks digunakan
warna teks yang kontras dengan warna latar yaitu teks berwarna gelap dengan
latar berwarna terang (positive text), atau teks berwarna terang dengan latar
berwarna gelap (negative text). Pada sistem digunakan positive text yaitu warna
biru dan hitam sebagai warna teks dan putih sebagai warna latar.
Halaman utama pada Gambar 8 berisi daftar situs, kotak pencarian dan blokblok berita. Daftar situs berada di kiri atas dan berisi situs-situs yang beritanya
sudah diambil oleh sistem. Daftar situs ini berfungsi untuk menampilkan berita
berdasarkan situs yang dipilih. Kotak pencarian berada di kanan atas dan
berfungsi untuk mencari berita berdasarkan judul berita. Blok-blok berita
merupakan daftar berita dan berbentuk tiga buah kolom. Sebuah blok berita berisi
detail dari sebuah berita seperti judul, tanggal berita dan isi berita. Isi berita
merupakan potongan dari isi berita yang sesungguhnya. Pada blok berita juga
terdapat berita-berita terkait. Perancangan blok berita dapat dilihat pada Gambar
9.
10
Gambar 8 Perancangan halaman utama
Gambar 9 Perancangan isi blok berita
Tahap Implementasi
Sistem merupakan aplikasi berbasis web. Oleh karena itu, sistem dibuat
dengan bahasa pemrograman PHP dengan menggunakan framework Codeigniter
2.1.4. Pada penelitian juga menggunakan XAMPP 1.8.3 sebagai tempat
pengembangan web pada sistem operasi Windows. Pada XAMPP, terdapat
Apache sebagai web server, PHP sebagai bahasa pemrograman yang
diterjemahkan ke dalam HTML, dan phpMyAdmin sebagai bentuk GUI dari
database MySQL.
11
Implementasi Fungsi
Pada tahap ini hanya dijelaskan dua buah fungsi utama yang ada pada
sistem. Kedua fungsi itu adalah:
AB-IPB-07
Pengambilan daftar berita terbaru dari situs web yang menyediakan RSS
dilakukan dengan menggunakan library SimplePie versi 1.3.1. SimplePie
merupakan suatu library pada bahasa pemrograman PHP yang khusus
melakukan parsing format berita seperti RSS. Contoh penggunaan library yang
sederhana adalah sebagai berikut:
//tentukan alamat RSS yang ingin diambil
$this->simplepie->set_feed_url(“news.google.com/?output=rss”);
//ambil RSS
$this->simplepie->init();
//untuk setiap item pada RSS
foreach($this->simplepie->get_items() as $item)
{
//ambil judulnya
$title = $item->get_title();
}
Pengambilan daftar berita terbaru dari situs web non-RSS dilakukan
dengan menggunakan library Simple HTML DOM. Library ini berfungsi
untuk mencari tag dan mengambil nilai dari suatu tag pada HTML. Contoh
penggunaan library yang sederhana adalah sebagai berikut:
//ambil halaman HTML
$html = file_get_html(“google.com”);
//temukan semua tag p dan ambil nilainya
$html->find(“p”)->plaintext;
AB-IPB-08
Daftar berita terkait diambil dari layanan Google Search dengan
menggunakan Google Search API. API tersebut dipakai dengan menggunakan
format:
https://www.googleapis.com/customsearch/v1?
key=AIzaSyC3IlguSM8dNvmWE3wHgGf08fTkv8oNgfY&
cx=005153574163305294632:9f4azfapizy&
q=ilmu+komputer
dengan parameter:
key : kunci yang bersifat unique untuk mengakses API
cx
: ID dari jenis search engine untuk ruang lingkup terkait
q
: kata atau kalimat yang dicari
12
Implementasi Database
Langkah pertama yang dilakukan adalah dengan membuat database
bernama mashup pada MySQL. Langkah berikutnya adalah dengan membuat
tabel-tabel yang dibutuhkan. Langkah-langkah ini dilakukan dengan
menggunakan phpMyAdmin. Relasi antar tabel dalam database dapat dilihat pada
Gambar 10.
Gambar 10 Table relational diagram pada sistem
Implementasi Antarmuka
Antarmuka pada sistem terbagi atas dua jenis yaitu antarmuka untuk
halaman utama yang dilihat oleh pengguna biasa, serta halaman Admin yang
khusus dilihat oleh Admin. Halaman utama menggunakan latar berwarna putih
yang sama dengan halaman Admin. Halaman utama dan halaman Admin dapat
dilihat pada Gambar 11 dan Gambar 12.
Halaman utama terdiri atas dua buah bagian yaitu judul dan isi. Pada judul
digunakan background berwarna biru. Judul ditulis berwarna putih agar tidak
bentrok dengan background. Halaman utama berdasarkan kepada rancangan pada
Gambar 8.
Pada isi terdapat sebuah drop-down agar pengguna dapat memilih berita
berdasarkan sumber situsnya. Pada isi juga terdapat kotak untuk melakukan
pencarian terhadap judul berita dan daftar berita terbaru. Daftar berita terbaru ini
dipisah ke dalam tiga buah kolom. Tiap berita dimasukkan ke dalam sebuah kotak,
seperti pada Gambar 13, yang di dalamnya terdapat judul berita, tanggal berita
terbit atau diambil, situs sumber berita, isi berita, serta daftar berita terkait. Pada
isi, teks biasa ditulis dengan warna hitam sedangkan teks berupa link ditulis
dengan warna biru.
13
Gambar 11 Halaman utama sistem
Halaman Admin terdiri atas tiga buah bagian yaitu judul, menu, dan isi.
Berbeda dengan halaman utama, judul pada halaman Admin tidak memakai
background. Judul pada halaman Admin ditulis dengan warna biru seperti Gambar
12.
Menu berada diantara judul dan isi, berbentuk horizontal untuk menghemat
tempat. Isi berada dibawah menu, berisi sebuah judul halaman. Contoh menu pada
halaman Admin dapat dilihat pada Gambar 14.
Gambar 12 Halaman Admin sistem
14
Gambar 13 Contoh sebuah blok berita
Gambar 14 Menu pada halaman Admin
Pengujian Sistem
Pengujian dilakukan dengan dua buah metode yaitu black-box dan whitebox. Pengujian black-box dilakukan terhadap 9 fungsi utama pada sistem. Hasil
pengujian black-box dapat dilihat pada Tabel 3.
Pengujian white-box dilakukan terhadap fungsi pengindeksan. Fungsi
pengindeksan merupakan gabungan dari fungsi AB-IPB-07 dan AB-IPB-08.
Pertama, fungsi ini mengambil daftar situs dari database kemudian memeriksa
tipe situs. Apabila tipe situs tersebut adalah 1, maka situs tersebut diambil
beritanya dari RSS. Apabila situs tersebut tersebut tipenya tidak sama dengan 1,
maka beritanya diambil menggunakan screen scrapping. Berita-berita tersebut
dimasukkan ke dalam database kemudian dicari berita terkaitnya. Selanjutnya
berita-berita terkait dimasukkan ke dalam database. Hasil pengujian white-box
dapat dilihat pada Tabel 4.
15
Kode
AB-IPB-01
AB-IPB-02
AB-IPB-03
AB-IPB-04
AB-IPB-05
AB-IPB-06
Tabel 3 Pengujian black-box sistem
Deskripsi
Kondisi
Hasil yang
Skenario uji
uji
awal
diharapkan
Menampil- Halaman Melihat berita
Tampilan
kan semua
utama
terbaru dan
berita terbaru
berita
aplikasi
terkait
dan terkait
terbaru dan
terkait
Menampil- Halaman Melihat berita
Tampilan
kan berita
utama
terbaru dan
berita terbaru
terbaru dan aplikasi
terkait
dan terkait
terkait
berdasarkan
berdasarkan
berdasarkan
situs web
situs web
situs web
Fungsi
Halaman Login
Masuk ke
login untuk login
halaman
menggunakan
Admin
Admin
Nama dan Kata Admin
Kunci Admin
Nama dan Kata Muncul
Kunci yang
peringatan
dimasukkan
dan kembali
salah
ke halaman
login
Menambah- Halaman Memasukkan
Data situs
kan situs
tambah
data situs web
web yang
web pada
situs web yang baru
baru masuk
daftar situs
ke dalam
web
database
Satu atau lebih
Muncul
data yang
peringatan
dimasukkan
salah
Mengubah
Halaman Mengubah data Data situs
situs web
ubah
situs web
web dalam
pada daftar situs web
database
situs web
berubah
Satu atau lebih
Muncul
data yang
peringatan
dimasukkan
salah
Menghapus Halaman Menghapus
Data situs
situs web
hapus
data situs web
web dihapus
pada daftar situs web
dari database
situs web
Hasil
uji
OK
OK
OK
OK
OK
OK
OK
OK
OK
16
Kode
AB-IPB-07
AB-IPB-08
AB-IPB-09
Deskripsi
uji
Melakukan
pengindeksan
Fungsi
logout
untuk
Admin
Kondisi
awal
Halaman
pengindeksan
Halaman
Admin
Skenario uji
Klik
tombol ”Do
Indexing”
Klik
”Logout”
Hasil yang
diharapkan
Proses
pengindeksan
berhasil
Admin logout
dari sistem
Hasil
uji
OK
OK
Tabel 4 Pengujian white-box fungsi pengindeksan
Flow graph
Source code
public function indexing()
(1) $website = $this->db->get(‘website’)
(2) FOREACH $website
(3)
IF $website->type = 1
(4)
$news = get_news($website, ‘RSS’)
(5)
array_push($news, $temp)
(6)
$news = get_news($website, ‘Non RSS’)
(7)
array_push($news, $temp)
(8)
END IF
(9)
FOREACH $temp
(10)
insert_to_database($news)
(11)
$related = get_related($news)
(12)
insert_to_database($related)
(13)
END FOREACH
(14) END FOREACH
Base path :
1 Test case: $website->type = 1
Path: 1 – 2 – 3 – 4 – 5 – 8 – 9 – 10 – 11 – 12 – 13 – 9 – 10 – 11 – 12 – 13 – …. – 14 – ...
Result: OK
2 Test case: $website->type = 2
Path: 1 – 2 – 3 – 6 – 7 – 8 – 9 – 10 – 11 – 12 – 13 – 9 – 10 – 11 – 12 – 13 – …. – 14 – ...
Result: OK
17
SIMPULAN DAN SARAN
Simpulan
Pada penelitian ini telah dibuat suatu mashup berita IPB yang datanya
berasal dari situs web fakultas dan departemen IPB, dan memiliki format yang
berbeda-beda. Selain itu, mashup juga dapat mengambil daftar berita terkait dari
Google menggunakan Google Search API, kemudian menampilkannya kepada
pengguna.
Saran
Pada penelitian ini masih terdapat beberapa kekurangan. Untuk itu,
beberapa saran yang bisa dilakukan untuk penelitian selanjutnya:
Penambahan fitur unlimited scroll menggunakan AJAX agar pengguna dapat
melihat daftar berita tanpa perlu pindah halaman.
Penambahan fitur laporan untuk proses pengindeksan. Jadi bisa diketahui
berapa berita terbaru dan terkait yang diindeks.
Optimalisasi antarmuka lebih lanjut agar sistem dapat terlihat lebih baik pada
smartphone dan tablet.
DAFTAR PUSTAKA
Connolly T, Begg C. 2005. Database Systems: A Practical Approach to Design,
Implementation, and Management. Ed ke-4. Boston (US): Addison-Wesley.
Curran K, Kinney M. 2009. Delivering audio and video with rich site summary
enclosures. Journal of Multimedia. 1(1):24-31.
Engard NC. 2009. Library Mashups: Exploring New Ways to Deliver Library
Data. New Jersey (US): Information Today.
Galitz WO. 2007. The Essential Guide to User Interface Design. Indianapolis
(US): Wiley.
Gunawan H. 2012. Teks geotagging lokasi pada situs agenda IPB menggunakan
Google Maps API [skripsi]. Bogor (ID): Institut Pertanian Bogor.
Hasiholan D. 2011. Pengembangan sistem agregator berita Institut Pertanian
Bogor berbasis web [skripsi]. Bogor (ID): Institut Pertanian Bogor.
Nielsen J, Loranger H. 2006. Prioritizing Web Usability. Berkeley (US): New
Riders.
Satzinger J, Jackson R, Burd S. 2009. Systems Analysis and Design in A Changing
World Edisi ke-5. Boston (US): Course Technology.
Upton D. 2007. CodeIgniter for Rapid PHP Application Development.
Birmingham (GB): Packt.
18
Lampiran 1 Daftar situs web fakultas dan departemen di IPB
No.
Nama
1 Fakultas Pertanian
2 Fakultas Kedokteran Hewan
3 Fakultas Perikanan
4 Fakultas Peternakan
5 Fakultas Kehutanan
6 Fakultas Teknologi Pertanian
7 Fakultas Matematika dan IPA
8 Fakultas Ekonomi dan Manajemen
9 Fakultas Ekologi Manusia
10 Departemen Agronomi dan Hortikultura
11 Departemen Arsitektur Lanskap
Departemen Ilmu Tanah dan Sumberdaya
12
Lahan
13 Departemen Proteksi Tanaman
Departemen Ilmu Penyakit Hewan dan
14
Kesehatan Masyarakat
Departemen Klinik, Reproduksi dan
15
Patologi
Departemen Anatomi, Fisiologi dan
16
Farmakologi
17 Bagian Bedah Radiologi FKH
18 Departemen Budidaya Perairan
19 Departemen Ilmu dan Teknologi Kelautan
Departemen Manajemen Sumberdaya
20
Perairan
Departemen Pemanfaatan Sumberdaya
21
Perikanan
22 Departemen Teknologi Hasil Perairan
Departemen Ilmu Nutrisi dan Teknologi
23
Pakan
Departemen Ilmu Produksi dan Teknologi
24
Peternakan
25 Departemen Hasil Hutan
Departemen Konservasi Sumberdaya Hutan
26
dan Ekowisata
27 Departemen Manajemen Hutan
28 Departemen Silvikultur
29 Departemen Ilmu dan Teknologi Pangan
URL
http://faperta.ipb.ac.id/
http://fkh.ipb.ac.id/
http://fpik.ipb.ac.id/
http://fapet.ipb.ac.id/
http://fahutan.ipb.ac.id/
http://fateta.ipb.ac.id/
http://fmipa.ipb.ac.id/
http://fem.ipb.ac.id/
http://fema.ipb.ac.id/
http://agrohort.ipb.ac.id/
http://arl.faperta.ipb.ac.id/
http://soil.ipb.ac.id/
http://ptn.ipb.ac.id/
http://kesmavet.fkh.ipb.ac.id/
http://krp.fkh.ipb.ac.id/
http://aff.fkh.ipb.ac.id/
http://bedahradiologi.fkh.ipb.ac
.id/
http://bdp.fpik.ipb.ac.id/
http://itk.fpik.ipb.ac.id/
http://msp.fpik.ipb.ac.id/
http://psp.fpik.ipb.ac.id/
http://thp.fpik.ipb.ac.id/
http://intp.fapet.ipb.ac.id/
http://iptp.fapet.ipb.ac.id/
http://dthh.fahutan.ipb.ac.id/
http://kshe.fahutan.ipb.ac.id/
http://manhut.fahutan.ipb.ac.id/
http://silvikultur.fahutan.ipb.ac.
id/
http://fst.ipb.ac.id/
19
Lampiran 1 Lanjutan
No.
Nama
30 Departemen Teknik Mesin dan Biosistem
31 Departemen Teknologi Industri Pertanian
32 Departemen Teknik Sipil dan Lingkungan
33 Departemen Biokimia
34
35
36
37
38
39
40
41
Departemen Kimia
Departemen Fisika
Departemen Geofisika dan Meteorologi
Departemen Ilmu Komputer
Departemen Biologi
Departemen Matematika
Departemen Statistika
Departemen Ilmu Ekonomi
42 Departemen Manajemen
43
44
45
46
47
URL
http://tmb.ipb.ac.id/
http://tin.fateta.ipb.ac.id/
http://sil.fateta.ipb.ac.id/
http://biokimiaipb.com/biokimi
aipb/
http://chem.fmipa.ipb.ac.id/
http://fisika.ipb.ac.id/
http://geomet.ipb.ac.id/
http://cs.ipb.ac.id/
http://biologi.ipb.ac.id/
http://math.ipb.ac.id/
http://stat.ipb.ac.id/
http://ekonomi.fem.ipb.ac.id/
http://manajemen.fem.ipb.ac.id
/
Departemen Ekonomi Sumberdaya dan
http://esl.fem.ipb.ac.id/
Lingkungan
Departemen Agribisnis
http://agribisnis.fem.ipb.ac.id/
Departemen Gizi Masyarakat
http://gm.fema.ipb.ac.id/
Departemen Ilmu Keluarga dan Konsumen http://ikk.fema.ipb.ac.id/
Departemen Komunikasi dan Pengembangan
http://skpm.fema.ipb.ac.id/
Masyarakat
20
Lampiran 2 Daftar situs berdasarkan ketersediaan RSS
URL Situs
http://faperta.ipb.ac.id/
http://fkh.ipb.ac.id/
http://fpik.ipb.ac.id/
http://fapet.ipb.ac.id/
http://fahutan.ipb.ac.id/
http://fateta.ipb.ac.id/
http://fmipa.ipb.ac.id/
http://fem.ipb.ac.id/
http://fema.ipb.ac.id/
http://agrohort.ipb.ac.id/
http://arl.faperta.ipb.ac.id/
http://soil.ipb.ac.id/
http://ptn.ipb.ac.id/
http://kesmavet.fkh.ipb.ac.id/
http://krp.fkh.ipb.ac.id/
http://aff.fkh.ipb.ac.id/
http://bedahradiologi.fkh.ipb.ac.id/
http://bdp.fpik.ipb.ac.id/
http://itk.fpik.ipb.ac.id/
http://msp.fpik.ipb.ac.id/
http://psp.fpik.ipb.ac.id/
http://thp.fpik.ipb.ac.id/
http://intp.fapet.ipb.ac.id/
http://iptp.fapet.ipb.ac.id/
http://dthh.fahutan.ipb.ac.id/
http://kshe.fahutan.ipb.ac.id/
http://manhut.fahutan.ipb.ac.id/
http://silvikultur.fahutan.ipb.ac.id/
http://fst.ipb.ac.id/
http://tmb.ipb.ac.id/
http://tin.fateta.ipb.ac.id/
http://sil.fateta.ipb.ac.id/
http://biokimiaipb.com/biokimiaipb/
http://chem.fmipa.ipb.ac.id/
http://fisika.ipb.ac.id/
http://geomet-ipb.info/
http://cs.ipb.ac.id/
http://biologi.ipb.ac.id/
http://math.ipb.ac.id/
http://stat.ipb.ac.id/
http://ekonomi.fem.ipb.ac.id/
http://manajemen.fem.ipb.ac.id/
http://esl.fem.ipb.ac.id/
http://agribisnis.fem.ipb.ac.id/
Tidak
Menyediakan
menyediakan
RSS
RSS
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Tidak
dapat
diakses
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
21
Lampiran 2 Lanjutan
URL Situs
http://agribisnis.fem.ipb.ac.id/
http://gm.fema.ipb.ac.id/
http://ikk.fema.ipb.ac.id/
http://skpm.fema.ipb.ac.id/
Jumlah
Tidak
Menyediakan
menyediakan
RSS
RSS
Ya
Ya
Ya
Ya
37
8
Tidak
dapat
diakses
2
22
RIWAYAT HIDUP
Penulis memiliki nama lengkap Herdi Bintang Perdana Utomo, lahir di
Jakarta pada tanggal 24 November 1989. Penulis merupakan anak pertama dari
pasangan Judi Marsusiono dan Hermawita. Penulis bersekolah di SMP Negeri 16
Bekasi, kemudian melanjutkan ke SMA Negeri 2 Bekasi, hingga akhirnya masuk
IPB pada tahun 2007 dengan jurusan Ilmu Komputer.
HERDI BINTANG PERDANA UTOMO
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2014
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Pengembangan
Agregator Berita IPB adalah benar karya saya dengan arahan dari komisi
pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi
mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan
maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan
dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.
Bogor, Februari 2014
Herdi Bintang Perdana Utomo
NIM G64070103
ABSTRAK
HERDI BINTANG PERDANA UTOMO. Pengembangan Agregator Berita IPB.
Dibimbing oleh FIRMAN ARDIANSYAH.
Pertumbuhan internet yang pesat menyebabkan keberagaman data. Salah
satu contoh keberagaman ini adalah situs fakultas dan departemen di Institut
Pertanian Bogor (IPB), dimana tidak semua situs dapat diambil berita terbarunya
menggunakan rich site summary (RSS). Hal ini akan menyulitkan pengumpulan
berita terbaru. Untuk mengatasi hal tersebut, dipakai metode mashup. Mashup
dibuat dengan menggunakan application programming interface (API). Dalam
penelitian ini, API yang dipakai adalah Google Search API, yang akan dipakai
untuk mencari berita terkait.
Kata kunci: API, mashup, RSS
ABSTRACT
HERDI BINTANG PERDANA UTOMO. Development of IPB News Aggregator.
Supervised by FIRMAN ARDIANSYAH.
The rapid growth of Internet led to the diversity of the data. An example of
this diversity is the sites of faculty and department at Bogor Agricultural
University (IPB), which not all of newest news of the sites can be retrieved using
Rich Site Summary (RSS). This would complicate the collection of recent news.
To overcome this, the method that be used is mashups. The mashup was created
using the Application Programming Interface (API). In this study, the API used is
the Google Search API, which is will be used to search related news.
Keywords: API, mashup, RSS
PENGEMBANGAN AGREGATOR BERITA IPB
HERDI BINTANG PERDANA UTOMO
Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer
pada
Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2014
Penguji:
1 Irman Hermadi, SKom, MS
2 Dr Yani Nurhadryani, SSi, MT
Judul Skripsi : Pengembangan Agregator Berita IPB
Nama
: Herdi Bintang Perdana Utomo
NIM
: G64070103
Disetujui oleh
Firman Ardiansyah, SKom, MSi
Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi, MKom
Ketua Departemen
Tanggal Lulus:
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas
segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang
dipilih dalam penelitian ini adalah mashup, dengan judul Pengembangan
Agregator Berita IPB.
Ungkapan terima kasih sebanyak-banyaknya penulis berikan kepada:
1 ALLAH SWT atas rahmat dan hidayah-Nya.
2 Nabi Muhammad SAW sebagai teladan dalam hidup seorang muslim.
3 Keluarga penulis yaitu ayah, ibu, dan adik yang banyak memberikan dukungan
serta doa.
4 Bapak Firman Ardiansyah selaku pembimbing yang telah banyak direpotkan
oleh penulis. Terima kasih atas kesabarannya dalam membimbing penulis
selama ini.
5 Rilan, Rifki, Auzi, Agung, dan Wiwiek selaku teman sebimbingan.
6 Sayed, Kaka, Bangun, Topa, Gama, Aco, Yanta, Ridwan, dan rekan-rekan
lainnya dari SIGAP. Terima kasih banyak atas bantuannya selama ini.
7 Anggit, Cawang, Arizal, Abi, Teguh, serta teman-teman dari Ilmu Komputer
angkatan 44 yang tidak dapat penulis sebutkan satu per satu disini.
8 Wulan, Diki, Danang, dan Sisil sebagai teman yang suka menyemangati
penulis.
Semoga karya ilmiah ini bermanfaat.
Bogor, Februari 2014
Herdi Bintang Perdana Utomo
DAFTAR ISI
DAFTAR TABEL
viii
DAFTAR GAMBAR
viii
DAFTAR LAMPIRAN
viii
PENDAHULUAN
1
Latar Belakang
1
Perumusan Masalah
1
Tujuan Penelitian
1
Manfaat Penelitian
2
Ruang Lingkup Penelitian
2
METODE
2
Tahap Perencanaan
2
Tahap Analisis
3
Tahap Perancangan
3
Tahap Implementasi
3
HASIL DAN PEMBAHASAN
3
Tahap Perencanaan
3
Tahap Analisis
4
Tahap Perancangan
5
Tahap Implementasi
10
SIMPULAN DAN SARAN
17
Simpulan
17
Saran
17
DAFTAR PUSTAKA
17
RIWAYAT HIDUP
22
DAFTAR TABEL
1
2
3
4
Daftar kebutuhan fungsional sistem
Daftar tabel beserta atributnya pada database
Pengujian black-box sistem
Pengujian white-box fungsi pengindeksan
5
8
15
16
DAFTAR GAMBAR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Metode penelitian waterfall
Diagram situs berdasarkan ketersediaan RSS
Use case sistem Agregator Berita IPB
Konsep MVC pada sistem
Desain konseptual database
Desain logika database
Perancangan navigasi halaman Admin
Perancangan halaman utama
Perancangan isi blok berita
Table relational diagram pada sistem
Halaman utama sistem
Halaman Admin sistem
Contoh sebuah blok berita
Menu pada halaman Admin
2
4
5
6
7
8
9
10
10
12
13
13
14
14
DAFTAR LAMPIRAN
1 Daftar situs web fakultas dan departemen di IPB
2 Daftar situs berdasarkan ketersediaan RSS
18
20
PENDAHULUAN
Latar Belakang
Pengelolaan situs web departemen dan fakultas di Institut Pertanian Bogor
(IPB) dilakukan secara mandiri. Situs-situs web tersebut memiliki berita-berita
yang dapat berbentuk: acara yang telah atau akan berlangsung, pengumuman nilai
ujian, informasi kerjasama dengan lembaga lain, dan sebagainya. Pengumpulan
berita dari situs-situs tersebut menjadi sulit karena perbedaan format berita dalam
situs-situs tersebut.
Perbedaan format juga terjadi di dunia internet disebabkan oleh
pertumbuhan data yang besar. Sehingga lahirlah mashup, suatu aplikasi yang
datanya berasal dari sumber dan format yang berbeda-beda (Engard 2009).
Mashup dibuat dengan menggunakan application programming interface (API)
yang disediakan oleh penyedia sumber data.
Penelitian sebelumnya yang dilakukan oleh Hasiholan (2011) berhasil
membuat suatu agregator web yang mengumpulkan berita-berita terbaru dari situs
web IPB. Agregator merupakan suatu aplikasi yang mengumpulkan informasi
dengan tipe tertentu dari beberapa sumber. Penelitian tersebut hanya terbatas pada
penggunaan format rich site summary (RSS) saja sehingga berita yang diambil
juga terbatas. Penelitian lain dilakukan oleh Gunawan (2012) berhasil membuat
suatu aplikasi teks geotagging untuk agenda IPB dengan memanfaatkan Google
Maps API.
Pada penelitian ini akan dikembangkan mashup berita dari situs web
fakultas dan departemen di IPB. Aplikasi ini menggunakan konsep agregator
ditambah dengan Google Search API. Diharapkan sistem ini dapat membantu
pengguna untuk mencari berita terbaru dan berita terkait yang ada di IPB. Sistem
ini disebut juga Agregator Berita IPB (AB-IPB).
Perumusan Masalah
Masalah yang diselesaikan pada penelitian ini adalah apakah dapat dibuat
suatu mashup berbasis web yang mampu mengambil berita-berita terbaru dari
situs web fakultas dan departemen di IPB, mencari berita terkait menggunakan
Google Search API, dan menampilkannya kepada pengguna.
Tujuan Penelitian
Tujuan dari penelitian ini adalah membuat suatu mashup berbasis web yang
dapat mengambil daftar berita dari situs fakultas dan departemen di IPB, mencari
berita terkait menggunakan Google Search API, dan menampilkannya kepada
pengguna.
2
Manfaat Penelitian
Manfaat penelitian ini adalah meningkatkan kecepatan akses pengguna
yang ingin melihat berita-berita yang ada di IPB karena berita-berita tersebut
terkumpul ke dalam sebuah situs. Manfaat lainnya adalah meningkatkan search
engine optimization (SEO) karena mesin pencari cukup melakukan pengindeksan
ke daftar berita yang ditampilkan oleh sistem.
Ruang Lingkup Penelitian
Ruang lingkup penelitian ini adalah data penelitian hanya berasal dari 9
situs web fakultas dan 38 situs web departemen di IPB. Tidak termasuk situs-situs
unit seperti Indonesia Managing Higher Education for Relevance and Efficiency
(I-MHERE), Career Development and Alumni Affairs (CDA), dan Green TV. API
yang dipakai hanya Google Search API. Berita diambil dengan membaca RSS
yang disediakan oleh situs. Apabila situs tidak menyediakan RSS, beritanya akan
diambil menggunakan screen scrapping dengan syarat tertentu. Daftar situs web
fakultas dan departemen di IPB dapat dilihat pada Lampiran 1.
METODE
Metode yang digunakan dalam penelitian ini adalah metode pengembangan
sistem waterfall. Menurut Satzinger et al. (2009) metode ini terdiri atas empat
proses yang meliputi fase perencanaan, fase analisis, fase perancangan, dan fase
implementasi seperti yang dapat dilihat pada Gambar 1.
Gambar 1 Metode penelitian waterfall
Tahap Perencanaan
Pada tahap ini dilakukan pendefinisian masalah, yaitu masalah yang terjadi
dan cara mengatasi masalah tersebut. Hal ini dengan cara mewawancarai pihak
Direktorat Komunikasi dan Sistem Informasi (DKSI) IPB.
3
Tahap Analisis
Tahap ini dilakukan untuk memahami dan mendokumentasikan kebutuhan
bisnis dan kebutuhan pengolahan dari sistem baru. Tahap ini dilakukan dengan
menganalisis hasil wawancara.
Tahap Perancangan
Pada tahap ini dilakukan perancangan hal-hal yang berkaitan dengan sistem
seperti perancangan fungsi, perancangan antarmuka, dan perancangan database.
Perancangan fungsi merupakan penggambaran model-view-controller (MVC)
pada sistem. Pada perancangan database, dibuat 3 jenis perancangan yaitu
perancangan konseptual, perancangan logika, dan perancangan fisik.
Tahap Implementasi
Pada tahap ini dilakukan implementasi dari rancangan yang telah dibuat
sebelumnya seperti implementasi fungsi, implementasi database, implementasi
antarmuka, dan pengujian sistem. Dalam implementasi fungsi, fungsi-fungsi
dalam sistem diimplementasikan dengan menerapkan konsep MVC pada
Codeigniter. Dalam implementasi database, implementasi database dilakukan
dengan mengimplementasikan query-query pada database MySQL.
Pengimplementasian query dilakukan pada aplikasi phpMyAdmin. Dalam
implementasi antarmuka, antarmuka sistem dibuat menggunakan HTML dan CSS.
Dalam pengujian sistem, Pengujian pertama yang dilakukan adalah pengujian
fungsional sistem. Pengujian dilakukan terhadap 9 fungsi utama sistem dengan
menggunakan metode pengujian black-box.
HASIL DAN PEMBAHASAN
Tahap Perencanaan
Berdasarkan hasil wawancara dengan pihak DKSI, didapatkan bahwa di IPB
terdapat 47 situs web fakultas dan departemen. Berdasarkan Lampiran 2,
sebanyak 37 situs menyediakan RSS dan 7 situs tidak menyediakan RSS. Tidak
tersedianya RSS akan menyulitkan pengumpulan berita. Untuk mengatasi masalah
ini, sistem yang dikembangkan harus mampu mengekstrak berita dari halaman
utama situs tersebut. Cara ini disebut juga dengan screen scrapping. Perbandingan
ketersediaan RSS pada situs fakultas dan departemen dapat dilihat pada Gambar
2.
4
2 (4%)
8 (17%)
Menyediakan RSS
Tidak menyediakan
RSS
Tidak dapat diakses
37 (79%)
Gambar 2 Diagram situs berdasarkan ketersediaan RSS
Tahap Analisis
Berdasarkan hasil wawancara, sistem yang harus dibuat merupakan sebuah
agregator berita. Oleh karena itu, sistem harus mampu mengumpulkan beritaberita dari 47 situs yang menggunakan format yang berbeda. Perbedaan ini
dikarenakan tidak semua situs menggunakan format RSS.
RSS merupakan format sindikasi konten web yang biasa digunakan untuk
mengatur berita-berita dan konten situs mirip berita (Curran dan Kinney 2006).
Sebuah dokumen RSS (yang biasa disebut "feed", "web feed", atau "channel")
terdapat teks penuh atau ringkasan teks, ditambah dengan metadata seperti
tanggal penerbitan dan penulisnya.
Screen scrapping dilakukan dengan cara membaca source code halaman
utama situs. Syarat agar hal ini bisa dilakukan adalah situs memiliki beberapa
jenis tag tertentu. Tag ini dapat berupa nama ID, class, atau tag HTML. Agar
berita dapat diambil secara berulang dan otomatis, nama tag harus sama untuk
berita yang berbeda. Tag-tag tersebut adalah, yaitu:
Tag list: tag ini merupakan tag yang membungkus sebuah berita.
Tag title: tag ini menandakan judul berita.
Tag content: tag ini menandakan isi berita
Tag date: tag ini menandakan tanggal berita
Tag readmore: tag ini menandakan link untuk membaca keseluruhan berita.
Ada dua fungsi utama yang harus dilakukan oleh sistem yaitu mengambil
berita terbaru dan mencari berita terkait. Kedua fungsi ini disebut juga dengan
proses pengindeksan. Proses ini dilakukan secara otomatis dengan menggunakan
cron pada server dengan pengaturan waktu diserahkan kepada Admin. Cron
merupakan suatu aplikasi penjadwalan pekerjaan berdasarkan waktu untuk sistem
operasi mirip Unix. Berita terbaru merupakan berita yang ada pada situs namun
belum ada pada database sistem saat pengindeksan dilakukan. Berita ini diambil
dari RSS atau hasil screen scrapping pada situs. Untuk mencari berita terkait,
dilakukan dengan menggunakan Google Search API.
Google Search API merupakan suatu layanan dari Google yang
memungkinkan situs web dan program untuk mengambil dan menampilkan hasil
pencarian dari Google Custom Search. Dengan API ini, dilakukan pencarian web
5
atau gambar dan hasil pencariannya dikembalikan dalam bentuk JavaScript object
notation (JSON) atau Atom.
Fitur lain adalah fungsi Admin yang digunakan untuk menambah daftar
berita yang diindeks. Admin merupakan pengguna biasa yang memiliki
kewenangan khusus. Fungsi Admin ini tentu saja memerlukan fungsi login dan
logout untuk menambah keamanan. Rangkuman dari semua fungsi yang perlu
dilakukan oleh sistem dapat dilihat pada Gambar 3 dan Tabel 1.
Gambar 3 Use case sistem Agregator Berita IPB
Kode
AB-IPB-01
AB-IPB-02
AB-IPB-03
AB-IPB-04
AB-IPB-05
AB-IPB-06
AB-IPB-07
AB-IPB-08
AB-IPB-09
Tabel 1 Daftar kebutuhan fungsional sistem
Fungsi
Menampilkan semua daftar berita terbaru dan terkait.
Menampilkan daftar berita terbaru dan terkait berdasarkan asal situs
web.
Verifikasi yang dijalankan ketika Admin melakukan proses login.
Menambah data situs web pada database yang dimasukkan oleh
Admin.
Mengubah data situs web pada database yang dimasukkan oleh
Admin.
Menghapus data situs web pada database yang dimasukkan oleh
Admin.
Mengambil berita-berita terbaru.
Mencari berita terkait.
Proses logout Admin dari sistem.
Tahap Perancangan
Perancangan Fungsi
Sistem dibuat menggunakan konsep MVC. Framework MVC yang dipakai
untuk memudahkan pengembangan sistem adalah Codeigniter. Menurut Upton
(2007), beberapa kelebihan Codeigniter adalah:
Menghemat waktu.
Membuat situs menjadi lebih kokoh.
Mendapatkan pengkodean yang lebih mutakhir.
6
Pada MVC, Model merupakan bagian dari sistem yang berkaitan dengan
data dan business logic. Pada bagian ini juga terdapat interaksi sistem dengan
database. View merupakan bagian dari sistem yang berkaitan dengan antarmuka.
Pada View biasa terdapat HTML, CSS, dan JS. Controller merupakan bagian dari
sistem yang berkaitan dengan logika sistem. Salah satu hal yang dilakukan oleh
Controller adalah mengambil input dari pengguna kemudian memberikannya
kepada Model untuk diolah lalu memberikan hasilnya kepada View. Konsep MVC
dapat dilihat pada Gambar 4.
Gambar 4 Konsep MVC pada sistem
Sistem memiliki beberapa buah Model, yaitu:
Website_model: Model ini berisi hal-hal yang berkaitan dengan situs seperti
mengambil daftar situs, dan sebagainya.
News_model: Model ini berkaitan dengan berita seperti pengambilan daftar
berita, memasukkan berita ke dalam database, dan sebagainya.
Sistem memiliki beberapa Controller, yaitu:
Utama: Controller ini mengatur halaman utama sistem dan langsung
berinteraksi dengan pengguna.
Admin_Controller: Controller utama dari Admin dan membawahi controllercontroller Admin yang lain.
Log: Controller dari Admin yang mengatur login dan logout Admin.
Situs: Controller dari Admin yang mengatur hal-hal yang berhubungan dengan
situs-situs yang diindeks.
Indexing: Controller yang mengatur proses pengindeksan. Controller ini
dipanggil menggunakan cron.
View pada sistem terdiri atas:
Template_utama: View ini menjadi template halaman utama sistem.
Utama_berita: View ini menampilkan daftar berita beserta berita terkait pada
halaman utama.
Template_admin: View ini menjadi template halaman Admin sistem.
Situs_list: View ini menampilkan daftar situs pada halaman Admin.
Situs_form: View ini menampilkan form untuk menambah dan mengubah
daftar situs.
7
Perancangan Database
Menurut Connolly dan Begg (2005), ada tiga tahap utama dalam merancang
database, yaitu:
Perancangan Konseptual
Sistem memiliki 3 entitas utama yaitu website, news, dan related_news.
Website merupakan entitas yang menyimpan daftar website, news merupakan
entitas yang menyimpan daftar berita terbaru, dan related_news merupakan
entitas yang menyimpan daftar berita terkait. Tiap entitas memiliki hubungan:
o Situs web memiliki berita (website has news).
o Berita memiliki berita terkait (news have related_news).
Website memiliki primary key (PK) website_id, news memiliki PK
news_id, dan related_news memiliki PK related_news_id. Website memiliki
hubungan one-to-many dengan news, dan news memiliki many-to-many dengan
related_news. Perancangan konseptual database dapat dilihat pada Gambar 5.
Gambar 5 Desain konseptual database
Perancangan Logika
Pada perancangan logika, hubungan many-to-many antara news dan
related_news menghasilkan sebuah entitas baru. Entitas baru tersebut memiliki
dua buah foreign key (FK). Kedua FK ini berasal PK news dan related_news.
Entitas ini diberi nama having. Entitas ini memiliki hubungan one-to-many
dengan news dan related_news. Perancangan konseptual database dapat dilihat
pada Gambar 6.
Perancangan Fisik
Pada perancangan fisik, tiap entitas diubah menjadi tabel. Tiap tabel
ditulis atributnya, dalam hal ini menjadi kolom, untuk persiapan dimasukkan
ke dalam database. Daftar tabel pada sistem dapat dilihat pada Tabel 2.
Database yang dipakai MySQL adalah 5.5.25a.
8
Gambar 6 Desain logika database
Tabel 2 Daftar tabel beserta atributnya pada database
Tabel
website
news
having
related_news
Kolom
website_id
name
domain
url
rss_address
type
tag_list
tag_title
tag_content
tag_date
tag_readmore
news_id
title
content
date
time
date_type
permalink
website_id
related_news_id
news_id
related_news_id
title
html_title
permalink
Tipe Data
tinyint
varchar(70)
varchar(30)
varchar(100)
varchar(150)
tinyint
varchar(20)
varchar(20)
varchar(20)
varchar(20)
varchar(20)
int
varchar(200)
text
date
time
tinyint
varchar(200)
tinyint
int
int
int
varchar(200)
varchar(200)
varchar(200)
Catatan
primary key
primary key
foreign key
foreign key
foreign key
primary key
Perancangan Antarmuka
Sistem ini mengikuti kaidah Galitz (2007) yang meliputi pendefinisian:
1 Navigasi
Navigasi pada sistem hanya ada pada halaman Admin. Navigasi berbentuk
horizontal dan berada di antara judul dan isi. Navigasi berisi link-link menuju
9
halaman lain, serta link untuk melakukan logout. Perancangan navigasi dapat
dilihat pada Gambar 7.
Gambar 7 Perancangan navigasi halaman Admin
2 Kontrol Layar
Kontrol layar pada sistem terdiri atas:
Tombol (Buttons)
Tombol pada sistem dipakai untuk melakukan login, dan
menambah/mengubah/menghapus daftar situs.
Kotak teks (Text boxes)
Kotak teks pada sistem dipakai saat melakukan login, dan saat
menambah/mengubah/menghapus daftar situs.
Kotak daftar drop-down (Drop-down list boxes)
Kotak daftar dalam sistem dipakai untuk menampilkan daftar situs pada
halaman utama. Hal ini dapat dilihat pada Gambar 8.
3 Tipografi
Tipografi font yang dipakai adalah Arial yang merupakan jenis font sans-serif.
Tiap tulisan pada judul dibuat sebesar 24 px, judul isi sebesar 14 px, dan isi
sebesar 12 px.
4 Feedback
Feedback dalam sistem berbentuk sebuah notifikasi. Notifikasi mucul dalam
teks berwarna hijau sebagai pemberitahuan bahwa proses berjalan lancar.
Notifikasi muncul dalam teks berwarna merah sebagai peringatan bahwa
proses yang dilakukan tidak diperbolehkan sistem. Contoh proses dimana
notifikasi muncul adalah saat Admin menambah daftar situs.
5 Pemilihan warna.
Menurut Nielsen dan Loranger (2006), untuk memperjelas teks digunakan
warna teks yang kontras dengan warna latar yaitu teks berwarna gelap dengan
latar berwarna terang (positive text), atau teks berwarna terang dengan latar
berwarna gelap (negative text). Pada sistem digunakan positive text yaitu warna
biru dan hitam sebagai warna teks dan putih sebagai warna latar.
Halaman utama pada Gambar 8 berisi daftar situs, kotak pencarian dan blokblok berita. Daftar situs berada di kiri atas dan berisi situs-situs yang beritanya
sudah diambil oleh sistem. Daftar situs ini berfungsi untuk menampilkan berita
berdasarkan situs yang dipilih. Kotak pencarian berada di kanan atas dan
berfungsi untuk mencari berita berdasarkan judul berita. Blok-blok berita
merupakan daftar berita dan berbentuk tiga buah kolom. Sebuah blok berita berisi
detail dari sebuah berita seperti judul, tanggal berita dan isi berita. Isi berita
merupakan potongan dari isi berita yang sesungguhnya. Pada blok berita juga
terdapat berita-berita terkait. Perancangan blok berita dapat dilihat pada Gambar
9.
10
Gambar 8 Perancangan halaman utama
Gambar 9 Perancangan isi blok berita
Tahap Implementasi
Sistem merupakan aplikasi berbasis web. Oleh karena itu, sistem dibuat
dengan bahasa pemrograman PHP dengan menggunakan framework Codeigniter
2.1.4. Pada penelitian juga menggunakan XAMPP 1.8.3 sebagai tempat
pengembangan web pada sistem operasi Windows. Pada XAMPP, terdapat
Apache sebagai web server, PHP sebagai bahasa pemrograman yang
diterjemahkan ke dalam HTML, dan phpMyAdmin sebagai bentuk GUI dari
database MySQL.
11
Implementasi Fungsi
Pada tahap ini hanya dijelaskan dua buah fungsi utama yang ada pada
sistem. Kedua fungsi itu adalah:
AB-IPB-07
Pengambilan daftar berita terbaru dari situs web yang menyediakan RSS
dilakukan dengan menggunakan library SimplePie versi 1.3.1. SimplePie
merupakan suatu library pada bahasa pemrograman PHP yang khusus
melakukan parsing format berita seperti RSS. Contoh penggunaan library yang
sederhana adalah sebagai berikut:
//tentukan alamat RSS yang ingin diambil
$this->simplepie->set_feed_url(“news.google.com/?output=rss”);
//ambil RSS
$this->simplepie->init();
//untuk setiap item pada RSS
foreach($this->simplepie->get_items() as $item)
{
//ambil judulnya
$title = $item->get_title();
}
Pengambilan daftar berita terbaru dari situs web non-RSS dilakukan
dengan menggunakan library Simple HTML DOM. Library ini berfungsi
untuk mencari tag dan mengambil nilai dari suatu tag pada HTML. Contoh
penggunaan library yang sederhana adalah sebagai berikut:
//ambil halaman HTML
$html = file_get_html(“google.com”);
//temukan semua tag p dan ambil nilainya
$html->find(“p”)->plaintext;
AB-IPB-08
Daftar berita terkait diambil dari layanan Google Search dengan
menggunakan Google Search API. API tersebut dipakai dengan menggunakan
format:
https://www.googleapis.com/customsearch/v1?
key=AIzaSyC3IlguSM8dNvmWE3wHgGf08fTkv8oNgfY&
cx=005153574163305294632:9f4azfapizy&
q=ilmu+komputer
dengan parameter:
key : kunci yang bersifat unique untuk mengakses API
cx
: ID dari jenis search engine untuk ruang lingkup terkait
q
: kata atau kalimat yang dicari
12
Implementasi Database
Langkah pertama yang dilakukan adalah dengan membuat database
bernama mashup pada MySQL. Langkah berikutnya adalah dengan membuat
tabel-tabel yang dibutuhkan. Langkah-langkah ini dilakukan dengan
menggunakan phpMyAdmin. Relasi antar tabel dalam database dapat dilihat pada
Gambar 10.
Gambar 10 Table relational diagram pada sistem
Implementasi Antarmuka
Antarmuka pada sistem terbagi atas dua jenis yaitu antarmuka untuk
halaman utama yang dilihat oleh pengguna biasa, serta halaman Admin yang
khusus dilihat oleh Admin. Halaman utama menggunakan latar berwarna putih
yang sama dengan halaman Admin. Halaman utama dan halaman Admin dapat
dilihat pada Gambar 11 dan Gambar 12.
Halaman utama terdiri atas dua buah bagian yaitu judul dan isi. Pada judul
digunakan background berwarna biru. Judul ditulis berwarna putih agar tidak
bentrok dengan background. Halaman utama berdasarkan kepada rancangan pada
Gambar 8.
Pada isi terdapat sebuah drop-down agar pengguna dapat memilih berita
berdasarkan sumber situsnya. Pada isi juga terdapat kotak untuk melakukan
pencarian terhadap judul berita dan daftar berita terbaru. Daftar berita terbaru ini
dipisah ke dalam tiga buah kolom. Tiap berita dimasukkan ke dalam sebuah kotak,
seperti pada Gambar 13, yang di dalamnya terdapat judul berita, tanggal berita
terbit atau diambil, situs sumber berita, isi berita, serta daftar berita terkait. Pada
isi, teks biasa ditulis dengan warna hitam sedangkan teks berupa link ditulis
dengan warna biru.
13
Gambar 11 Halaman utama sistem
Halaman Admin terdiri atas tiga buah bagian yaitu judul, menu, dan isi.
Berbeda dengan halaman utama, judul pada halaman Admin tidak memakai
background. Judul pada halaman Admin ditulis dengan warna biru seperti Gambar
12.
Menu berada diantara judul dan isi, berbentuk horizontal untuk menghemat
tempat. Isi berada dibawah menu, berisi sebuah judul halaman. Contoh menu pada
halaman Admin dapat dilihat pada Gambar 14.
Gambar 12 Halaman Admin sistem
14
Gambar 13 Contoh sebuah blok berita
Gambar 14 Menu pada halaman Admin
Pengujian Sistem
Pengujian dilakukan dengan dua buah metode yaitu black-box dan whitebox. Pengujian black-box dilakukan terhadap 9 fungsi utama pada sistem. Hasil
pengujian black-box dapat dilihat pada Tabel 3.
Pengujian white-box dilakukan terhadap fungsi pengindeksan. Fungsi
pengindeksan merupakan gabungan dari fungsi AB-IPB-07 dan AB-IPB-08.
Pertama, fungsi ini mengambil daftar situs dari database kemudian memeriksa
tipe situs. Apabila tipe situs tersebut adalah 1, maka situs tersebut diambil
beritanya dari RSS. Apabila situs tersebut tersebut tipenya tidak sama dengan 1,
maka beritanya diambil menggunakan screen scrapping. Berita-berita tersebut
dimasukkan ke dalam database kemudian dicari berita terkaitnya. Selanjutnya
berita-berita terkait dimasukkan ke dalam database. Hasil pengujian white-box
dapat dilihat pada Tabel 4.
15
Kode
AB-IPB-01
AB-IPB-02
AB-IPB-03
AB-IPB-04
AB-IPB-05
AB-IPB-06
Tabel 3 Pengujian black-box sistem
Deskripsi
Kondisi
Hasil yang
Skenario uji
uji
awal
diharapkan
Menampil- Halaman Melihat berita
Tampilan
kan semua
utama
terbaru dan
berita terbaru
berita
aplikasi
terkait
dan terkait
terbaru dan
terkait
Menampil- Halaman Melihat berita
Tampilan
kan berita
utama
terbaru dan
berita terbaru
terbaru dan aplikasi
terkait
dan terkait
terkait
berdasarkan
berdasarkan
berdasarkan
situs web
situs web
situs web
Fungsi
Halaman Login
Masuk ke
login untuk login
halaman
menggunakan
Admin
Admin
Nama dan Kata Admin
Kunci Admin
Nama dan Kata Muncul
Kunci yang
peringatan
dimasukkan
dan kembali
salah
ke halaman
login
Menambah- Halaman Memasukkan
Data situs
kan situs
tambah
data situs web
web yang
web pada
situs web yang baru
baru masuk
daftar situs
ke dalam
web
database
Satu atau lebih
Muncul
data yang
peringatan
dimasukkan
salah
Mengubah
Halaman Mengubah data Data situs
situs web
ubah
situs web
web dalam
pada daftar situs web
database
situs web
berubah
Satu atau lebih
Muncul
data yang
peringatan
dimasukkan
salah
Menghapus Halaman Menghapus
Data situs
situs web
hapus
data situs web
web dihapus
pada daftar situs web
dari database
situs web
Hasil
uji
OK
OK
OK
OK
OK
OK
OK
OK
OK
16
Kode
AB-IPB-07
AB-IPB-08
AB-IPB-09
Deskripsi
uji
Melakukan
pengindeksan
Fungsi
logout
untuk
Admin
Kondisi
awal
Halaman
pengindeksan
Halaman
Admin
Skenario uji
Klik
tombol ”Do
Indexing”
Klik
”Logout”
Hasil yang
diharapkan
Proses
pengindeksan
berhasil
Admin logout
dari sistem
Hasil
uji
OK
OK
Tabel 4 Pengujian white-box fungsi pengindeksan
Flow graph
Source code
public function indexing()
(1) $website = $this->db->get(‘website’)
(2) FOREACH $website
(3)
IF $website->type = 1
(4)
$news = get_news($website, ‘RSS’)
(5)
array_push($news, $temp)
(6)
$news = get_news($website, ‘Non RSS’)
(7)
array_push($news, $temp)
(8)
END IF
(9)
FOREACH $temp
(10)
insert_to_database($news)
(11)
$related = get_related($news)
(12)
insert_to_database($related)
(13)
END FOREACH
(14) END FOREACH
Base path :
1 Test case: $website->type = 1
Path: 1 – 2 – 3 – 4 – 5 – 8 – 9 – 10 – 11 – 12 – 13 – 9 – 10 – 11 – 12 – 13 – …. – 14 – ...
Result: OK
2 Test case: $website->type = 2
Path: 1 – 2 – 3 – 6 – 7 – 8 – 9 – 10 – 11 – 12 – 13 – 9 – 10 – 11 – 12 – 13 – …. – 14 – ...
Result: OK
17
SIMPULAN DAN SARAN
Simpulan
Pada penelitian ini telah dibuat suatu mashup berita IPB yang datanya
berasal dari situs web fakultas dan departemen IPB, dan memiliki format yang
berbeda-beda. Selain itu, mashup juga dapat mengambil daftar berita terkait dari
Google menggunakan Google Search API, kemudian menampilkannya kepada
pengguna.
Saran
Pada penelitian ini masih terdapat beberapa kekurangan. Untuk itu,
beberapa saran yang bisa dilakukan untuk penelitian selanjutnya:
Penambahan fitur unlimited scroll menggunakan AJAX agar pengguna dapat
melihat daftar berita tanpa perlu pindah halaman.
Penambahan fitur laporan untuk proses pengindeksan. Jadi bisa diketahui
berapa berita terbaru dan terkait yang diindeks.
Optimalisasi antarmuka lebih lanjut agar sistem dapat terlihat lebih baik pada
smartphone dan tablet.
DAFTAR PUSTAKA
Connolly T, Begg C. 2005. Database Systems: A Practical Approach to Design,
Implementation, and Management. Ed ke-4. Boston (US): Addison-Wesley.
Curran K, Kinney M. 2009. Delivering audio and video with rich site summary
enclosures. Journal of Multimedia. 1(1):24-31.
Engard NC. 2009. Library Mashups: Exploring New Ways to Deliver Library
Data. New Jersey (US): Information Today.
Galitz WO. 2007. The Essential Guide to User Interface Design. Indianapolis
(US): Wiley.
Gunawan H. 2012. Teks geotagging lokasi pada situs agenda IPB menggunakan
Google Maps API [skripsi]. Bogor (ID): Institut Pertanian Bogor.
Hasiholan D. 2011. Pengembangan sistem agregator berita Institut Pertanian
Bogor berbasis web [skripsi]. Bogor (ID): Institut Pertanian Bogor.
Nielsen J, Loranger H. 2006. Prioritizing Web Usability. Berkeley (US): New
Riders.
Satzinger J, Jackson R, Burd S. 2009. Systems Analysis and Design in A Changing
World Edisi ke-5. Boston (US): Course Technology.
Upton D. 2007. CodeIgniter for Rapid PHP Application Development.
Birmingham (GB): Packt.
18
Lampiran 1 Daftar situs web fakultas dan departemen di IPB
No.
Nama
1 Fakultas Pertanian
2 Fakultas Kedokteran Hewan
3 Fakultas Perikanan
4 Fakultas Peternakan
5 Fakultas Kehutanan
6 Fakultas Teknologi Pertanian
7 Fakultas Matematika dan IPA
8 Fakultas Ekonomi dan Manajemen
9 Fakultas Ekologi Manusia
10 Departemen Agronomi dan Hortikultura
11 Departemen Arsitektur Lanskap
Departemen Ilmu Tanah dan Sumberdaya
12
Lahan
13 Departemen Proteksi Tanaman
Departemen Ilmu Penyakit Hewan dan
14
Kesehatan Masyarakat
Departemen Klinik, Reproduksi dan
15
Patologi
Departemen Anatomi, Fisiologi dan
16
Farmakologi
17 Bagian Bedah Radiologi FKH
18 Departemen Budidaya Perairan
19 Departemen Ilmu dan Teknologi Kelautan
Departemen Manajemen Sumberdaya
20
Perairan
Departemen Pemanfaatan Sumberdaya
21
Perikanan
22 Departemen Teknologi Hasil Perairan
Departemen Ilmu Nutrisi dan Teknologi
23
Pakan
Departemen Ilmu Produksi dan Teknologi
24
Peternakan
25 Departemen Hasil Hutan
Departemen Konservasi Sumberdaya Hutan
26
dan Ekowisata
27 Departemen Manajemen Hutan
28 Departemen Silvikultur
29 Departemen Ilmu dan Teknologi Pangan
URL
http://faperta.ipb.ac.id/
http://fkh.ipb.ac.id/
http://fpik.ipb.ac.id/
http://fapet.ipb.ac.id/
http://fahutan.ipb.ac.id/
http://fateta.ipb.ac.id/
http://fmipa.ipb.ac.id/
http://fem.ipb.ac.id/
http://fema.ipb.ac.id/
http://agrohort.ipb.ac.id/
http://arl.faperta.ipb.ac.id/
http://soil.ipb.ac.id/
http://ptn.ipb.ac.id/
http://kesmavet.fkh.ipb.ac.id/
http://krp.fkh.ipb.ac.id/
http://aff.fkh.ipb.ac.id/
http://bedahradiologi.fkh.ipb.ac
.id/
http://bdp.fpik.ipb.ac.id/
http://itk.fpik.ipb.ac.id/
http://msp.fpik.ipb.ac.id/
http://psp.fpik.ipb.ac.id/
http://thp.fpik.ipb.ac.id/
http://intp.fapet.ipb.ac.id/
http://iptp.fapet.ipb.ac.id/
http://dthh.fahutan.ipb.ac.id/
http://kshe.fahutan.ipb.ac.id/
http://manhut.fahutan.ipb.ac.id/
http://silvikultur.fahutan.ipb.ac.
id/
http://fst.ipb.ac.id/
19
Lampiran 1 Lanjutan
No.
Nama
30 Departemen Teknik Mesin dan Biosistem
31 Departemen Teknologi Industri Pertanian
32 Departemen Teknik Sipil dan Lingkungan
33 Departemen Biokimia
34
35
36
37
38
39
40
41
Departemen Kimia
Departemen Fisika
Departemen Geofisika dan Meteorologi
Departemen Ilmu Komputer
Departemen Biologi
Departemen Matematika
Departemen Statistika
Departemen Ilmu Ekonomi
42 Departemen Manajemen
43
44
45
46
47
URL
http://tmb.ipb.ac.id/
http://tin.fateta.ipb.ac.id/
http://sil.fateta.ipb.ac.id/
http://biokimiaipb.com/biokimi
aipb/
http://chem.fmipa.ipb.ac.id/
http://fisika.ipb.ac.id/
http://geomet.ipb.ac.id/
http://cs.ipb.ac.id/
http://biologi.ipb.ac.id/
http://math.ipb.ac.id/
http://stat.ipb.ac.id/
http://ekonomi.fem.ipb.ac.id/
http://manajemen.fem.ipb.ac.id
/
Departemen Ekonomi Sumberdaya dan
http://esl.fem.ipb.ac.id/
Lingkungan
Departemen Agribisnis
http://agribisnis.fem.ipb.ac.id/
Departemen Gizi Masyarakat
http://gm.fema.ipb.ac.id/
Departemen Ilmu Keluarga dan Konsumen http://ikk.fema.ipb.ac.id/
Departemen Komunikasi dan Pengembangan
http://skpm.fema.ipb.ac.id/
Masyarakat
20
Lampiran 2 Daftar situs berdasarkan ketersediaan RSS
URL Situs
http://faperta.ipb.ac.id/
http://fkh.ipb.ac.id/
http://fpik.ipb.ac.id/
http://fapet.ipb.ac.id/
http://fahutan.ipb.ac.id/
http://fateta.ipb.ac.id/
http://fmipa.ipb.ac.id/
http://fem.ipb.ac.id/
http://fema.ipb.ac.id/
http://agrohort.ipb.ac.id/
http://arl.faperta.ipb.ac.id/
http://soil.ipb.ac.id/
http://ptn.ipb.ac.id/
http://kesmavet.fkh.ipb.ac.id/
http://krp.fkh.ipb.ac.id/
http://aff.fkh.ipb.ac.id/
http://bedahradiologi.fkh.ipb.ac.id/
http://bdp.fpik.ipb.ac.id/
http://itk.fpik.ipb.ac.id/
http://msp.fpik.ipb.ac.id/
http://psp.fpik.ipb.ac.id/
http://thp.fpik.ipb.ac.id/
http://intp.fapet.ipb.ac.id/
http://iptp.fapet.ipb.ac.id/
http://dthh.fahutan.ipb.ac.id/
http://kshe.fahutan.ipb.ac.id/
http://manhut.fahutan.ipb.ac.id/
http://silvikultur.fahutan.ipb.ac.id/
http://fst.ipb.ac.id/
http://tmb.ipb.ac.id/
http://tin.fateta.ipb.ac.id/
http://sil.fateta.ipb.ac.id/
http://biokimiaipb.com/biokimiaipb/
http://chem.fmipa.ipb.ac.id/
http://fisika.ipb.ac.id/
http://geomet-ipb.info/
http://cs.ipb.ac.id/
http://biologi.ipb.ac.id/
http://math.ipb.ac.id/
http://stat.ipb.ac.id/
http://ekonomi.fem.ipb.ac.id/
http://manajemen.fem.ipb.ac.id/
http://esl.fem.ipb.ac.id/
http://agribisnis.fem.ipb.ac.id/
Tidak
Menyediakan
menyediakan
RSS
RSS
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Tidak
dapat
diakses
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
21
Lampiran 2 Lanjutan
URL Situs
http://agribisnis.fem.ipb.ac.id/
http://gm.fema.ipb.ac.id/
http://ikk.fema.ipb.ac.id/
http://skpm.fema.ipb.ac.id/
Jumlah
Tidak
Menyediakan
menyediakan
RSS
RSS
Ya
Ya
Ya
Ya
37
8
Tidak
dapat
diakses
2
22
RIWAYAT HIDUP
Penulis memiliki nama lengkap Herdi Bintang Perdana Utomo, lahir di
Jakarta pada tanggal 24 November 1989. Penulis merupakan anak pertama dari
pasangan Judi Marsusiono dan Hermawita. Penulis bersekolah di SMP Negeri 16
Bekasi, kemudian melanjutkan ke SMA Negeri 2 Bekasi, hingga akhirnya masuk
IPB pada tahun 2007 dengan jurusan Ilmu Komputer.