2. LANDASAN TEORI

Pada bab 2 ini dibahas mengenai landasan teori yang digunakan untuk pembuatan aplikasi perbandingan harga.

2.1 Aplikasi yang Sudah Ada

2.1.1 Priceza Berdasarkan pengalaman penulis setelah mencoba situs Priceza, situs awal untuk kategori handphone situs Priceza menampilkan tabel search untuk konsumen melakukan pencarian produk dan pilihan pencarian terpopuler dari konsumen lainnya. Kemudian, situs juga terdapat filter pencarian berupa merek produk, kategori produk, jumlah simcard, memori handphone, kisaran harga, dan situs e-commerce yang menjual produk tersebut. Tampilan situs dapat dilihat pada Gambar 2.1.

Gambar 2.1. Tampilan Awal Kategori Handphone pada Situs Priceza (Sumber: http://www.priceza.co.id/c/harga/Handphone, diakses 14 Mei 2015)

6 Universitas Kristen Petra

Contoh pencarian yang dilakukan penulis adalah produk handphone yaitu ‘Iphone 6’. Situs dari pencarian berisi pilihan Iphone 6 dengan memori yang berbeda, penjelasan produk, dan harga termurah dari beberapa situs e-commerce yang menjual produk tersebut. Setelah memilih produk ‘Iphone 6 16 GB’, situs berisi penjelasan produk, spesifikasi produk, harga termurah, cara pembayaran, dan kupon pada setiap situs e-commerce. Tamplian pilihan Iphone 6 dapat dilihat pada Gambar 2.2 dan terdapat referensi harga yang lain dari toko yang memasang produk pada situs e-commerce seperti pada Gambar 2.3.

Gambar 2.2. Tampilan Pilihan Iphone 6 (Sumber: http://www.priceza.co.id/search?productdataname=iphone%206, diakses 14 Mei 2015)

7 Universitas Kristen Petra

Gambar 2.3. Tampilan Referensi Harga Iphone 6 (Sumber: http://www.priceza.co.id/p/harga/Apple-iPhone-6-16GB/5503435, diakses 14 Mei 2015) Penulis memilih produk yang dijual dari situs Lazada dengan memilih harga termurah. Kemudian situs berpindah ke situs Lazada yang menampilkan produk tersebut. Tetapi harga yang ditampilkan dari situs Lazada dan Priceza berbeda. Setelah itu, penulis mencoba untuk menggunakan kupon yang ditampilkan. Namun, kupon tersebut tidak dapat digunakan untuk transaksi produk yang seharusnya mendapatkan kupon. Contoh tersebut dapat dilihat seperti pada Gambar 2.4 dan tampilan pada situs Lazada dapat dilihat seperti pada Gambar 2.5.

Gambar 2.4. Pemberitahuan Terdapat Kupon (Sumber: http://www.priceza.co.id/p/harga/Apple-iPhone-6-16GB/5503435, diakses 14 Mei 2015)

8 Universitas Kristen Petra

Gambar 2.5. Halaman Produk pada Situs Lazada (Sumber: http://www.lazada.co.id/apple-iphone-6-16-gb-emas- 442110.html?offer_id=109&affiliate_id=11249&offer_name=ID+Data- feed_11063&affiliate_name=Priceza.co.id&transaction_id=10229b1b8ae80b262d cee1f699785c, diakses 14 Mei 2015)

2.1.2 Pricearea Berdasarkan pengalaman penulis setelah mencoba situs Pricearea, situs awal pada kategori handphone menampilkan tabel search untuk konsumen melakukan pencarian produk. Kemudian, situs juga dilengkapi filter pencarian berupa merek produk, seri produk, rentang harga, resolusi kamera, dan sistem operasi produk dari e-commerce lain yang menjual produk tersebut seperti pada Gambar 2.6. Penulis melakukan pencarian produk handphone yaitu ‘Iphone 6’. Situs dari pencarian berisi produk yang dicari, relevansi dari produk, penjelasan produk secara singkat, rentang harga, dan jumlah harga yang tersedia. Setelah memilih produk ‘Apple Iphone 6’, situs menampilkan penjelasan produk, spesifikasi produk, harga dari toko-toko yang memasang produk, dan reputasi pada setiap situs e-commerce seperti pada Gambar 2.7.

9 Universitas Kristen Petra

Gambar 2.6. Tampilan Awal Kategori Handphone pada Situs Pricearea (Sumber: http://www.pricearea.com/harga/handphone/handphone, diakses 14 Mei 2015)

Gambar 2.7. Tampilan Pilihan Iphone 6 (Sumber: http://www.pricearea.com/result/iphone+6?cat=handphone, diakses 14 Mei 2015) Penulis memilih produk yang dijual dari situs Bukalapak dengan memilih harga termurah. Situs berpindah ke situs Bukalapak yang tidak menampilkan

10 Universitas Kristen Petra produk tersebut, melainkan terdapat pilihan Iphone 6 lain yang dijual oleh Bukalapak karena toko yang memasang produk tersebut sudah tidak aktif. Sehingga data yang ditampilkan tidak valid. Contoh tersebut dapat dilihat seperti pada Gambar 2.8 dan Gambar 2.9.

Gambar 2.8. Tampilan Referensi Harga Iphone 6 (Sumber: http://www.pricearea.com/catalog/apple-iphone-6-23560, diakses 14 Mei 2015)

11 Universitas Kristen Petra

Gambar 2.9. Situs Produk pada Situs Bhinneka (Sumber:https://www.bukalapak.com/p/handphone/hp-smartphone/5z6id-jual- apple-iphone-6-16gb-space-gray?utm_source=pricearea, diakses 14 Mei 2015)

2.1.3 Telunjuk Berdasarkan pengalaman penulis setelah mencoba situs Telunjuk, situs awal pada kategori handphone menampilkan tabel search untuk konsumen melakukan pencarian produk. Terdapat produk yang tidak sesuai dengan kategori handphone seperti akesoris. Kemudian, pada situs juga terdapat filter pencarian berupa merek produk, warna produk, rentang harga, sistem operasi produk, jumlah simcard, jaringan, dan ukuran layar produk. Tampilan situs dapat dilihat pada Gambar 2.10.

12 Universitas Kristen Petra

Gambar 2.10. Tampilan Awal Kategori Handphone pada Situs Telunjuk (Sumber: https://www.telunjuk.com/handphone/jual/, diakses 14 Mei 2015)

Penulis melakukan pencarian produk handphone seperti ‘Iphone 6’. Kemudian situs menampilkan produk Iphone 6 dan aksesoris Iphone 6 dari berbagai toko secara keseluruhan, tidak seperti situs lainnya yang langsung menampilkan harga termurah. Pada situs terdapat fitur filter untuk menampilkan kategori handphone, tetapi hasil dari pencarian masih ada beberapa aksesoris dari produk. Penulis kesulitan untuk mencari produk karena banyaknya pilihan yang disediakan dan tidak ada reputasi yang ditampilkan sehingga konsumen bisa saja tidak yakin untuk melanjutkan transaksi. Contoh tersebut dapat dilihat seperti pada Gambar 2.11. Penulis memilih produk yang dijual dari situs Lazada. Situs yang ditampilkan berisi penjelasan, spesifikasi produk, dan beberapa pilihan dari toko yang menawarkan produk di Lazada. Pilihan yang ditampilkan memperlihatkan cara pembayaran, penjelasan singkat produk, dan diskon yang diterima dari situs. Setelah itu, penulis memilih salah satu produk dan berpindah ke situs Lazada yang menunjuk produk tersebut. Harga yang ditampilkan sesuai antara situs Telunjuk dan Lazada seperti terlihat pada Gambar 2.12 dan Gambar 2.13.

13 Universitas Kristen Petra

Gambar 2.11. Tampilan Pilihan Iphone 6 (Sumber: https://www.telunjuk.com/all/jual/iphone-6, diakses 14 Mei 2015)

Gambar 2.12. Tampilan Referensi Harga Iphone 6 (Sumber: https://www.telunjuk.com/all/penjual/apple-iphone-6-128-gb-silver, diakses 14 Mei 2015)

14 Universitas Kristen Petra

Gambar 2.13. Halaman Produk pada Situs Lazada (Sumber: http://www.lazada.co.id/apple-iphone-6-128-gb-silver- 825855.html?offer_id=109&affiliate_id=4733&offer_name=ID+Data- feed_11063&affiliate_name=ID+- +PT.+Telunjuk+Komputasi+&transaction_id=102fc77cf5feb962c74859 d3263863, diakses 14 Mei 2015)

2.2 Situs-situs yang Di-Scraping

2.2.1 Gsmarena Gsmarena merupakan situs yang menyediakan informasi yang lengkap dan terperinci produk terbaru Handphone dan Tablets. Pelanggan dapat mengirimkan saran, kritik, dan keluhan tentang produk yang diinginkan. Gsmarena menyediakan ulasan handphone dan tablets untuk pengunjung dapat mendapatkan informasi keseluruhan dan spesifikasi yang detail untuk setiap produk.

15 Universitas Kristen Petra

Gambar 2.14. Situs Gsmarena (Sumber: http://www.gsmarena.com/, diakses 26 Agustus 2015)

2.2.2 Lazada Lazada merupakan pusat belanja online yang menawarkan berbagai macam jenis produk mulai dari elektronik, buku, mainan anak, perlengkapan bayi, alat kesehatan, produk kecantikan, peralatan rumah tangga, perlengkapantravelling dan olah raga. Lazada Indonesia didirikan pada tahun 2012 dan merupakan bagian dari jaringan retail online Lazada di Asia Tenggara. Lazada International di Asia Tenggara beroperasi di Indonesia, ,, , dan Filipina. Jaringan Lazada Asia Tenggara merupakan cabang anak perusahaan jaringan perusahaan internet Jerman, Rocket Internet. Rocket Internet merupakan perusahaan online incubator yang sukses menciptakan perusahaan- perusahaan online inovatif di berbagai belahan dunia. Berkantor pusat di Berlin, Jerman, proyek yang dimiliki Rocket Internet antara lain Zalando, TopTarif, eDarling, Groupon (sebelumnya CityDeal), dan lainnya.

16 Universitas Kristen Petra

Gambar 2.15. Situs Lazada (Sumber: http://www.lazada.co.id/, diakses 17 Mei 2015)

2.2.3 Blibli Blibli merupakan salah satu e-commerce di Indonesia dengan konsep belanja online ala mall. Blibli mengharapkan masyarakat Indonesia yang terbiasa belanja di mall bisa menemukan barang yang mereka cari dengan mudah dan menyenangkan dimanapun dan kapanpun. Blibli adalah produk pertama PT Global Digital Niaga yang merupakan anak perusahaan Djarum dibidang digital yang didirikan pada tahun 2010. Blibli bekerja sama dengan teknologi provider kelas dunia, mitra logistik, banking partner, dan merchant partner dengan standar tertentu untuk menciptakan system back-end yang bisa memenuhi kebutuhan pengguna Blibli.

17 Universitas Kristen Petra

Gambar 2.16. Situs Blibli (Sumber: http://www.blibli.com/, diakses 17 Mei 2015)

2.2.4 Dinomarket Dinomarket merupakan kepanjangan dari Digital Number One Market yang menyediakan berbagai macam peralatan elektronik, komputer, mainan anak, perlengkapan bayi, alat kesehatan, produk kecantikan, peralatan rumah tangga, peralatan olahraga, peralatan travelling, alat kantor, dan lainnya. Dinomarket didirikan pada bulan Juni tahun 2008 oleh Victor Wiguna yang saat ini masih menduduki jabatan sebagai CEO. PT Dinomarket merupakan salah satu perusahaan PMA yang bergerak di bidang e-commerce yang menyediakan produk-produk berkualitas, asli dan bergaransi resmi distributor serta mengutamakan pelayanan yang baik kepada pelanggan.

18 Universitas Kristen Petra

Gambar 2.17. Situs Dinomarket (Sumber: http://www.dinomarket.com/, diakses 17 Mei 2015)

2.2.5 Erafone Erafone merupakan salah satu retail ponsel terbesar di Indonesia dan salah satu e-commerce yang ada di Indonesia dari Erafone by Erajaya Group. Sebagai salah satu retail terbesar di Indonesia, selalu berusaha untuk menjadi solusi kebutuhan akan sarana telekomunikasi nirkabel dan medianya (multimedia). Erafone melayani konsumen online Indonesia dengan menawarkan pengalaman belanja online cepat, aman, dan terpercaya dengan produk-produk asli bergaransi resmi mulai dari telepon basic, telepon pintar (smartphone), tablet, komputer, notebook, dan gadget populer lainnya. Kerjasama dengan korporasi besar, diantaranya Telkomsel, Indosat, XL, bank-bank papan atas seperti BCA,

19 Universitas Kristen Petra

Bank Mandiri, Citibank, BRI, BNI, Bank Mega, OCBC-NISP, CIMB Niaga, menjadikan bukti bahwa Erafone.com adalah mitra terpercaya.

Gambar 2.18. Situs Erafone (Sumber: http://www.erafone.com/, diakses 14 September 2015)

2.2.6 Mataharimall Mataharimall merupakan salah satu e-commerce yang ada di Indonesia. Mataharimall didukung oleh perusahaan ritel multi-format terbesar di Indonesia, yaitu Grup Lippo, yang juga mengelola Matahari Department Store dan Hypermart. Mataharimall merupakan online retailer pertama di Indonesia yang mengadopsi sistem belanja “O2O” (Online-to-Offline dan Offline-to-Online), yang memungkinkan para customer untuk membayar, mengambil dan mengembalikan produk di ratusan cabang Matahari Department Store di seluruh Indonesia. Matahari mall menyediakan lebih dari ratusan ribu pilihan produk dengan harga terbaik dari segala kebutuhan, mulai dari fashion wanita, fashion pria, kesehatan & kecantikan, handphone & tablet, laptop, gadget, elektronik, lifestyle, hobi, keperluan rumah tangga, dan lainnya.

20 Universitas Kristen Petra

Gambar 2.19. Situs Mataharimall

(Sumber: https://www.mataharimall.com/, diakses 14 September 2015)

2.3 Web Scraping Menurut Turlan (2010), Web scraping adalah proses pengambilan sebuah dokumen semi-terstruktur dari internet, umumnya berupa halaman-halaman web dalam bahasa markup seperti HTML atau XHTML, dan menganalisis dokumen tersebut untuk diambil data tertentu dari halaman tersebut untuk digunakan bagi kepentingan lain. Aplikasi web scraping berfokus pada cara memperoleh data melalui pengambilan dan ekstraksi data dengan ukuran data yang bervariasi. Web scraping memiliki sejumlah langkah, sebagai berikut: 1. Create Scraping Template: Pembuat program mempelajari dokumen HTML dari website yang akan diambil informasinya untuk tag HTML yang mengapit informasi yang akan diambil. 2. Explore Site Navigation: Pembuat program mempelajari teknik navigasi pada website yang akan diambil informasinya untuk ditirukan pada aplikasi web scraper yang akan dibuat.

21 Universitas Kristen Petra

3. Automate Navigation and Extraction: Berdasarkan informasi yang didapat pada langkah 1 dan 2 di atas, aplikasi web scraper dibuat untuk mengotomatisasi pengambilan informasi dari website yang ditentukan. 4. Extracted Data and Package History: Informasi yang didapat dari langkah 3 disimpan dalam tabel atau tabel-tabel database. Cara kerja web scraping dapat dilihat pada Gambar 2.20. (The Computer Advisor)

Gambar 2.20. Cara Kerja Web Scraping

(Sumber: http://www.thecomputeradvisor.net/web-site-scraper-the-most- effective-tool-for-web-data-extraction/, diakses 24 September 2015)

2.4 Web Crawler Nama lain dari web crawler adalah web spider dan web robot. Web crawler adalah script yang diprogram untuk menelusuri situs web secara sistematis dengan cara otomatis. Web crawler pada dasarnya digunakan untuk membuat replika dari semua situs yang dikunjungi dan diproses oleh sebuah mesin pencari yang akan mengindeks situs untuk membantu dalam pencarian secara cepat. Tugas utama web crawler adalah untuk mengumpulkan data dan menjaga data berkembang mengikuti perkembangan internet. Hasil pengumpulan akan disimpan ke database. Proses yang dilakukan web crawler (Udapure, Kale, & Dharmik, 2014), antara lain: 1. Web crawler mengambil URL dan mengunduh situs dari Internet berdasarkan URL yang diberikan.

22 Universitas Kristen Petra

2. Web crawler mem-parsing situs yang di-download dan mengambil semua link. 3. Web crawler mengulangi proses atau bekerja dengan rekursif.

2.5 CURL Menurut Khalid (2006), CURL merupakan sebuah library dan baris perintah untuk melakukan transfer data ke dan dari server. CURL memungkinkan untuk saling berkomunikasi antar server dengan protokol yang berbeda. CURL menyediakan dua macam fungsi yaitu libcurl dan curl. Libcurl merupakan sebuah library handal dan portable yang memudahkan untuk mengakses ke berbagai protokol yang berbeda, sedangkan curl merupakan baris perintah utnuk mendapatkan dan mengirimkan data dengan penggunaan sintaks URL. CURL digunakan untuk metode pengambilan data dari situs e-commerce. Instalasi extensi libcurl diperlukan untuk dapat menggunakan CURL pada pemrograman PHP. Tetapi pada sebagian besar pada instalasi WAMP (Windows Apache, MySQL, PHP) sudah mendukung CURL. Untuk melakukan pengecekan, dapat menggunakan fungsi phpinfo() seperti yang terlihat pada Gambar 2.21 dan menampilkan informasi seperti yang terlihat pada Gambar 2.22.

Gambar 2.21. Fungsi phpinfo() (Sumber: Khalid, 2006, hal. 13)

Gambar 2.22. Informasi Mendukung CURL (Sumber: Khalid, 2006, hal. 13)

23 Universitas Kristen Petra

Client dapat memberikan request yang dibuat menggunakan HTTP untuk mendapakan URL yang berisi data dan file. Terdapat beberapa fungsi perintah yang digunakan untuk client memberikan request seperti yang terlihat pada Gambar 2.23 Contoh penggunaan library CURL dapat dilihat pada Gambar 2.24.

Gambar 2.23. Beberapa Fungsi CURL (Sumber: The PHP Group, n.d.)

Gambar 2.24. Contoh Penggunaan CURL (Sumber: Khalid, 2006, hal. 14)

2.6 DOM Parser (Document Object Model Parser) Menurut Marini (2002), DOM (Document Object Model) merupakan interface yang menggambarkan XML atau HTML dokumen. DOM didefinisikan sebagai struktur logis dari dokumen dan cara dokumen agar dapat diakses dan dimanipulasi. XML digunakan sebagai cara untuk mewakili berbagai jenis

24 Universitas Kristen Petra informasi yang dapat disimpan dalam sistem yang beragam dan menyediakan data sebagai dokumen. DOM dapat digunakan untuk mengelola data XML. Menurut Chen (2015), DOM Parser dapat dituliskan dalam bahasa PHP5+ dan bertujuan untuk membantu memanipulasi elemen HTML. Kelebihan DOM Parser adalah dapat mengambil konten HTML dalam satu baris, dapat mencari tag pada HTML dengan selector seperti jQuery, dan memanipulasi elemen HTMLyang invalid.Contoh beberapa fungsi DOM Parser yang dapat dilihat pada Gambar 2.25.

Gambar 2.25. Beberapa Fungsi DOM Parser (Sumber: Chen, n.d.)

2.7 Regex (Regular Expression) Menurut Fitzgerald (2012), regular expression merupakan sebuah pola yang menggambarkan dan menyamakan sejumlah teks. Penggunaan Regex dapat digunakan untuk menemukan, mengganti, dan membagi teks sesuai dengan pola tertentu. Selain itu, dapat digunakan untuk memverifikasi input data dan sejumlah teks yang terlihat seperti email, nomor telepon, tanggal, kode negara, dan lainnya. Regex terdiri dari string yang merupakan kombinasi antara karakter normal dan metakarakter khusus. Dalam implementasi dari kombinasi ini, karakter normal

25 Universitas Kristen Petra mewakili karakter itu sendiri. Sedangkan metakarakter khusus adalah karakter yang merepresentasikan maksud tertentu. Regex merupakan bagian dari bahasa pemrograman dan library yang terus berkembang.Bahasa pemrograman yang dapat menggunakan regex yaitu .NET, Java, JacaScript Perl, PHP, Python, Java, Javascript, Ruby, dan lainnya Selain itu dapat digunakan pada Unix melalui utility ed, sed, vi editors, grep, AWK, dan lainnya. Contoh pola menggambarkan alamat email yaitu “\b[A-Z0-9._%+- ]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b”. Penggunaan pola tersebut merupakan pola yang kompleks. Pola menggambarkan kumpulan yang terdiri dari huruf, angka, titik, garis bawah, simbol persen, dan tanda hubung. Kemudian diikuti oleh sebuah titik tunggal di antara 2-4 huruf. (Goyvaerts, 2015)

2.8 Facehook API Facebook API adalah platform untuk membangun aplikasi yang tersedia untuk para anggota jaringan sosial Facebook. API memungkinkan aplikasi lain terhubung atau terlibat dengan Facebook dengan mendapatkan informasi profil anggota dan mempublikasikan aktivitas dari aplikasi lain ke halaman Facebook. Dengan API, pengguna dapat menambahkan konteks sosial untuk aplikasi lain dengan memanfaatkan data profil, teman, halaman (Page), kelompok (Group), foto, dan acara (event). Facebook SDK untuk PHP adalah library yang memungkinkan pengembang PHP untuk dengan mudah mengintegrasikan Facebook login dan membuat permintaan ke Graph API. (Developers, 2015)

26 Universitas Kristen Petra