Anda di halaman 1dari 10

Coding : Jurnal Komputer dan Aplikasi p-ISSN : 2338-493X

Volume 10, No. 01 (2022), hal 93-102 e-ISSN : 2809-574X

IMPLEMENTASI WEB SCRAPING UNTUK MENGUMPULKAN


INFORMASI PRODUK DARI SITUS E-COMMERCE
DAN MARKETPLACE DENGAN TEKNIK
PEMROSESAN PARALEL

Albert Stevan Yondra1, Dedi Triyanto2, Syamsul Bahri3


1,2,3
Jurusan Rekayasa Sistem Komputer, Fakultas MIPA Universitas Tanjungpura
Jalan Prof. Dr. H. Hadari Nawawi Pontianak
Telp./Fax. : (0561) 577963
e-mail: 1albert.stevan@student.untan.ac.id, 2dedi.triyanto@siskom.untan.ac.id,
3
syamsul.bahri@siskom.untan.ac.id.

ABSTRAK
Berkembangnya internet membuat masyarakat luas dapat semakin mudah memperoleh informasi
dan melakukan kegiatan-kegiatan tertentu tanpa perlu bertatap muka atau bertemu langsung. Salah satu
kegiatan tersebut adalah kegiatan jual beli atau transaksi daring. Hal ini ditandai dengan munculnya situs-
situs e-commerce dan marketplace yang menjadi perantara antara penjual dan pembeli. Perbedaan antara
keduanya yaitu e-commerce hanya terdapat satu toko atau penjual sedangkan marketplace terdapat lebih
dari satu toko atau penjual. Setiap situs e-commerce dan marketplace menawarkan toko, produk,
keunggulan dan promosi yang berbeda-beda untuk menarik pembeli berbelanja melalui perantara mereka.
Ini menyebabkan pembeli harus mengunjungi tiap situs untuk mencari dan membandingkan produk dari
tiap situs untuk menentukan pilihan terbaik. Untuk menghemat waktu dan mengefisiensikan pencarian
produk dari beberapa situs yang berbeda, dapat digunakan teknik scraping yaitu proses pengumpulan
informasi dari halaman situs dengan menggunakan program. Penelitian ini bertujuan untuk membangun
sebuah aplikasi web scraping yang dijalankan menggunakan pemrosesan paralel dengan teknik
multithreading untuk mengumpulkan informasi dari beberapa situs e-commerce dan marketplace di
Indonesia. Multithreading merupakan cara mengeksekusi sebuah program dengan menjalankan beberapa
proses secara bersamaan menggunakan lebih dari satu thread. Berdasarkan hasil pengujian dengan jumlah
thread yang berbeda-beda, didapatkan proses scraping yang dilakukan secara paralel dengan
multithreading dapat mempercepat proses pengumpulan informasi produk dari beberapa situs sekaligus.

Kata kunci: transaksi daring, e-commerce, marketplace, scraping, pemrosesan paralel, multithreading

1. PENDAHULUAN dimiliki melalui internet. Manfaat bagi konsumen


Perkembangan teknologi informasi semakin atau pembeli yaitu dapat mencari informasi
berkembang pesat tiap harinya. Penyebaran berbagai macam produk atau barang yang ingin
informasi menjadi semakin cepat dan mudah dibeli tanpa harus pergi ke sebuah toko atau pusat
terutama dengan adanya internet yang dapat perbelanjaan secara langsung. Hal ini
diakses oleh semua orang dimanapun dan dimungkinkan dengan adanya jasa pihak ketiga
kapanpun. Masyarakat dapat mengoperasikan yang menghubungkan antara pemilik toko
dan menggunakan internet menggunakan dengan pembeli seperti platform e-commerce dan
perangkat smartphone, tablet, maupun komputer. marketplace.
Salah satu kemudahan yang ditawarkan layanan Berdasarkan survei yang dilakukan oleh
internet adalah transaksi secara daring. Bagi para Jakpat terhadap perilaku belanja online, diketahui
pemilik toko atau pedagang, mereka dapat bahwa 60,5% responden lebih memilih
menawarkan dan menjual produk atau jasa yang berbelanja online dibandingkan mengunjungi

93
Coding : Jurnal Komputer dan Aplikasi p-ISSN : 2338-493X
Volume 10, No. 01 (2022), hal 93-102 e-ISSN : 2809-574X

