Post on 15-Oct-2020
2
1. Pendahuluan
Kebutuhan manusia untuk hidup menurut sifatnya dapat dibagi menjadi 2
(dua), yaitu kebutuhan jasmani dan rohani. Kebutuhan jasmani diperlukan untuk
pemenuhan fisik yang sifatnya kebendaan, seperti makanan, pakaian dan rumah.
Kebutuhan rohani diperlukan untuk pemenuhan rohani atau jiwa, misalnya ibadah,
rekreasi dan hiburan [1].
Hiburan dibutuhkan manusia untuk pemenuhan kebutuhan rohani atau jiwa.
Beberapa cara dapat dilakukan untuk memenuhi kebutuhan ini, salah satunya adalah
dengan menonton film. Film dapat disaksikan di bioskop maupun di rumah melalui
televisi maupun melalui DVD.
Untuk memperoleh informasi tentang film yang akan ditonton, biasanya para
penggemar film mencarinya melalui internet. Terdapat beberapa situs yang
menyediakan informasi film, di antaranya adalah IMDb (www.imdb.com) dan The
Movie Database (www.themoviedb.org). Situs-situs tersebut memiliki database film
yang lengkap dan menyediakan beberapa fasilitas, antara lain untuk pencarian film
dan dapat juga memberikan rekomendasi film.
Rekomendasi film yang diberikan oleh IMDb adalah rekomendasi film
berdasarkan keterkaitan film yang disukai oleh penonton, misalnya jika penonton
menyukai film Thor, maka juga menyukai film Spiderman. Jika penonton menyukai
film Thor, maka juga menyukai film The Mummy. Sedangkan rekomendasi film
yang diberikan oleh The Movie Database berdasarkan kesamaan judul dan genre
film.
Permasalahan yang muncul berdasarkan wawancara yang dilakukan kepada
penggemar film adalah terkadang para penggemar film mengalami kebingungan saat
mencari dan mendapatkan informasi film di internet. Penggemar film terkadang
mencari informasi film di beberapa situs untuk dibandingkan, terutama pada bagian
rekomendasi film, padahal rekomendasi yang dihasilkan terkadang berbeda. Oleh
sebab itu diperlukan sebuah sistem yang dapat memberikan informasi film dan
rekomendasi yang berasal dari beberapa situs, sehingga informasi yang disajikan
lebih mudah dibaca oleh penggemar film yang akan mencari informasi film.
Pada penelitian ini dibuat sebuah sistem yang akan memberikan informasi dan
rekomendasi film. Sumber data film akan didapatkan dari beberapa situs database
film dan akan digabungkan untuk disajikan dengan cara yang informatif kepada user.
Pengambilan data film dilakukan dengan memanfaatkan MyMovieAPI yang sudah
disediakan oleh IMDb dan juga menggunakan teknik grabbing. Diharapkan dengan
adanya aplikasi ini, user dapat melihat informasi film dan rekomendasi film yang
berasal dari beberapa sumber sekaligus, namun cukup diakses dalam satu web.
2. Tinjauan Pustaka
Penelitian terdahulu yang digunakan sebagai acuan dalam penelitian ini
berjudul Aplikasi Web Grabber untuk Mengambil Halaman Web Sesuai dengan
Keyword yang Diinputkan, diperoleh kesimpulan bahwa aplikasi web grabber yang
diciptakan mampu melakukan pencarian halaman-halaman web sesuai dengan topik
yang diinginkan dengan memasukkan keyword yang diinginkan tanpa perlu
membuka halaman web secara manual, hasilnya yang berupa halaman-halaman web
3
secara otomatis tersimpan pada komputer dan dapat dilihat secara offline [2]. Selain
itu web grabber juga telah dimanfaatkan oleh sebuah penyedia plugin yang bernama
Wise Loop, di mana pada salah satu demo plugin yaitu PHP Web Grabber, pengguna
dapat memperoleh konten media berupa gambar dari Flickr.com hanya dengan
memasukkan keyword pada input yang tersedia.
Penelitian kedua yang digunakan sebagai acuan berjudul Perancangan Sistem
AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung).
Pada penelitian ini dirancang sebuah sistem untuk melakukan autoreply twitter
dengan memanfaatkan Twitter API. Sistem yang dirancang dapat membalas dengan
otomatis [3].
Pada penelitian ini akan dibuat sistem rekomendasi film menggunakan
MyMovieAPI dan teknik grabbing. Perbedaan dengan penelitian sebelumnya adalah
pada penelitian itu untuk mengambil data film dari sumber data tidak hanya
menggunakan teknik grabbing saja, namun juga menggunakan API yang disediakan
oleh situs IMDb.
Konsep sistem rekomendasi telah digunakan secara luas oleh hampir semua
area bisnis di mana seorang konsumen memerlukan informasi untuk membuat suatu
keputusan [4]. Sistem rekomendasi pariwisata atau perjalanan menggunakan konsep
ini untuk menolong para wisatawan untuk memutuskan tujuan perjalanan mereka,
akomodasi dan aktivitas di tempat tujuan. Sistem rekomendasi merupakan model
aplikasi dari hasil observasi terhadap keadaan dan keinginan pelanggan. Oleh karena
itu sistem rekomendasi memerlukan model rekomendasi yang tepat agar yang
direkomendasikan sesuai dengan keinginan pelanggan, serta mempermudah
pelanggan mengambil keputusan yang tepat dalam menentukan produk yang akan
digunakannya [5]. Sistem rekomendasi merupakan sebuah (web) alat personalisasi
yang menyediakan pengguna sebuah informasi daftar item yang sesuai dengan
keinginan masing-masing pengguna. Sistem rekomendasi menyimpulkan preferensi
pengguna dengan menganalisis ketersediaan data pengguna, informasi tentang
pengguna dan lingkungannya. Oleh karena itu sistem rekomendasi akan menawarkan
kemungkinan dari penyaringan informasi personal sehingga hanya informasi yang
sesuai dengan kebutuhan dan preferensi pengguna yang akan ditampilkan di sistem
dengan menggunakan sebuah teknik atau model rekomendasi [6].
API (Application Programming Interface) adalah sekumpulan perintah,
fungsi, komponen, dan protokol yang disediakan oleh sistem operasi ataupun bahasa
pemrograman tertentu yang dapat digunakan oleh programmer saat membangun
perangkat lunak. Dalam API terdapat fungsi-fungsi atau perintah-perintah untuk
menggantikan bahasa yang digunakan dalam system calls dengan bahasa yang lebih
terstruktur dan mudah dimengerti oleh programmer [7]. Keuntungan menggunakan
API: 1) Probabilitas: API dapat digunakan untuk bahasa pemrograman ataupun untuk
sistem operasi mana saja asalkan paket-paket API sudah terpasang, 2) Lebih Mudah
Dimengerti: API menggunakan bahasa yang lebih terstruktur dan mudah dimengerti
daripada bahasa system call. Hal ini sangat penting dalam hal editing dan
pengembangan, 3) Mudah Dikembangkan: Dengan adanya API, memudahkan
programmer untuk mengembangkan suatu sistem. Salah satu API yang disediakan
untuk programmer adalah My Movie API. API ini disediakan oleh situs IMDb yang
dapat dimanfaatkan untuk mendapatkan data film dari database IMDb.
4
Teknik grabbing adalah teknik mengambil teks atau konten pada situs lain
dengan cURL kemudian diletakkan pada website yang lain. Konsep grabbing
berbeda dari web service, di mana informasi atau data yang diambil tidak disajikan
dalam bentuk tertentu seperti XML ataupun JSON. Data yang diambil berada pada
halaman website atau dengan kata lain terselip pada tag HTML[8]. Pada teknik
grabbing, selain membaca file HTML dengan cURL diperlukan pula sebuah metode
untuk mengambil data atau informasi yang terselip pada file HTML, yaitu dengan
function explode(). Konsep dari function explode() adalah memotong suatu data
dalam hal ini tag html, berdasar keyword tertentu dan menghasilkan data array.
3. Metode dan Perancangan Sistem
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi
dalam lima tahapan, yaitu: (1) Analisis kebutuhan dan pengumpulan data, (2)
Perancangan sistem, (3) Perancangan aplikasi/program, (4) Implementasi dan
pengujian sistem, serta analisis hasil pengujian, (5) Penulisan laporan hasil
penelitian.
Gambar 1 Metode Penelitian [9]
Tahapan penelitian pada Gambar 1, dapat dijelaskan sebagai berikut. Tahap
pertama: analisis kebutuhan dan pengumpulan data, pada tahap ini dilakukan
wawancara kepada masyarakat yang mempunyai hobi menonton film. Informasi
yang digali adalah berkaitan dengan cara penggemar film tersebut dalam mencari
informasi dari film yang akan ditonton. Selain itu juga ditanyakan tentang
rekomendasi dari film yang akan ditonton.
Tahap kedua: perancangan sistem yang meliputi perancangan proses
menggunakan diagram Unified Modelling Language (UML) misalnya perancangan
use case diagram, activity diagram, dan sequence diagram. Perancangan user
interface yang dibuat untuk memberikan gambaran dari tampilan aplikasi yang
digunakan oleh user aplikasi; Tahap ketiga, perancangan aplikasi/program yaitu
merancang aplikasi/program sesuai kebutuhan sistem berdasarkan perancangan
sistem yang telah dilakukan. Tahap keempat: implementasi dan pengujian sistem,
serta analisis hasil pengujian, yaitu mengimplementasikan aplikasi yang sudah dibuat
kemudian dilakukan pengujian, selanjutnya melakukan analisis untuk melihat apakah
aplikasi yang telah dibuat sudah sesuai dengan yang diharapkan atau tidak ada error,
Perancangan Sistem meliputi Perancangan Proses (UML),
Perancangan Arsitektur, Perancangan Database, Perancangan
Antarmuka
Analisis Kebutuhan dan Pengumpulan Data
Perancangan Aplikasi/Program
Implementasi dan Pengujian Sistem,
serta Analisis Hasil Pengujian
Penulisan Laporan Hasil Penelitian
5
jika belum sesuai maka akan dilakukan perbaikan dan tahap kelima, penulisan
laporan hasil penelitian, yaitu mendokumentasikan proses penelitian yang sudah
dilakukan dari tahap awal hingga akhir ke dalam tulisan, yang nantinya akan menjadi
laporan hasil penelitian.
Metode Pengembangan Sistem yang digunakan pada penelitian ini adalah
metode Prototype. Metode Prototype digunakan untuk membantu pengembangan
perangkat lunak dalam membentuk model dari perangkat lunak yang harus dibuat.
Metode ini dilakukan secara bertahap, yaitu dengan mengembangkan suatu prototype
yang sederhana terlebih dahulu baru kemudian dikembangkan dari waktu ke waktu
sampai perangkat lunak selesai dikembangkan. Prototype merupakan bentuk dasar
atau model awal dari suatu sistem atau subsistem [10]. Secara garis besar ada tiga
tahap dalam metode prototyping ini, seperti terlihat pada Gambar 2.
Gambar 2 Metode Prototyping [10]
Tahap awal dari metode ini adalah analisis permasalahan dan kebutuhan,
yaitu mengumpulkan kebutuhan dari sistem yang akan dibuat, dengan perencanaan
yang cepat akan dibentuk konstruksi dari prototype-nya. Prototype ini akan
dievaluasi lagi dan hasilnya digunakan untuk mengelola kembali kebutuhan dari
perangkat lunak yang dikembangkan. Pada tahap ini yang dilakukan adalah
merancang kebutuhan yang nantinya akan berguna untuk membangun aplikasi.
Berdasarkan analisis kebutuhan yang dilakukan melalui wawancara awal
kepada pada penggemar film, dirancanglah kebutuhan user sebagai berikut: 1) User
dapat mencari informasi film berdasarkan judul film, 2) user dapat melihat informasi
detail film yang dicari, 3) User dapat melihat rekomendasi film yang layak untuk
ditonton. Berdasarkan analisis kebutuhan ini, kemudian dilakukan perancangan
aplikasi.
Perancangan proses pada penelitian ini dilakukan menggunakan UML (Unified
Modeling Language) dengan beberapa proses, dijelaskan sebagai berikut. Use case
diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem, yang
menjelaskan keseluruhan kerja sistem secara garis besar dengan merepresentasikan
interaksi antara aktor dengan sistem yang dibuat, serta memberikan gambaran fungsi-
fungsi yang diberikan sistem kepada user.
6
Gambar 3 Arsitektur Aplikasi
Arsitektur aplikasi yang dibuat digambarkan pada Gambar 3. Pada arsitektur
tersebut, proses pertama terjadi saat user melakukan pencarian film dengan
memasukkan judul film yang akan dicari. Aplikasi akan melakukan grabbing untuk
mengambil data film yang dicari di IMDb. Kemudian data hasil pencarian dengan
cara grabbing akan ditampilkan dalam website rekomendasi film yang dibuat. User
memilih salah satu judul film yang berasal dari hasil grabbing tadi, dengan parameter
berupa id film kemudian digunakan MyMovieAPI untuk mengambil informasi film
dari IMDb dan saat bersamaan juga dilakukan grabbing ke website themoviedb dan
akan dikembalikan data rincian informasi film yang dipilih tadi beserta dengan
rekomendasi film yang berkaitan dengan film yang dipilih kepada user. Website
rekomendasi film akan menampilkan detail film beserta rekomendasi film yang
berkaitan yang berasal dari IMDd dan themoviedb. Use case diagram digambarkan
pada Gambar 4.
melihat hasil pencarian
memilih filmmelihat detail info film melihat rekomendasi film
usermencari film
include
include
include
include
Gambar 4 Use Case Diagram Aplikasi
Gambar 4 menjelaskan use case diagram dari sistem rekomendasi film yang
dibuat. Terdapat 1 (satu) aktor yaitu user atau penggemar film. Usecase yang
disediakan adalah mencari film berdasarkan judul yang dimasukkan oleh user.
Aplikasi akan melakukan grabbing ke website IMDb dan menampilkan daftar film
7
hasil pencarian. User dapat memilih salah satu film, melihat detail informasi film
dan melihat rekomendasi film yang didapatkan dari website IMDd dan themoviedb.
mulai
selesai
mencari film
menampilkan hasil
pencarian film
memilih salah
satu film
menampilkan informasi dan
rekomendasi film
grabbing film
ambil data film dengan My
Movie API
ambil data film dengan
grabbing
website themov iedbwebsite IMDbsistem rekomendasi filmuser
Gambar 5 ActivityDiagram Aplikasi
Gambar 5 menggambarkan activity diagram aplikasi yang dibuat. Aktifitas
dimulai saat user mencari film, aplikasi akan melakukan grabbing ke website IMDb
untuk mencari film yang dicari. Hasil pencarian akan ditampilkan oleh website
rekomendasi film dan user dapat memilih salah satu judul film. Kemudian dengan
menggunakan MyMovieAPI, akan diambil data rincian dan rekomendasi film dari
website IMDb. Pada saat yang sama, sistem rekomendasi film juga melakukan
grabbing ke website themoviedb untuk mengambil rekomendasi film.
Sequence diagram menggambarkan interaksi antar objek di dalam dan di
sekitar sistem (termasuk pengguna, display, dan lain-lain) berupa message yang
digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu)
dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa
digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang
dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu.
: usersistem rekomendasi
film
website IMDb website
themoviedb
1: mencari film
2: grabbing film
3: mengirim hasil pencarian
4: memilih film
5: ambil data & rekomendasi film
6: ambil rekomendasi film
7: mengirim data & rekomendasi film
8: mengirim rekomendasi film
9: menampilkan informasi detail dan rekomendasi film
Gambar 6 Sequence Diagram Aplikasi
8
Gambar 6 menggambarkan sequence diagram aplikasi yang menggambarkan
urutan proses dan pengiriman data film dan rekomendasi film. Proses berawal saat
user mencari film di website rekomendasi film, dengan teknik grabbing akan
dilakukan pengambilan data dari website IMDb dan dikembalikan ke website
rekomendasi film. Berdasarkan hasil pencarian yang diperoleh tersebut, user memilih
salah satu film dan akan diambil data film yang dipilih beserta dengan rekomendasi
film dari IMDb. Proses ini memanfaatkan MyMovieAPI pada website IMDb. Pada
saat yang bersamaan juga dilakukan grabbing untuk mengambil rekomendasi film
dari website themoviedb.
4. Hasil dan Pembahasan
Pada bagian ini dibahas tentang hasil aplikasi berdasarkan perancangan pada
bab sebelumnya beserta dengan pembahasannya. Pada bagian ini juga dijelaskan
tentang hasil pengujian sistem yang telah dilakukan. Aplikasi yang telah dibuat
adalah aplikasi web dengan tampilan awal seperti terlihat pada Gambar 8.
Gambar 8 Halaman Utama Aplikasi
Pada Gambar 8 terdapat sebuah textfield yang digunakan untuk mencari film.
User mencari film berdasarkan judul film yang dimasukkan pada textfield tersebut.
Hasil pencarian film ditunjukkan pada Gambar 9.
9
Gambar 9 Hasil Pencarian Film
Pencarian film dilakukan dengan menggunakan teknik grabbing. Aplikasi
melakukan grabbing ke website IMDb untuk mencari film yang dimasukkan user
pada textfield pencarian. Kode Progam 1 merupakan perintah untuk melakukan
grabbing ke website IMDb.
Kode Program 1 Perintah untuk Grabbing Pencarian di IMDb
Perintah-perintah pada Kode Program 1 akan melakukan pencarian film di
website IMDb. Pada baris 6 dilakukan pemanggilan fungsi search untuk mencari
film dengan parameter idMovie yang sudah didapatkan dari hasil perintah pada baris
4. Fungsi untuk search ditunjukkan pada Kode Program 2.
1. require_once('crawler/base_crawler.php'); 2. require_once('crawler/imdb_crawler.php'); 3. if (isset($_GET['txturl'])) { 4. $idMovie = $_GET['txturl']; 5. $imdb_crawler = new imdb_crawler(); 6. $datas = $imdb_crawler->search($idMovie); 7. } 8. ?>
10
Kode Program 2 Perintah untuk Fungsi Search untuk Pencarian Film
Perintah Baris 10 pada Kode Program 2 akan memanggil fungsi
_get_search_data untuk mengambil data film hasil pencarian. Fungsi
_get_search_data ditunjukkan pada Kode Program 3.
Kode Program 3 Perintah untuk Mendapatkan Data Hasil Pencarian
User dapat memilih salah satu judul film yang didapatkan dari hasil pencarian
pada Gambar 9. Film yang dipilih kemudian akan diproses menggunakan My Movie
API untuk didapatkan informasi lengkap film tersebut beserta dengan rekomendasi
film yang berkaitan dengan film yang dipilih tadi dari website IMDb. Gambar 10
merupakan hasil informasi film yang didapatkan dari penggunaan My Movie API.
1. protected function _get_search_data($data) { 2. $imdb = new imdb_crawler(); 3. preg_match('/<td class=\"primary_photo\"\>(.*?)\<\/td\>/i', $data, $image); 4. if (empty($image[1])) 5. $imdb->image = "Tidak Diketahui";
6. else 7. $imdb->image = $this->_get_image($image[1]);
8. preg_match('/<td class=\"result_text\"\>(.*?)\<\/td\>/i', $data, $text); 9. if (empty($text[1])) { 10. $imdb->year = "Tidak Diketahui";
11. $imdb->title = "Tidak Diketahui";
12. $imdb->link = "Tidak Diketahui";
13. } else {
14. $imdb->title = $this->_get_link_content($text[1]);
15. $imdb->link = "http://www.imdb.com" . $this->_get_link($text[1]);
16. $imdb->id = substr($this->_get_link($text[1]), 7, 9);
17. preg_match('/ \((\d+)\) /i', $text[1], $text);
18. if (empty($text[1])) {
19. $imdb->year = "Tidak Diketahui";
20. } else {
$imdb->year = $text[1];
}
}
return $imdb;
}
1. public function search($keyword) { 2. $keyword = str_replace(" ", "%20", $keyword); 3. $url = "http://www.imdb.com/find?q=$keyword&s=tt&ttype=ft&ref_=fn_ft"; 4. $this->setContent($url); 5. $this->cleanContent(); 6. if (!empty($this->content)) { 7. preg_match_all('/<tr class=\"findResult.*?\"\>(.*?)\<\/tr\>/i', $this-
>content, $search);
8. if (!empty($search[1])) {
$result = array();
9. foreach ($search[1] as $data) {
10. $imdb = $this->_get_search_data($data);
11. $result[] = $imdb;
12. }
13. return $result;
14. } else {
15. return FALSE;
16. }
17. }
18. }
11
Gambar 10 Informasi Film dari My Movie API
Kode Program 3 merupakan perintah penggunaan My Movie API untuk
mendapatkan informasi film pada Gambar 10. Kode Program 3 Perintah untuk Penggunaan My Movie API
My Movie API akan mengembalikan data informasi film berupa JSON dan
akan ditampilkan menggunakan Kode Program 4. Kode Program 4 Perintah untuk Menampilkan Informasi Film
Selain menampilkan informasi detail film seperti pada Gambar 10, aplikasi
juga menampilkan rekomendasi film yang berasal dari website IMDb dan
themoviedb. Hasil rekomendasi film dari IMDb diperlihatkan oleh Gambar 11.
1. <?php if (isset($data)) { ?> 2. <h2><?php echo $data->title . ' (' . $data->year . ')'; ?></h2> 3. <img class="imgl" src="<?php echo $data->poster->imdb; ?>" alt=""/> 4. <p> 5. <b>Genre : </b> 6. <?php 7. if (isset($data->genres)) { 8. foreach ($data->genres as $gn) { 9. echo $gn . ' | '; 10. }
11. }
12. ?></br>
13. <b>Rated : </b>
14. <?php
15. if (isset($data->rated)) {
16. echo $data->rated;
17. } else {
18. echo '-';
19. }
20. ................................
public function searchUrl($keyword) {
$url =
"http://mymovieapi.com/?id=$keyword&type=json&plot=simple&episode=1&lang=en-
US&aka=simple&release=simple&business=0&tech=0";
$this->setContent($url);
return json_decode($this->content);
}
12
Gambar 11 Halaman Hasil Rekomendasi Film dari IMDb
Kode Program 5 Perintah untuk menampilkan Rekomendasi Film dari IMDb
Perintah untuk Baris 11 pada Kode Program 5 digunakan untuk mengambil
rekomendasi film dari website IMDb berdasarkan id film sebelumnya. Hasil
rekomendasi film disimpan dalam array $result dan akan ditampilkan seperti terlihat
pada Gambar 11.
Pada halaman yang sama, aplikasi juga menampilkan rekomendasi film yang
berasal dari website themoviedb. Hasil rekomendasi dari themoviedb terlihat pada
Gambar 12.
1. public function searchRekomen($url) { 2. $this->setContent($url); 3. $this->cleanContent(); 4. if (!empty($this->content)) { 5. preg_match_all('/<div class=\"rec-title\">(.*?)\<\/div\>/i', $this->content,
$search);
6. if (!empty($search[1])) { 7. $result = array(); 8. foreach ($search[1] as $dataLinkTitle) { 9. $mRekomen = new imdb_crawler(); 10. $mRekomen->id = substr($this->_get_link($dataLinkTitle), 7, 9);
11. $mRekomen->movie = $this->searchUrl($mRekomen->id);
12. if ($mRekomen->id == "-") {
13. $mRekomen->movie->title = "-";
14. }
15. $result[] = $mRekomen;
16. }
17. return $result;
18. } else {
19. return FALSE;
20. }
21. }
13
Gambar 12 Halaman Hasil Rekomendasi Film dari themoviedb
Aplikasi juga memberikan rekomendasi film dari website themoviedb supaya
user juga mendapat alternatif rekomendasi film selain dari website IMDb. Untuk
menampilkan rekomendasi film dari themoviedb, digunakan teknik grabbing dengan
Kode Program 6. Kode Program 6 Perintah untuk Rekomendasi Film dari themoviedb
Pengujian sistem dilakukan dengan 2 (dua) cara, yaitu dengan alpha testing
dan beta testing. Uji alphatesting dilakukan dengan metode black box testing, yaitu
dengan cara menguji fungsionalitas aplikasi apakah sudah berjalan sesuai yang
dirancang atau belum.Beberapa hasil pengujian dengan black box testing dapat
dilihat pada Tabel 1.
1. public function search($title_imdb) { 2. $keyword = str_replace(" ", "%20", $title_imdb); 3. $url = "http://www.themoviedb.org/search/movie?query=$keyword"; 4. $this->setContent($url); 5. $this->cleanContent(); 6. if (!empty($this->content)) { 7. preg_match_all('/<div class=\"poster\"\>(.*?)\<\/div\>/i', $this->content,
$search);
8. if (!empty($search[1])) { 9. $result = array(); 10. foreach ($search[1] as $data) {
11. preg_match_all('/<a href=\".*?\" title=\"(.*?)\">/i',
$data, $title);
12. if (isset($title[1][0])) {
13. if (trim($title[1][0]) == trim($title_imdb)) {
14. $titleMovie = "http://www.themoviedb.org" . $this-
>_get_link($data);
15. $mRekomen = new themoviedb_crawler();
16. $mRekomen->movies = $this->searchRekomen($titleMovie);
17. $mRekomen->videos = $this->getVideos($titleMovie);
18. $result = $mRekomen;
19. break;
20. }
14
Tabel 1 Hasil Pengujian BlackboxTesting
No Poin Pengujian Hasil yang Diharapkan Hasil Status
1 Pencarian Film Menampilkan daftar film
sesuai dengan pencarian
Berhasil
menampilkan
daftar film
hasil
pencarian
Valid
2 Informasi Film Menampilkan informasi film
sesuai dengan film yang
dipilih oleh user
Berhasil
menampilkan
informasi film
sesuai dengan
film yang
dipilih user
Valid
3 Rekomendasi Film
dari Website IMDb
Menampilkan film-film hasil
rekomendasi dari website
IMDb
Berhasil
menampilkan
rekomendasi
film dari
website IMDb
Valid
4 Rekomendasi Film
dari Website
themoviedb
Menampilkan film-film hasil
rekomendasi dari website
themoviedb
Berhasil
menampilkan
rekomendasi
film dari
website
themoviedb
Valid
Berdasarkan hasil pengujian black box pada Tabel 1, maka dapat disimpulkan
bahwa aplikasi sudah berjalan sesuai dengan yang dirancang dan dapat dilanjutkan
ke pengujian beta testing. Beta testing dilakukan dengan membagikan kuisioner
kepada 30 mahasiswa yang bertindak sebagai user untuk mengetahui manfaat
aplikasi. Hasil pengujian manfaat sistem ditunjukkan oleh Tabel 2. Tabel 2 Tabel Hasil Kuisioner
Jawaban
Pertanyaan Ya Tidak Tidak Tahu
Apakah aplikasi ini bermanfaat bagi Anda untuk
melakukan pencarian film?
24 5 1
Aplikasi ini bermanfaat bagi Anda dalam
memperoleh informasi film?
30 0 0
Apakah rekomendasi film yang ditampilkan
bermanfaat bagi Anda?
26 3 1
Apakah keseluruhan aplikasi ini bermanfaat bagi
Anda untuk menentukan film yang akan ditonton?
25 2 3
Berdasarkan Tabel 2 didapatkan bahwa untuk pertanyaan 1 (tentang manfaat
aplikasi dalam pencarian film), sebanyak 80% responden menyatakan bahwa aplikasi
ini bermanfaat, 17% responden menyatakan tidak bermanfaat dan 3% responden
menyatakan tidak tahu. Pada pertanyaan 2 (tentang manfaat aplikasi dalam
memperoleh informasi film) didapatkan bahwa 100% responden menyatakan
bermanfaat. Pada pertanyaan 3 (tentang manfaat aplikasi dalam memberikan
rekomendasi film, sebanyak 87% reponden menyatakan bermanfaat, 10% responden
menyatakan tidak bermanfaat dan 3% responden menyatakan tidak tahu. Pada
pertanyaan 4 (tentang manfaat aplikasi secara keseluruhan, didapatkan bahwa 83%
15
responden menyatakan bermanfaat, 6% responden menyatakan tidak bermanfaat dan
9% responden menyatakan tidak tahu. Hal ini menunjukan bahwa secara
keseluruhan, aplikasi ini sudah dapat berjalan dengan baik.
5. Simpulan
Berdasarkan hasil pembahasan dan pengujian aplikasi didapatkan kesimpulan
bahwa untuk membuat aplikasi rekomendasi film dapat dimanfaatkan teknik
grabbing untuk proses pencarian film dan My Movie API dari website IMDb untuk
mengambil informasi film. Pengujian manfaat menunjukkan bahwa aplikasi ini
membantu user dalam melakukan pencarian film dan mendapatkan rekomendasi film
sebelum menonton film dari website IMDb dan themoviedb.
6. Pustaka
[1] Wicaksono, Hermawan G., 2012, Aplikasi Pengambilan Data Harga dan
Spesifikasi Handphone dengan menerapkan Teknik Grabbing (Studi Kasus:
netDesain Bandung), Salatiga : Fakultas Teknologi Informasi, Universitas
Kristen Satya Wacana.
[2] Budhi, Gregorius S., Djoni H. Setiabudi, Budi Raharjo, 2006, Aplikasi Web
Grabber untuk Mengambil Halaman Web Sesuai Dengan Keyword yang
Diinputkan, Surabaya : Fakultas Teknologi Industri, Universitas Kristen Petra.
[3] Kusbin, Thommy, 2012, Perancangan Sistem AutoReply Twitter menggunakan
Twitter API (Studi Kasus: netDesain Bandung), Salatiga : Fakultas Teknologi
Informasi, Universitas Kristen Satya Wacana.
[4] Sharda, N., 2010,Tourism Informatics: visual travel recommender systems,
social communities, and user interface design, New York: Information Science
Reference.
[5] McGinty, L. dan Smyth,B. (2006), ”Adaptive selection : analysis of critiquing
and preference based feed back in conversational recommender systems”,
International Journal of Electronic Commerce, 11(2), pp 35–57.
[6] Sebastia, L., Garcia, I., Onaindia, E., Guzman, C., 2009,e-Tourism: A tourist
recommendation and planning application, International Journal on Artificial
Intelligence Tools 18(5): 717-738.
[7] Fifin, Hakiky. M, Ichwan, 2012, Pengertian Goodreads, Goodreads Application
Programming Interface (API) dan Teknologi Goodreads. Teknik Informatika,
ITENAS, Bandung.
[8] Ari, Rosihan, 2010, Teknik Grabbing (Mengambil Teks Dari Situs Lain)
Dengan CURL, http://blog.rosihanari.net/teknik-grabbing-mengambil-teks-
dari-situs-lain-dengan-curl.
[9] Hasibuan, Zainal, A., 2007, “Metodologi Penelitian Pada Bidang Ilmu
Komputer Dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi”, Jakarta :
Ilmu Komputer Universitas Indonesia.
[10] Pressman, Roger, 2002, Rekayasa Perangkat Lunak: Pendekatan Praktisi
(Buku Satu), Yogyakarta: Penerbit ANDI dan McGraw-Hill Book Co.