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
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
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.
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
98
Coding : Jurnal Komputer dan Aplikasi p-ISSN : 2338-493X
Volume 10, No. 01 (2022), hal 93-102 e-ISSN : 2809-574X
99
Coding : Jurnal Komputer dan Aplikasi p-ISSN : 2338-493X
Volume 10, No. 01 (2022), hal 93-102 e-ISSN : 2809-574X
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
102