toko secara langsung. Beberapa alasan responden umumnya berupa halaman-halaman web dalam
lebih memilih melakukan transaksi secara online bahasa markup seperti HTML atau XHTML, dan
adalah karena lebih cepat dan efisien, banyaknya menganalisis dokumen tersebut untuk diambil
promo dan diskon, harga yang cenderung lebih data tertentu dari halaman tersebut untuk
murah, serta fleksibilitas dalam berbelanja. digunakan bagi kepentingan lain [2]. Dalam
Melihat hasil survei tersebut, dapat dilihat bahwa penelitian yang dilakukan oleh Maulana dengan
dengan berbelanja online, banyak keuntungan judul “Rancang Bangun Web Scraping Pada
yang didapatkan oleh pembeli dibandingkan Marketplace di Indonesia”, dilakukan web
dengan mengunjungi toko secara langsung untuk scraping untuk mendapatkan data produk dari
membeli barang [1]. situs e-commerce dan mengunggahnya ke situs
Seiring dengan bertambahnya jumlah dropship [3]. Pada penelitian ini scraping
pembeli produk online, maka jumlah penyedia dilakukan terhadap satu situs e-commerce. Dari
layanan penjualan secara online seperti situs e- penelitian tersebut, dapat dilihat bahwa dengan
commerce dan marketplace juga ikut meningkat. adanya aplikasi web scraping tersebut
E-commerce dan marketplace mempunyai sistem mempercepat pengambilan data produk yang
kerja yang sama tetapi terdapat perbedaan di sebelumnya dilakukan secara manual.
dalamnya, e-commerce hanya terdapat satu toko Namun untuk mengambil data dari beberapa
atau penjual sedangkan marketplace terdapat link atau beberapa situs sekaligus diperlukan
lebih dari satu toko atau penjual. Contoh waktu yang cukup lama karena harus menunggu
beberapa situs e-commerce dan marketplace yang halaman web selesai dibaca. Oleh karena itu,
ada di Indonesia diantaranya Tokopedia, Shopee, proses web scraping itu sendiri dapat dieksekusi
Bukalapak, dan masih banyak yang lainnya. secara bersamaan untuk beberapa link yang akan
Karena banyaknya situs-situs tersebut, pembeli diambil datanya sehingga pengambilan data dapat
dapat menghabiskan waktu yang cukup lama dilakukan secara kolektif dan efisien. Salah satu
untuk mencari barang sesuai dengan kriteria yang metode yang dapat digunakan untuk menjalankan
diinginkan. Belum lagi promo dan diskon yang web scraping pada beberapa link secara
diberikan oleh masing-masing situs juga menjadi bersamaan adalah menggunakan pemrosesan
faktor pertimbangan pembeli dalam memilih situs paralel.
tersebut. Pemrosesan paralel adalah suatu cara untuk
Namun untuk mengumpulkan informasi menjalankan beberapa program secara simultan
perbedaan produk antar situs secara langsung atau bersamaan dengan memaksimalkan kinerja
yaitu dapat berlangsung lama jika pengguna ingin CPU [4]. Salah satu teknik untuk melakukan
membandingkan beberapa barang sekaligus. Oleh pemrosesan paralel adalah multithreading.
karena itu, untuk memudahkan pengguna untuk Penelitian tentang pemrosesan paralel pernah
mendapatkan produk yang diinginkan dengan dilakukan oleh Retnowo dengan judul
hasil penjualan terbaik, serta pengguna dapat “Sinkronisasi Data Dengan Pemrosesan Paralel
melihat perbandingan harga produk antar situs Menggunakan Model Pemrograman
maupun antar produk serta ulasan dari pembeli MapReduce” [5]. Pada penelitian ini, pemrosesan
lainnya, maka diperlukan sebuah program atau paralel dilakukan menggunakan beberapa
aplikasi yang mampu mengumpulkan berbagai komputer yang dijalankan bersamaan. Hasil
informasi yang terdapat dalam situs toko online penelitian tersebut menunjukkan bahwa
menggunakan teknik web scraping. Informasi pemrosesan paralel memberikan efisiensi waktu
tersebut berupa harga, nama produk, banyak dalam melakukan sinkronisasi data pada database
produk terjual, rating produk, deskripsi produk tunggal maupun database terdistribusi .
dan sumber situs e-commerce. Penelitian lainnya dilakukan oleh Onggrono
Web Scraping adalah proses pengambilan dengan judul “Analisis Penggunaan Parallel
sebuah dokumen semi-terstruktur dari internet, Processing Multithreading Pada Resilient

