MAKALAH SEMINAR TUGAS AKHIR
INFORMATICS MEDIA BOARD NEWS READER VIA BLUETOOTH DENGAN PENERAPAN ALGORITMA WEB CRAWLER Fajri Aryuanda – Wahyu Suadi, S.Kom, M.Kom, Henning T.C, S.Kom Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember, Email:
[email protected] –
[email protected],
[email protected]
Abstrak Untuk menjawab salah satu kekurangan sistem Informatics Media Board yang sedang dibangun di Teknik Informatika ITS maka dibangunlah sebuah sistem yang nantinya dapat membantu mengoptimalkan penggunaan Teknologi Informasi dilingkungan Teknik Informatika ITS. Pembangunan sistem ini dilakukan pada perangkat mobile dengan memanfaatkan teknologi Bluetooth pada lingkungan sistem operasi Symbian, dikarenakan kebanyakan perangkat mobile memiliki fasilitas ini. Sebagai pengatur layanan ini, dibangun juga sebuah server yang akan melakukan pengambilan berita dari beberapa situs web dengan menggunakan algortima Web Crawler dan pengambilan informasi dari database serta mengirimkannya pada perangkat mobile yang dimiliki oleh pengguna. Keseluruhan sistem ini dibangun dengan menggunakan bahasa pemrograman Python. Untuk mengetahui bagaimana kemampuan dari sistem ini, dilakukan juga beberapa pengujian. Pengujian dilakukan untuk mengetahui pengaruh jarak perangkat mobile ke server dan jumlah perangkat mobile yang digunakan terhadap lamanya waktu yang dibutuhkan oleh perangkat mobile untuk menerima berita dan informasi.
berupa majalah dinding dan selebaran. Dengan adanya IMB ini nantinya diharapkan seluruh informasi dapat disebarkan dengan lebih mudah, cepat dan update. Informasi dan berita yang terdapat didalam IMB tentunya tidak hanya berasal dari jurusan Teknik Informatika saja. Tetapi ada sumber informasi lain yang ditampilkan sebagai pelengkap berita dan informasi yang terdapat didalam IMB. Beberapa berita dan informasi yang terdapat di pusat informasi ITS yaitu Situs Web ITS (http://its.ac.id) dan beberapa situs Web lainnya juga disertakan didalam sistem IMB ini. Untuk mengambil data-data yang berada pada Situs Web ini, diperlukan sebuah algoritma yang disebut Web Crawler. Dimana algoritma ini akan dapat memilah dan mengambil bagian penting dari sebuah halaman web. Algoritma ini sangat tepat digunakan untuk pengambilan isi dari sebuah halaman web tanpa menyentuh database Situs Web tersebut. Namun dibalik desain dari sistem IMB yang begitu kompleks, masih terdapat kekurangankekurangan yang belum bisa terjawab. Salah satunya adalah bagaimana IMB memfasilitasi sebuah informasi yang penting dan jumlah pengguna yang tertarik dengan informasi tersebut sangat banyak dalam satu waktu. Hal ini akan berdampak buruk pada pengguna. Tentunya akan terjadi antrian pengguna yang ingin membaca atau mendapatkan informasi dari IMB tersebut. Dengan dilatarbelakangi adanya pemasalahan ini maka muncul ide untuk membuat Tugas Akhir ini. Berita dan informasi yang di IMB tidak hanya ditampilkan pada layar LCD tetapi juga dapat dilihat pada perangkat mobile dalam bentuk yang lebih sederhana. Pada perangkat mobile tersebut akan dibangun sebuah aplikasi client yang berfungsi melakukan request ke server IMB dan menerimanya dalam bentuk daftar dan isi berita.
Kata kunci: Informatics Media Board, Mobile News Reader, Bluetooth, Web Crawler, Symbian. 1.
Pendahuluan Perkembangan teknologi saat ini semangkin berkembang begitu pesat, tanpa terkecuali perkembangan Teknologi Informasi. Teknik Informatika adalah salah satu jurusan yang ada di Institut Teknologi Sepuluh Nopember juga mulai memanfaatkan teknologi yang bermunculan saat ini. Salah satunya adalah dengan membangun sebuah pusat informasi elektronik yang disebut dengan Informatics Media Board (IMB). IMB merupakan sebuah layar LCD berukuran besar yang akan ditempatkan dibeberapa daerah strategis di gedung Teknik Informatika ITS, fungsinya adalah menggantikan sistem informasi klasik
2.
Web Crawler Web Crawler merupakan program pengumpul informasi yang hasilnya akan disimpan pada sebuah database. Sebuah web crawler akan 1
FAJRI ARYUANDA - 5106100032
MAKALAH SEMINAR TUGAS AKHIR
berjalan menelusuri halaman web dan mengumpulkan dokumen-dokumen atau data-data di dalamnya. Selanjutnya web crawler akan mengurutkan dokumen-dokumen tersebut dan membangun sebuah daftar indeks untuk memudahkan proses pencarian. Tujuan pengurutan adalah untuk menentukan seberapa penting suatu dokumen dan untuk memperkirakan URL-URL yang mungkin dan berhubungan sehingga URL tersebut perlu ditelusuri lebih dahulu. Proses terpenting dari sebuah crawler adalah estimasi link. Proses ini menentukan link yang harus dijelajahi terlebih dahulu, sehingga jika halaman yang dipilih sesuai dengan topik yang diinginkan maka akan mendapatkan hasil yang maksimal. Terdapat beberapa karakteristik yang menyebabkan sebuah web sulit untuk mengenerate web crawler, yaitu: • Data yang tersebar di internet besar dan banyak, pada hal crawler hanya perlu mendownload beberapa bagian saja. Oleh karena itu, perlu adanya prioritas data yang akan didownload sehingga data-data yang tidak dibutuhkan tidak akan tersimpan. • Kecepatan perubahan data, yang menunjukkan bahwa pada saat crawler men-download data yang tersedia, tidak menutup kemungkinan adanya halaman baru yang ditambahkan atau di-update di Situs Web yang dijelajahi, atau bahkan telah dihapus oleh developer. • Dynamic page, yang dapat diakses oleh berbagai macam web crawler yang tersedia di internet.
numeric, hypertext (HTML, XML, dll), akses database, dan berbagai hal lain. Yang lebih menarik lagi adalah Python adalah bahasa bebas pakai tanpa harus membeli intepreter-nya. (Abdul Kadir, 2005). Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Namun pada prinsipnya Python dapat diperoleh dan dipergunakan secara bebas, bahkan untuk kepentingan komersial. Lisensi Python tidak bertentangan baik menurut defenisi Open Source maupun General Plublic License (GPL). 4.
Bluetooth Bluetooth adalah sebuah teknologi komunikasi wireless (tanpa kabel) yang beroperasi dalam pita frekuensi 2,4 GHz unlicensed ISM(Industrial, Scientific, dan Medical) dengan menggunakan sebuah FrequencyHopping Transreceiver yang mampu menyediakan layanan komunikasi data dan suara secara real-time antara host-host Bluetooth dengan jarak jangkauan layanan yang terbatas. Bluetooth sendiri dapat berupa card yang digunakan untuk Wireless Local Area Network (WLAN) dimana mengunakan frekuensi radio standar IEEE 802.11, hanya saja pada Bluetooth mempunyai jangkauan jarak layanan yang lebih pendek dan kemampuan pengiriman data yang lebih rendah. Bluetooth memiliki beberapa protokol yang mendukung komunikasi data. Salah satu protokol tersebut adalah RFCOMM. Protokol RFCOMM(Radio Frequensy Communication) merupakan salah satu protokol yang melayani komunikasi dengan menggunakan Bluetooth. Protokol lainnya adalah OBEX yang merupakan protokol yang digunakan untuk melayani komunikasi data berupa objek file. Sedangkan RFCOMM adalah protokol yang digunakan untuk mengirim dan menerima streams text atau barisan data termasuk protokol.
3.
Python Python merupakan bahasa pemrograman tingkat tinggi (high-level promgraming language) yang multiplatform yang dapat berjalan dalam lingkungan seperti Windows, UNIX, Linux, dan Mac, pyhton memberikan portabilitas yang tinggi bahkan Python menggunakan antar muka yang sama pada platform-platform tersebut. Python banyak diminati karena kesederhanaanya, yaitu hanya sedikit menyediakan tatabahasa dan kosakata sehingga mudah diingat. Hal ini berbeda dengan bahasa C yang menawarkan berbagi alternatif pengkodean untuk melaksanakan tugas yang sama. Sebagai contoh untuk menangani pengulangan, C menyediakan perintah while dan for, sedangkan Python hanya menyediakan satu saja yaitu while. Pernyataan for memang tersedia pada Python, akan tetapi digunakan untuk kepentingan lain, yaitu khusus menangani list. Namun, dibalik kesederhanaan ini, Python mendukung banyak pustaka (library) yang tersimpan dalam bentuk modul. Sejumlah library tersedia antara lain mendukung jaringan, antar muka grafis, pencitraan, analisis dan komputasi
5.
Desain dan Implementasi Pada tugas akhir ini, telah dibangun sebuah aplikasi yang mendukung pengembangan salah satu fitur dari media informasi yang ada di Teknik Informatika ITS. Media informasi yang dikenal dengan nama Informatics Media Board (IMB), merupakan pusat informasi terlengkap yang ada di Teknik Informatika ITS dan masih dalam tahap pengembangan. Berbagai informasi, pengumuman dan berita akan disediakan oleh media informasi ini yang ditampilkan dalam sebuah monitor LCD berukuran besar pada daerah-daerah tertentu di gedung Teknik Informatika ITS. Salah satu sumber informasi dan berita dari IMB ini adalah Situs Web ITS (http://its.ac.id), yang merupakan sumber informasi global dan terlengkap yang ada di ITS. 2
FAJRI ARYUANDA - 5106100032
MAKALAH SEMINAR TUGAS AKHIR
Melalui tugas akhir ini, akan dibangun sebuah server yang menerapkan algoritma Web Crawler yang dapat mengambil seluruh informasi serta berita penting dan terbaru yang berasal dari Situs Web ITS. Pada tugas akhir ini, akan dibangun juga sebuah aplikasi client yang akan ditanamkan pada perangkat mobile dengan memanfaatkan teknologi Bluetooth. Fungsi dari aplikasi client ini adalah menggantikan fungsi dari LCD monitor IMB dalam bentuk yang lebih sederhana agar mempermudah pengguna melihat dalam berita dan informasi dari daerah manapun selama masih dalam jangkauan Bluetooth dari server IMB. Dengan adanya aplikasi ini, pengguna dapat melihat daftar informasi dan berita yang ada serta melakukan permintaan isi dari berita atau informasi yang diinginkan.
Pengimplementasian desain dari aplikasi ini diwujudkan dalam 3 bentuk aplikasi yang berbeda. Aplikasi tersebut dapat diuraikan sebagai berikut: 1.
2.
LCD Monitor IMB Menampilkan Informasi dan Berita
3.
Server Mengirimkan Data Index dan Isi Informasi Web Server ITS (http://its.ac.id)
Web Page Content Perangkat Mobile Melakukan Request Index dan Isi Informasi
Server melakukan crawler dari content Web ITS
IMB-Crawler Aplikasi ini berfungsi sebagai aplikasi yang menangani masalah penjadwalan dan proses crawler pada perangkat server. Dibangun dengan menggunakan bahasa Python dan menambahkan sistem konfigurasi untuk membuat alamat web yang akan dicrawler menjadi lebih sederhana. IMB-Server Aplikasi ini dibangun sebagai server yang melayani request dari perangkat mobile. Aplikasi ini dibangun dengan menggunakan Python dan dapat berjalan secara multythread. Sehingga aplikasi ini dapat melayani request dari beberapa perangkat mobile secara bersamaan. IMB-Mobile Aplikasi ini dibangun sebagai aplikasi client yang dapat melakukan request ke IMB-Server. Request dikirim dalam bentuk string data, dan hasil yang diterima juga dalam bentuk string yang dapat berupa isi berita yang dikirimkan oleh server.
6.
Uji Coba Pada bab ini akan dibahas mengenai uji coba perangkat lunak yang telah diimplementasikan. Uji coba dilakukan dalam dua tahap, yaitu uji coba fungsionalitas yang bertujuan untuk mengetahui apakah semua hasil implementasi dapat berjalan dengan baik, dan yang kedua adalah uji coba performa untuk mengetahui kemampuan perangkat lunak jika dijalankan pada suatu kondisi yang berbeda-beda.
Server Informatics Media Board
Gambar 5.1 Skema sistem Informatics Media Board
Gambar 5.1 yang dikelilingi dengan kotak merah merupakan ruang lingkup sistem yang akan dikerjakan dalam Tugas Akhir ini. Server IMB merupakan sistem utama yang didalamnya akan dibangun sebuah sistem Web Crawler yang dapat melakukan mengambil informasi dan berita yang terdapat didalam Situs Web ITS. Kemudian server ini juga bertindak sebagai penerima request yang dikirimkan oleh perangkat mobile berupa daftar berita dan informasi serta melakukan reply dalam bentuk daftar dan isi dari berita atau informasi yang diminta. Agar menjadikan sistem ini menjadi lebih baik, pada aplikasi client, ditambahkan sebuah menu Administrator, yaitu menu yang dapat diases dengan password melalui menu login yang secara default tersedia ketika aplikasi dijalankan. Aplikasi client tidak dapat mengakses menu tersebut jika tidak mendapat persetujuan dari server (password yang dimasukkan harus benar). Adapun pilihan yang disediakan didalam menu Administrator tersebut adalah sebagai berikut: • Tambah Informasi • Hapus Informasi
6.1. Uji fungsionalitas Uji fungsionalitas dilakukan terhadap keseluruhan sistem yang telah dibangun yaitu IMB-Crawler (Gambar 6.1), IMB-Server (Gambar 6.2) dan IMB-Mobile (Gambar 6.3). Berdasarkan uji coba ini, semua sistem yang telah didesain dan diimplementasikan telah dapat berjalan dengan baik.
3
FAJRI ARYUANDA - 5106100032
Waktu dalam Detik
MAKALAH SEMINAR TUGAS AKHIR
0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 1M2M3M4M5M6M7M Jarak client-server dalam meter
Gambar 6.4 Grafik Uji Coba Jarak Terhadap Waktu Gambar 6.1 Dokumentasi IMB-Crawler
Gambar 6.4 merupakan hasil ujicoba dalam bentuk grafik. Dari gambar tersebut dapat dilihat dan diambil kesimpulan bahwa jarak tidak mempengaruhi waktu transfer data text melalui Bluetooth. Tidak ada perbedaan waktu yang siknifikan antara jarak yang satu dengan yang lain. Bahkan pada jarak terjauh yaitu 7 meter, kecepatannya hampir sama dengan kecepatan pada jarak 1 meter. Berdasarkan uji coba yang dilakukan pada jarak 8 meter, IMB-Mobile tidak bisa lagi terhubung dengan IMB-Server, karena jangkauan Bluetooth pada server kurang lebih 10 meter sedangkan pada perangkat mobile Nokia adalah kurang lebih 4 meter.
Gambar 6.2 Dokumentasi IMB-Server
6.2.2 Ujicoba Jumlah Perangkat Terhadap Waktu Pengujian ini dilakukan dengan merubah jumlah perangkat mobile yang digunakan. Tujuannya adalah untuk mengetahui performa sistem jika terkoneksi dengan banyak perangkat mobile sekaligus dan melakukan komunikasi. Adapun perangkat mobile yang digunakan 2 Buah Nokia 5800 XM, Nokia 5630 XM, Nokia N81 dan N78. Setiap perangkat mobile ini ditanamkan aplikasi IMB-Mobile. Dalam pengujian, masingmasing perangkat mobile akan melakukan request dalam waktu yang bersamaan. Hasil pengujian akan dibandingkan dengan beragam jumlah perangkat mobile yang digunakan lebih jelas tentang hasil pengujian ini dapat dilihat pada Gambar 6.5.
Gambar 6.3 Dokumentasi IMB-Mobile
6.2. Uji performa 6.2.1. Ujicoba Jarak Terhadap Waktu Pengujian dilakukan dengan mengubah jarak antara perangkat mobile dengan server. Setiap jarak tertentu, dilakukan ujicoba menjalankan aplikasi dalam bentuk request berita oleh perangkat mobile dan replay oleh server setelah request tersebut diterima. Masing-masing jarak dilakukan pengambilan data sebanyak 5 kali dan diambil rata-ratanya sebagai hasil dari pengujian. Pengujian ini dilakukan dengan menggunakan perangkat mobile Nokia 5800 XM Series.
4
FAJRI ARYUANDA - 5106100032
Waktu dalam detik
MAKALAH SEMINAR TUGAS AKHIR
[1] Abdul Kadir, 2005, Dasar Pemrograman Python, Andi Offset [2] Khanna, Rajiv A., dan Kasliwal, Sourabh, “Designing a Web Crawler”, 2007. [3] URL:http://en.wikipedia.org/wiki/Web_ Crawler, tentang Web Crawler, diakses pada 13 Maret 2009. [4] URL:http://docs.python.org/, tentang Dokumentasi Python, diakses pada 11 November 2009. [5] URL:http://www.crummy.com/software/ BeautifulSoup/, tentang Modul BeautifulSoup, diakses pada 11 November 2009. [6] URL: http://www.aaronsw.com/2002/ html2text/, tentang Modul html2text, diakses pada 11 November 2009. [7] URL:http://www.voidspace.org.uk/python /configobj.html, tentang Modul ConfigObj, diakses pada 22 Desember 2009..
2,5 2,4 2,3 2,2 2,1 2 1,9 1,8
1 HP 2 HP 3 HP 4 HP 5 HP Jumlah perangkat mobile
Gambar 5.6 Grafik Uji Coba Jumlah Perangkat Terhadap Waktu
Dari Gambar 5.6, dapat dikatakan bahwa jumlah perangkat yang terhubung pada server dan melakukan komunikasi secara bersamaan mempengaruhi kecepatan transfer data. Namun perbedaan waktu tersebut tidak jauh berbeda, seperti pada Gambar 5.6, perbedaan waktu masih berkisar pada rentang waktu 2-3 detik. Semakin banyak jumlah perangkat mobile yang terhubung dan melakukan koneksi secara bersamaan maka semakin lama pula waktu yang dibutuhkan oleh server untuk mengirimkan berita. Percobaan ini berhenti pada jumlah 5 perangkat mobile saja karena kemampuan Bluetooth pada perangkat yang digunakan oleh penulis hanya mampu melakukan pearing ke 5 perangkat sekaligus. Dan ini biasanya berlaku di hampir semua perangkat komputer yang memiliki Bluetooth, karena sebenarnya penggunaan bluetooth diperuntukkan bagi perangkat tambahan komputer seperti mouse, keyboard, headset, remote dan lainnya. 7.
Simpulan Dari implementasi yang telah dilakukan serta uji coba terhadap fungsionalitas serta performa dari aplikasi Informatics Media Board yang telah dibangun dapat disimpulkan bahwa: 1. Aplikasi ini telah layak digunakan sebagai aplikasi pengganti Majalah Dinding dalam hal penyebaran berita dan informasi di Teknik Informatika ITS 2. Berdasarkan pengujian, jarak antara perangkat mobile dan server tidak mempengaruhi komunikasi via Bluetooth yang dilakukan oleh aplikasi ini. 3. Berdasarkan pengujian, semakin banyak jumlah perangkat mobile yang berkomunikasi dengan server dalam waktu yang bersamaan akan memperlambat proses pengiriman berita dan informasi oleh server. 8.
Daftar Pustaka 5
FAJRI ARYUANDA - 5106100032