rancang bangun sistem rekomendasi film menggunakan my ...€¦ · autoreply twitter menggunakan...

14
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

Upload: others

Post on 15-Oct-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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

Page 2: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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.

Page 3: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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

Page 4: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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.

Page 5: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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

Page 6: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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

Page 7: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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.

Page 8: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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

Page 9: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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

Page 10: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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);

}

Page 11: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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

Page 12: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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

Page 13: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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%

Page 14: Rancang Bangun Sistem Rekomendasi Film menggunakan My ...€¦ · AutoReply Twitter menggunakan Twitter API (Studi Kasus: netDesain Bandung). Pada penelitian ini dirancang sebuah

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.