94
Coding : Jurnal Komputer dan Aplikasi p-ISSN : 2338-493X
Volume 10, No. 01 (2022), hal 93-102 e-ISSN : 2809-574X

Backpropagation” tentang penggunaan tetap responsif, serta memudahkan prioritas


pemrosesan paralel untuk mempercepat proses operasi tertentu.
pembelajaran algoritma resilient 2.3 E-commerce
backpropagation [6]. Pada penelitan ini Perdagangan merupakan kegiatan yang
digunakan konsel multithreading untuk sudah dilakukan manusia sejak zaman dahulu.
menjalankan pemrosesan paralel pada algoritma Sejalan dengan perkembangan manusia, sarana
yang digunakan. dan cara yang digunakan untuk berdagang selalu
Dalam penelitian ini, akan dikembangkan berubah. Salah satu sarana perdagangan terbaru
sebuah program web scraping untuk yang memanfaatkan teknologi terkini adalah e-
mendapatkan informasi produk dari beberapa commerce. E-commerce merupakan segala
situs e-commerce dengan menggunakan bentuk transaksi perdagangan atau perniagaan
pemrosesan paralel untuk mempercepat proses barang atau jasa dengan menggunakan media
pengambilan data itu sendiri. Pemrosesan paralel elektronik [9].
dilakukan menggunakan teknik multithread 2.4 Web Scraping
dimana sebuah proses terdiri dari beberapa thread Proses pengumpulan data di internet sudah
yang mengeksekusi perintah untuk berlangsung sejak lama. Istilah web scraping
mengumpulkan data. sendiri sering dikenal juga dengan screen
scraping, data mining, web harvesting ataupun
2. LANDASAN TEORI istilah lainnya. Secara teori, web scraping sendiri
2.1 Pemrosesan Paralel berarti praktik pengumpulan data dengan cara
Pemrosesan paralel adalah proses yang apapun selain menggunakan program yang
menjalankan lebih dari satu sistem yang berinteraksi dengan Application Programming
digunakan untuk menjalankan sebuah program Interface (API). Cara kerja web scraping dapat
secara simultan [7]. Pemrosesan paralel membuat dilihat pada Gambar 1.
program berjalan dengan cepat karena semakin
banyak resource (dalam hal ini komputer) yang
dapat dimanfaatkan.
Dalam pembuatan komputasi paralel
dibutuhkan arsitektur yang tepat sehingga proses
pengolahan berjalan sesuai dan tidak
menimbulkan konflik yang membuat proses
paralel menjadi tidak berjalan sebagaimana
mestinya. Gambar 1. Proses Scraping
2.2 Multithreading Sumber: https://www.webharvy.com/articles/what-is-
web-scraping.html
Dalam arsitektur komputer, multithreading
adalah kemampuan sebuah Central Processing
2.5 HyperText Markup Language
Unit (CPU) atau sebuah core pada prosesor multi-
HTML merupakan bahasa markup yang
core untuk mengeksekusi beberapa thread secara
berfungsi untuk memberitahu browser web
bersamaan yang didukung oleh sistem operasi
bagaimana struktur halaman sebuah website.
[8]. Sebuah thread adalah aliran kendali tunggal
HTML sendiri terdiri dari banyak elemen yang
di dalam suatu program. Pada aplikasi
digunakan menutup, membungkus, ataupun
multihread, beberapa instruksi atau bagian
menandai bagian tertentu dari konten untuk
program dikerjakan secara bersamaan dengan
membuatnya muncul atau beperilaku sedemikian
menggunakan thread terpisah. Keuntungan dari
rupa [10].
penggunaan multithreading yaitu mempercepat
2.6 Python
waktu eksekusi dengan memanfaatkan sumber
daya komputer secara efektif, membuat proses

95
Coding : Jurnal Komputer dan Aplikasi p-ISSN : 2338-493X
Volume 10, No. 01 (2022), hal 93-102 e-ISSN : 2809-574X

Python merupakan bahasa pemrograman Bottle adalah kerangka kerja mikro untuk
tingkat tinggi dengan bentuk penulisan yang membuat website. Bottle sendiri terdistribusi
dinamis. Python sebagian besar digunakan untuk sebagai modul satu file dan tidak mempunyai
membuat aplikasi berbasis web dan data science dependency lain selain perpustakaan standar dari
[11]. bahasa Python [12]. Bottle dapat digunakan untuk
2.7 Selenium menggabungkan perintah standar membuat
website dengan modul Python yang berbeda
Selenium adalah kerangka kerja gratis untuk
seperti modul multiprocessing sehingga aplikasi
melakukan pengujian otomatis terhadap aplikasi website yang dibuat dapat menggunakan fitur
berbasis web pada berbagai sistem operasi dan pemrosesan paralel.
browser, selain itu Selenium sendiri juga dapat
digunakan untuk melakukan web scraping. Untuk 3. METODE PENELITIAN
berinteraksi dengan elemen pada halaman situs, Metode penelitian yang digunakan dalam
Selenium menggunakan beberapa metode merealisasikan penelitian penelitian ini seperti
identifikasi seperti nama tag HTML, id, class dan pada Gambar 2.
Xpath (XML Path Language). Xpath sendiri
merupakan cara yang digunakan untuk
menemukan elemen HTML menggunakan
ekspresi alamat. Untuk membuat Xpath dari
sebuah halaman situs, perlu dilakukan inspect
atau melihat struktur kode yang membentuk
sebuah elemen HTML, kemudian menggunakan
ekpresi tertentu untuk mencari dan menemukan
elemen HTML. Inspect sendiri merupakan alat
yang tersedia pada setiap browser modern saat
ini. Ekspresi yang digunakan untuk membentuk
Xpath dapat dilihat pada Tabel 1.

Tabel 1. Ekspresi untuk membentuk Xpath


Ekspresi Deskripsi
Memilih semua node sesuai nama
Nama node yang diketikkan pada bagian
xpath.
Memilih satu elemen dari node Gambar 2. Diagram Alir Penelitian
/
utama.
Memilih semua node yang ada di
3.1 Studi Literatur
Sebelum merancang sistem, dilakukan
dokumen dari posisi node yang
// terlebih dahulu studi pustaka terhadap topik-topik
ditunjuk yang memilih kesamaan
pendukung penelitian seperti konsep pemrosesan
nama seperti yang diketikkan. paralel, proses menganalisa dokumen web, dan
Memilih node yang sedang algoritma pembuatan web scraper. Selain itu
.
ditunjuk. juga, pengetahuan tentang struktur data dalam
Memilih parent dari node yang pemrograman dibutuhkan untuk membuat sebuah
.. program yang berjalan secara efektif.
sedang ditunjuk.
3.2 Analisis Kebutuhan
@ Memilih atribut elemen HTML
Dalam pembuatan sistem dibutuhkan
perangkat keras dan perangkat lunak. Perangkat
2.8 Bottle
96
Coding : Jurnal Komputer dan Aplikasi p-ISSN : 2338-493X
Volume 10, No. 01 (2022), hal 93-102 e-ISSN : 2809-574X

keras adalah perangkat yang dibutuhkan dalam Hal pertama yang dilakukan sebelum
proses pembuatan sistem. Perangkat keras yang membuat proram scraping yaitu melakukan
digunakan untuk membangun sistem ini adalah inspect pada tiap situs. Proses inspect dilakukan
laptop dengan spesifikasi Prosesor AMD Ryzen 5 dengan membuka browser Google Chrome dan
@3,6Ghz, RAM DDR4 8 GB, SSD 500 GB. mengakses halaman situs e-commerce yang
Perangkat lunak yang digunakan dalam dipilih. Proses inspect terhadap situs Tokopedia
pembuatan sistem ini adalah Python 3.8, dapat dilihat pada Gambar 3. Hasil inspect
Selenium Webdriver, Google Chrome, Microsoft menunjukkan kode HTML dari elemen yang
Excel, Visual Studio Code. membungkus produk berisikan nama produk,
3.3 Perancangan Sistem harga, dan informasi lainnya yang dapat
Setelah analisa kebutuhan sistem dilakukan, ditemukan dan dibaca isinya oleh Selenium
tahap selanjutnya adalah melakukan perancangan dengan menggunakan xpath.
sistem. Perancangan sistem yang akan dilakukan
berisi perancangan perangkat keras dan perangkat
lunak, penentuan link situs dan jenis data,
pemindaian halaman situs, pengaksesan situs, dan
penyimpanan data.
3.4 Implementasi
Proses pemindaian halaman situs dilakukan
dengan menggunakan browser Google Chrome.
Setelah itu program dibuat dengan editor Visual
Studio Code menggunakan bahasa Python.
Program dibuat agar dapat membuka beberapa Gambar 3. Inspect situs Tokopedia
link situs sekaligus dan mendapatkan informasi
yang diperlukan dari tiap situs. Tiap proses Dari kode elemen HTML pada sebuah situs,
pengumpulan data selesai, data kemudian dibuatlah xpath yang digunakan untuk mencari
ditampilkan melalui antarmuka yang telah dibuat elemen. Xpath yang telah dibuat dapat dilihat
dan disimpan kedalam sebuah file sehingga dapat pada Tabel 2.
diunduh. Tabel 2. Xpath untuk situs Tokopedia
3.5 Pengujian
Sistem yang telah dibangun kemudian diuji Elemen
Situs Xpath
coba dengan menggunakan data uji yang ada. HTML
//div[contains(@data-
Data uji berupa xpath dari tiap situs e-commerce testid,
dan marketplace. Uji coba dilakukan untuk ‘divProductWrapper’
mengetahui apakah sistem dapat mengakses tiap Container
)]//div[contains(@cla
situs yang ditentukan berdasarkan xpath dan ss,’pcv3__container’)
input yang diberikan dan berfungsi sebagaimana ]
Tokopedia Link ./div[1]/a
yang telah dirancang. Pengujian dilakukan
./div[2]/a/div[@data-
dengan melakukan black box testing yaitu dengan Nama
testid=’spnSRPProdN
mengamati hasil eksekusi melalui data uji dan Barang
ame’]
memeriksa fungsional dari program serta menguji ./div[2]/a/div[@data-
Harga
kecepatan scraping menggunakan jumlah thread testid=’spnSRPProdP
Barang
yang berbeda-beda. rice’]
./div[2]/a//div[@data-
Nama Toko testid=’shopWrapper’
4. HASIL DAN PEMBAHASAN ]/div/span[2]
4.1 Implementasi

97
Coding : Jurnal Komputer dan Aplikasi p-ISSN : 2338-493X
Volume 10, No. 01 (2022), hal 93-102 e-ISSN : 2809-574X

./div[2]/a//div[@data- digunakan untuk menyimpan data dalam format


Lokasi Toko testid=’shopWrapper’ file csv.
]/div/span[1]
.//i[@aria-
Ulasan label=’Rating
Pembeli Star’]/following-
sibling::span[1]

Antarmuka aplikasi terdiri dari 2 halaman


yaitu halaman utama dan halaman hasil. Halaman
utama berisi tampilan selamat datang serta
sebuah form yang digunakan untuk memasukkan
nama barang, jumlah barang, dan sumber situs
yang menjadi objek scraping. Untuk setiap
produk dan situs yang dipilih, program akan Gambar 5. Halaman Hasil
menyimpan informasi produk sebanyak jumlah
yang dimasukkan pada form. 4.2 Pengujian
Pengujian terhadap kinerja web scraping.
Pengujian yang dilakukan dengan menggunakan
jumlah thread yang beragam dimulai dari 1
thread sampai maksimal 20 thread dengan
menggunakan kombinasi situs dan jumlah barang
yang berbeda. Penggunaan 1 thread difungsikan
untuk mensimulasikan pemrosesan sistematis
(tanpa paralel), sementara jika lebih dari 1 thread
Gambar 4. Halaman Utama maka pemrosesan dilakukan secara paralel.
Pengujian dilakukan terhadap kombinasi situs
Halaman hasil berisikan tabel yang berbeda-beda dengan masing-masing kombinasi
menampung data hasil scraping dari tiap situs jumlah barang sebanyak 10, 20, dan 40 buah.
yang dipilih beserta informasi singkat tentang Hasil pengujian scraping dengan jumlah thread
total jumlah barang dan lama waktu scraping. berbeda untuk tiap jumlah barang yang
Terdapat juga tombol “Unduh CSV” yang digunakan dapat dilihat pada Tabel 3.
Tabel 3. Pengujian proses scraping

Jumlah Jumlah thread


No Situs yang dipilih
barang 1 2 3 5 10 15 20

Tokopedia, 10 103,61 73,51 54,31 50,17 50,12 54,23 51,3


Bukalapak, Shopee,
1 20 153,02 105,62 91,7 83,93 83,21 90,34 85,75
Lazada, JD.ID,
Bhinneka 40 265,56 183,05 167,87 160,57 162,77 160,02 163,04
10 92,28 69,31 56,65 53,78 50,27 59,19 58,41
Tokopedia,
2 Bukalapak, Shopee, 20 142,38 84,57 92,26 71,12 79,48 74,37 78,26
JD.ID, Bhinneka
40 242,67 179,99 150,42 155,02 157,87 151,43 153,79
3 10 86,35 49,19 54,55 56,35 57,01 55,55 42,14

98
Coding : Jurnal Komputer dan Aplikasi p-ISSN : 2338-493X
Volume 10, No. 01 (2022), hal 93-102 e-ISSN : 2809-574X

Lazada, Shopee, 20 132,56 92,61 83,82 79,85 77,05 77,54 76,51


Bukalapak, JD.ID 40 242,75 165,01 162,3 164,04 161,46 163,16 166,63
Tabel 3. Pengujian proses scraping (Lanjutan)

Jumlah Jumlah thread


No Situs yang dipilih
barang 1 2 3 5 10 15 20
10 55,49 37,7 33,71 34,36 40,27 34,92 27,45
Tokopedia,
4 Bukalapak, JD.ID, 20 75,72 48,05 44,22 41,11 41,42 45,4 41,85
Bhinneka
40 124,84 79,43 87,64 76,27 70,29 70,61 76,85
10 73,08 56,8 46,7 43,31 43,05 41,19 40
Bukalapak, Shopee,
5 20 145,25 76,51 74,67 73,57 71,23 75,18 66,24
Bhinneka
40 197,62 169,2 141,27 134,46 137,79 127,59 128
10 42,39 34,56 25,79 29,26 36,58 29,13 24,76
Tokopedia, Lazada,
6 20 60,91 53,11 45,33 50,6 57,6 41,13 38,2
JD.ID
40 97,81 104,89 66,75 63,65 53,36 63,62 54,48
10 246,71 47,23 32,75 45,15 44,03 48,73 40,62
7 Bukalapak, Shopee 20 86,99 84,48 78,62 76,05 71,24 78,56 67,24
40 155,61 153,77 136,91 143,33 132,31 128,96 140,78
10 37,23 30,82 22,72 29,15 35,77 30,29 23
8 Tokopedia, JD.ID 20 56,77 52,2 37,04 45,32 44,3 40,61 38,13
40 87,62 102,71 78,93 90,28 109,2 78,37 79,27
10 19,51 18,58 20,08 17,64 18,15 15,86 17,41
9 Tokopedia 20 22,01 21,49 18,29 22,13 23,16 26,23 24,57
40 31,5 32,94 30,85 32,48 32,3 34,53 31,74
10 17,9 18,86 17,43 16 15,4 17,71 15,91
10 Bukalapak 20 18,64 17,1 18,33 19,11 19,34 16,56 18,14
40 23,15 22,05 21,74 21,17 22,85 23,72 24,18
10 46,59 46,83 45,37 48,44 47,1 49,61 50,49
11 Shopee 20 76,81 81,24 79,24 73,91 75,94 74,16 73,92
40 142,05 139,38 143,49 137,56 141,75 138,68 141,59
10 16,95 18,47 17,58 15,44 16,85 18,57 17,62
12 Lazada 20 15,28 14,57 18,41 17,58 17,14 19,55 14,51
40 18,61 17,95 19,94 19,17 18,87 17,33 17,33
13 JD.ID 10 28,64 29,19 30,23 26,11 28,64 27,48 24,83

99
Coding : Jurnal Komputer dan Aplikasi p-ISSN : 2338-493X
Volume 10, No. 01 (2022), hal 93-102 e-ISSN : 2809-574X

20 47,54 49,19 48,28 46,37 45,14 47,53 47,4


40 73,58 71,95 72,49 72,94 74,37 77,51 77,81

yaitu menentukan situs yang akan dilakukan


scraping. Situs yang dipilih merupakan e-
commerce umum yang diakses oleh masyarakat
Indonesia dan dapat dibuka oleh aplikasi
scraping itu sendiri. Situs yang digunakan
sebagai objek scraping pada penelitian ini
berjumlah sebanyak 6 situs yaitu Tokopedia,
Bukalapak, Shopee, Lazada, JD.ID, dan
Bhinneka.
Langkah berikutnya setelah menentukan
situs yang menjadi objek scraping yaitu membuat
Gambar 6. Grafik Waktu Scraping untuk Semua Xpath tiap situs. Untuk membuat Xpath dari tiap
Situs situs dilakukan inspect untuk menemukan pola
unik kode HTML yang digunakan untuk
Pada Gambar 6 dapat dilihat lama waktu melakukan pencarian dan interaksi terhadap
scraping untuk pilihan semua situs. Untuk jumlah elemen HTML. Setelah daftar Xpath dibuat untuk
produk sebanyak 10 per situs, dapat dilihat bahwa semua situs, maka dilanjutkan dengan membuat
dengan menggunakan 1 thread (pemrosesan bagian utama aplikasi yaitu sistem scraping itu
serial) memerlukan waktu sekitar 100 detik untuk sendiri.
mengumpulkan data barang. Kemudian untuk Bagian selanjutnya yaitu membuat program
jumlah barang sebanyak 20 dan 40 per situs, scraping dapat berjalan secara bersamaan untuk
waktu scraping meningkat menjadi sekitar 150 tiap situs yang dipilih menggunakan sistem
detik dan 250 detik. Hal ini menunjukkan multithreading. Jumlah thread yang digunakan
untuk pengujian berjumlah satu sampai tiga
semakin banyak jumlah barang per situs maka
thread. Satu thread digunakan untuk menguji
semakin lama waktu yang diperlukan untuk sistem scraping berjalan secara serial, sementara
mengumpulkan data. Ketika jumlah thread untuk jumlah thread lebih dari satu untuk
bertambah, terjadi waktu scraping yang menguji sistem scraping berjalan secara paralel.
diperlukan konsisten semakin berkurang sampai Setelah sistem selesai diimplementasikan,
dengan 5 thread. Namun dengan menggunakan maka dilakukan pengujian terhadap sistem.
thread lebih dari 5, dapat dilihat bahwa tidak Pengujian yang dilakukan yaitu pengujian
terjadi penurunan waktu scraping secara blackbox dan pengujian kinerja web scraping.
signifikan, melainkan mendekati waktu scraping Berdasarkan hasil pengujian blackbox, dapat
yang dibutuhkan dengan menggunakan 5 thread. dilihat bahwa semua fungsi yang ada pada
Hal ini menunjukkan bahwa penambahan jumlah antarmuka aplikasi dapat bekerja sesuai yang
thread yang digunakan tidak selalu mempercepat rancangan yang telah dibuat. Berikutnya
dilakukan pengujian kinerja web scraping dengan
proses scraping yang dilakukan.
menggunakan masukan dan jumlah maksimal
thread yang berbeda-beda untuk membandingkan
4.3 Pembahasan
lama proses scraping berjalan. Jumlah thread
Pada penelitian ini dibangun sebuah aplikasi
satu digunakan untuk melakukan simulasi jika
yang berfungsi untuk melakukan scraping atau program berjalan secara serial sedangkan jumlah
pengumpulan data terhadap informasi produk thread lebih dari satu berarti program berjalan
yang terdapat pada situs e-commerce. Langkah secara paralel.
pertama yang dilakukan sebelum membuat sistem

100
Coding : Jurnal Komputer dan Aplikasi p-ISSN : 2338-493X
Volume 10, No. 01 (2022), hal 93-102 e-ISSN : 2809-574X

Berdasarkan hasil pengujian yang dapat menggunakan lebih dari 1 thread lebih cepat
dilihat pada Tabel 3, dapat disimpulkan bahwa daripada yang hanya menggunakan 1 thread,
semakin banyak jumlah barang yang ingin namun thread yang digunakan hanya akan
diambil datanya maka semakin lama juga proses disesuaikan dengan banyaknya proses yang
scraping selesai dilakukan. Hal lainnya yang diberikan.
dapat dilihat dari tabel tersebut yaitu semakin
banyak thread yang digunakan untuk beberapa 6. SARAN
kasus uji maka dapat mempercepat juga proses Berdasarkan penelitian yang telah dilakukan
scraping selesai dilakukan. Namun jumlah thread penulis, terdapat beberapa saran agar penelitian
yang semakin banyak tidak berarti selalu ini dapat dikembangkan pada penelitian
mempercepat proses scraping, terlihat dari selanjutnya. Diantaranya adalah sebagai berikut:
beberapa hasil uji menunjukkan waktu scraping 1. Memperbanyak situs yang menjadi objek
berjalan lebih lama terutama ketika situs yang scraping.
dipilih kurang dari 4 dan jumlah barang yang 2. Membedakan jenis data yang ingin
dikumpulkan semakin sedikit. Dilihat dari dikumpulkan.
penggunaan jumlah thread 3 sampai 20, 3. Melakukan scraping pada satu halaman atau
perbedaan lama waktu scraping menjadi semakin lebih di situs yang sama.
kecil. Berdasarkan grafik lama waktu scraping 4. Memperkecil proses yang dilakukan oleh
yang dilakukan, dapat disimpulkan bahwa proses thread seperti mengambil detil dari tiap
scraping paling optimal dilakukan dengan produk dilakukan dengan menggunakan
menggunakan 5 thread. beberapa thread.

DAFTAR PUSTAKA
5. KESIMPULAN
[1] Jakpat. 2019. Perilaku belanja online di
Kesimpulan yang dapat diambil dari Indonesia.
pengujian yang telah dilakukan adalah https://binus.ac.id/bandung/2019/08/perila
sebagai berikut: ku-belanja-online-di-indonesia/. (diakses
1. Sistem web scraping yang telah dibuat dapat tanggal 16 Januari 2020).
mengumpulkan informasi dari beberapa [2] Mitchell, Ryan. 2015. Web Scraping with
situs e-commerce sekaligus menggunakan Python. O’Reilly Media : Sebastopol.
pemrosesan secara paralel. Informasi [3] Maulana, A. A. & Susanto, A. 2019.
dikumpulkan dengan cara membuat Xpath Rancang Bangun Web Scraping Pada
yang berfungsi sebagai patokan untuk Marketplace di Indonesia. Journal of
menemukan elemen HTML pada halaman Information System, 4(1), 41-53.
sebuah situs. Kemudian setelah elemen [4] Abdullah, Dahlan. 2016. Pemrosesan
ditemukan, maka data seperti teks pada Paralel. Unimal Press : Lhokseumawe.
elemen tersebut dapat dibaca dan disimpan [5] Retnowo, Murti. 2016. Sinkronisasi data
oleh program Selenium. dengan pemrosesan paralel menggunakan
2. Proses scraping yang dijalankan model pemrograman mapreduce. Jurnal
menggunakan pemrosesan paralel berjalan Informatika dan Komputer, 1(2), 35-41.
lebih cepat daripada menggunakan [6] Onggrono, K. & Nabanan, E.B. 2017.
pemrosesan serial terutama ketika situs dan Analisis penggunaan parallel processing
jumlah barang yang diminta semakin banyak. multithreading pada resilient
Selisih waktu scraping yang dijalankan backpropagation. Jurnal Nasional
secara serial dengan paralel berkisar antara Informatika dan Jaringan, 2(1), 33-40.
10 sampai 100 detik bergantung pada jumlah [7] Christian, dkk. 2007. Parallel Computing:
barang dan situs yang dipilih. Architectures, Algorithms and
3. Bertambahnya jumlah thread dapat Applications. IOS Press : Amsterdam.
membuat proses scraping berjalan lebih [8] Akbar, Rahmad Auriza. 2014. Pemrosesan
cepat. Waktu scraping yang diperlukan Paralel. Institut Pertanian Bogor : Bogor.

101
Coding : Jurnal Komputer dan Aplikasi p-ISSN : 2338-493X
Volume 10, No. 01 (2022), hal 93-102 e-ISSN : 2809-574X

[9] Nofie Iman. Mengenal E-commerce.


http://www.nofieiman.com, diakses
tanggal 10 maret 2020.
[10] MDN, 2020. HTML: Hypertext Markup
Language.
https://developer.mozilla.org/en-
US/docs/Web/HTML. (diakses tanggal 19
Juli 2020.
[11] Severance, R. Charles. 2016. Python for
Everybody. CreateSpace Independent
Publishing Platform : Carolina.
[12] Wibowo, F. R & Rusdianto, D. S. 2019.
Pengembangan Sistem Pengumpulan
Promo E-Commerce Berbasis Website
Dengan Menerapkan Teknik Web
Scraping Dalam Proses Pengambilan Data
Promo. Jurnal Pengembangan Teknologi
Informasi dan Ilmu Komputer, 3(3), 2887-
2893.

102

Anda mungkin juga menyukai