• Tidak ada hasil yang ditemukan

Dalam hal ini para penjual yang memiliki e-commerce marketplace yang banyak harus mengolah informasi data produk secara berulang agar sesuai dengan barang yang dimiliki

N/A
N/A
Protected

Academic year: 2023

Membagikan "Dalam hal ini para penjual yang memiliki e-commerce marketplace yang banyak harus mengolah informasi data produk secara berulang agar sesuai dengan barang yang dimiliki"

Copied!
12
0
0

Teks penuh

(1)

1.

Pendahuluan

Kehidupan manusia yang modern ini, internet sudah menjadi kebutuhan yang penting. Berkembangnya teknologi dan kebutuhan informasi mengalami banyak perkembangan karena adanya internet. Perkembangan dalam dunia bisnis yang produknya merupakan e-commerce adalah salah satu pengaruh dari berkembangnya teknologi dan internet [1]. E-Commerce adalah proses jual-beli barang maupun jasa secara elektronik dengan menggunakan teknologi digital dan jaringan internet [2].

Marketplace adalah tempat penjual dan pembeli melakukan kegiatan jual- beli produk secara elektronik [3]. Berjualan secara online menggunakan situs-situs e- commerce dan marketplace menjadi pilihan untuk para penjual dalam menawarkan barang kepada konsumen. Berjualan secara online memberi kemudahan dalam meningkatkan perekonomian karena produk dapat dipasarkan mulai dari didalam Kota sendiri hingga luar pulau.

Setiap produk memiliki informasi yang berbeda-beda, mulai dari deskripsi, jenis, harga, stok produk, dan lainnya. Para penjual yang memiliki e-commerce marketplace diharuskan untuk mengatur dan mengolah informasi data porduk agar para pembeli dapat mengerti produk yang dijual. Dalam hal ini para penjual yang memiliki e-commerce marketplace yang banyak harus mengolah informasi data produk secara berulang agar sesuai dengan barang yang dimiliki. Sebagai contoh seperti banyaknya stok yang dimiliki saat ini. Bila penjual memiliki 2 marketplace yang berbeda (A dan B) dengan produk yang sama dan jumlah yang sama (Produk X), saat produk X terjual di marketplace A maka stok barang akan berkurang, namun di dalam marketplace B produk tidak mengalami pengurangan dalam jumlah stok nya. Dalam marketplace B penjual harus melakukan edit produk secara manual pada bagian jumlahnya agar sesuai. Hal serupa dapat terjadi pada informa s i – informasi produk yang lainnya. Penjual harus meluangkan banyak waktu untuk selalu mengatur dan mengedit informasi produk pada seluruh marketplace miliknya. Apabila penjual memiliki banyak marketplace dan banyak produk maka dapat dipastikan penjual perlu banyak waktu yang tidaklah sedikit untuk mengola h datanya dengan informasi yang terbaru.

Melihat permasalahan tersebut, Keterbatasan waktu dalam mengolah data dapat diatasi dengan menggunakan teknik Web Scraping. Web Scraping merupakan suatu teknik yang digunakan untuk mendapatkan suatu data atau informasi pada website tertentu. Informasi yang didapat berupa, teks, tautan, video, audio ataupun dokumen. Penelitian Teknik Web Scraping dilakukan dengan batasan-batasan yang ditetapkan. Adapun batasannya adalah aplikasi website yang dibuat menggunaka n bahasa pemrograman PHP dan framework laravel, serta bahasa pemrograma n phyton dengan library selenium untuk penerapan scraping datanya. Target pengambilan informasi data menggunakan marketplace Shopee dengan version:

2.54.3. Database yang digunakan adalah database MySQL.

Framework merupakan sebuah software yang memudahkan para programmer untuk membuat sebuah aplikasi web yang di dalam nya memiliki berbagai fungs i seperti plugin, dan konsep untuk membentuk suatu sistem tertentu agar tersusun dan tersetruktur dengan rapi. Menggunakan framework bukan berarti akan terbebas dengan pengkodean [4]. Python adalah bahasa pemrograman yang dinamis karena

(2)

mendukung pemrograman berbasis objek. Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi [5]. Web scraping adalah proses pengambilan data atau informasi secara keseluruhan atau sebagian dari halaman berupa website [6]. Website adalah keseluruhan halaman-halaman web yang terdapat dalam sebuah domain yang mengandung informasi [7]. Laravel adalah salah satu framework PHP yang digunakan untuk membangun aplikasi web.

Framework ini digunakan oleh banyak Web Developer karena fungsi fitur-fitur nya sangat banyak, kinerja menjadi lebih efektif. Framework ini menggunakan struktur Model View Controller (MVC). MVC adalah sebuah metode aplikasi dengan memisahkan data dari tampilan berdasarkan komponen – komponen aplikasi, contohnya: controller, view, model, database, migration [8]. Selenium adalah satu satu bot yang dapat mengunjungi web secara otomatis. Selenium biasanya dipakai untuk web scriping dan aplikasi bot lainnya. Selenium menggunakan driver browser dalam menjalankan perintah untuk mengunjungi web, dengan menggunakan selenium pengguna dapat membuka browser tanpa menampilkan UI / dengan kata lain pengguna dapat menjalankan browser tanpa menggunaka n tampilan dari browser tersebut [9].

Aplikasi yang dibuat memiliki tujuan agar menjelaskan bahwa pengambila n data / Scraping pada marketplace dapat dilakukan dengan cara yang berbeda – beda dan untuk kepentingan yang berbeda- beda mulai dari pengambilan data untuk melakukan penghitungan pajak, informasi product untuk dilihat, maka penelit ia n dilakukan dengan membuat aplikasi web Management Marketplace dengan melakukan Scraping data pada marketplace dengan mengambil data dengan menggunakan selenium phyton.

2.

Tinjauan Pustaka

Dalam penelitian Mohammad Djufri penelitian menggunakan aplikasi dari websraper.io dan instant data scraper dari webrobots.io yang merupakan extension dari Chrome. Dalam penelitiannya diharapkan teknik web Scraping yang dilakukan terhadap tiga situs online marketplace dapat memberi kontribusi dalam penggalia n potensi pajak dan implikasi kebijakan dalam hal pencarian data melalui internet oleh DJP [10].

Penelitian menggunakan teknik web scraping juga pernah dilakukan oleh Dhita Deviacita A. Yani. Dalam penelitiannya dilakukan pengujian dengan menggunaka n white box testing dan black box testing. Hasil pengujian sistem telah mampu memberikan hasil terbaik produk dari gabungan hasil pencarian di tiga situs web marketplace sesuai kata kunci yang dimasukkan oleh pengguna [11].

Berikutnya, penelitian dilakukan oleh Dana Febri Setiawan menggunaka n teknik Parsing HTML melalui JavaScript dan menarget halaman HTML linear dan nested dalam melakukan scraping pada beberapa marketplace. Hasil penerapan dari sistem informasi web scraping tersebut adalah teknik web scraping dapat digunakan untuk mengambil konten deskripsi produk dengan cepat dan tepat pada berbagai situs e-commerce dan e-marketplace yang memuat deskripsi penjualana n produk [12].

(3)

Berbeda dengan ke-tiga penelitian sebelumnya, aplikasi yang dibuat akan menggunakan selenium phyton sebagai teknik web scraping yang memiliki tujuan agar menjelaskan bahwa pengambilan data / scraping pada marketplace dapat dilakukan dengan teknik scraping dengan bantuan selenium.

3.

Metode dan Perancangan Sistem

Metode penelitian yang dilakukan melalui tahapan penelitian yang terbagi dalam 5 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. Tahapan Penelitian

Tahapan penelitian pada Gambar 1 dapat dijelaskan sebagai berikut: 1) Tahap pertama adalah analisis kebutuhan dan pengumpulan data. Analisis kebutuhan dilakukan melalui observasi mengenai driver yang diperlukan, versi dari browser, dan versi framework yang digunakan. 2) Tahap kedua adalah Design System perancangan database meliputi tabel-tabel yang digunakan dalam menyimpan data serta penentuan hubungan relasinya dan perancangan antarmuka aplikasi yang akan dibuat. 3) Tahap ketiga adalah implementasi program, yaitu merancang aplikasi dan menerapkan syntax-syntax sesuai dengan kebutuhan sistem berdasarkan perancangan yang sudah dilakukan. Bahasa pemrograman yang dipakai adalah Phyton dan PHP 4) Tahap keempat adalah pengujian sistem. 5) Tahap kelima adalah penulisan laporan hasil penelitian. Tahap ini dilakukan dokumentasi proses dari tahap awal sampai tahap akhir dalam bentuk tulisan ilmiah.

Pada tahap analisis kebutuhan dan pengumpuan data, spesifikasi sistem yang digunakan. Perangkat lunak yang digunakan untuk mendukung aplikasi ini meliput i PHP, MySQL, Framework Laravel, Marketplace Shopee Software version: 2.54.3, Selenium, Chromedriver. Perangkat Keras Aplikasi dibangun pada komputer dengan spesifikasi minimal perangkat keras berupa prosesor komputer Core Amd A9 1,8GHz, 8 GB RAM, 2 GB VGA serta Hard Disk 500 GB. Pembuatan suatu aplikasi tidak lepas dari kepentingan dan kebutuhan pengguna.

Use case diagram berguna untuk mendeskripsikan tindakan sistem dari sudut pandang pengguna, sebagai deskripsi fungsional dari sebuah sistem dan proses utamanya, serta menjelaskan siapa saja yang terlibat sebagai aktor dalam menggunakan sistem berikut interaksinya [13].

(4)

Gambar 2. Use Case Diagram

Pada Gambar 2 menjelaskan use case diagram aplikasi management marketplace yang dibuat. Terdapat aktor yaitu penjual yang mempunyai peran di mana dapat melalukan pengaturan data produk mulai dari menghap us, menambahkan, mengubah data produk dan menyamakan data produk dari marketplace yang dimiliki agar sama dengan aplikasi web management market placenya.

Gambar 3. Flowchart Diagram Sink ronisasi Data Produk

(5)

Gambar 3 menjelaskan flowchart diagram aplikasi management marketplace yang dibuat dalam melakukan sebuah proses sinkronisasi data produk dari Laravel yang mengirim request data kepada python yang akan menjalankan proses scraping, python yang sudah melakukan proses scraping akan mengembalikan hasil datanya ke Laravel dan kemudian disimpan kedalam database.

Class diagram menggambarkan struktur objek, deskripsi objek, class package, serta relasinya satu sama lain [14]. Class diagram digambarkan dalam beberapa kelas serta paket yang ada dalam sistem. Class diagram aplikasi scraping ditunjukkan pada Gambar 4.

Gambar 4. Class Diagram

Dalam web scraping terdapat 5 class yang saling berhubungan yaitu class penjual, marketplace, scrape dan edit data. Semua class yang digunakan memilik i hubungan association, artinya class satu dapat mempengaruhi class lainnya.

Gambar 4 menjelaskan class diagram aplikasi web scraping pada marketplace.

Activity diagram menggambarkan aliran aktivitas dalam sistem yang sedang dirancang, bagaimana masing- masing aliran berawal, keputusan yang mungk in terjadi, dan bagaimana mereka berakhir [15].

Pada Gambar 5 menjelaskan proses scrape dari marketplace yang dipilih sampai menghasilkan file data produk yang merupakan hasil pengambilan data dari marketplace. Setelah file data produk diperoleh, penjual dapat melakukan perubahan pada bagian stok produk, selanjutnya data produk dapat diunggah di e- commerce atau marketplace, Gambar 6 merupakan activity diagram untuk proses auto Sinkronisasi.

(6)

Gambar 5. Activity Diagram Melakukan Scrape

Gambar 6. Activity Diagram Melakukan edit Hasil Scrape

Beberapa struktur perancangan sistem untuk diimplementasikan dalam pada database yang akan digunakan

.

Tabel user ini menyimpan informasi mengena i kegagalan dalam menjalankan aplikasi. Struktur tabel Item menyimpan informa s i tentang items hasil dari Scraping. Variants menyimpan informasi tentang banyaknya variant dan nama dari variant yang ada setelah mendapat data dari scraping. Struktur tabel user dapat dilihat di Tabel 1 dan struktur tabel nilai dapat dilihat di Tabel 2.

Tabel 1. Struktur tabel items

Name Type Length

Id Bigint 20

Marcket_account_id Bigint 20

Product_id Varchar 20

Main_sku Varchar 191

Name Varchar 191

(7)

Tabel 2. Struktur Tabel Nilai

Name Type Length

Id Bigint 20

Item_id Bigint 20

Column Int 10

Sku_variant_name Varchar 191

Variant_1 Varchar 191

Variant_2 Varchar 191

Stock Int 10

Berikut merupakan tahap perancangan system untuk diimplementasikan dalam pada View / tampilan user interface yang akan digunakan

.

Gambar 7 merupakan perancangan tampilan utama dari sistem yang dibuat. Nomor 1 header dari sistem.

Pada nomor 4, nomor 5, nomor 6, nomor 7 merupakan view tampilan menu untuk melihat banyaknya marketplace item yang sudah di scraping, nomor 8 merupakan pengisian email dan password akun untuk login ke marketplace, dilanjutkan dengan nomor 9 merupakan button logout yang nantinya digunakan saat akan keluar dari sistem

Gambar 7. Perancangan Tampilan Utama Sistem

.Gambar 8 merupakan tampilan awal yang dirancang untuk menu deskripsi produk. Nomor 1 merupakan header, nomor 9 merupakan tombol Logout, Nomor 10 merupakan tampilan view items hasil scraping. Nomor 11 untuk melakukan syncronisasi data / melakukan menu scraping dan no 12 untuk kembali ke tampila n awal saat berhasil login.

Gambar 8. Tampilan Awal Menu Items yang sudah di scraping

(8)

4.

Hasil dan Pembahasan

Bab ini membahas tentang bagaimana bentuk akhir aplikasi, implementa s i dan pengujian sistem. Gambar 9 merupakan halaman web daftar produk yang dimiliki oleh penjual selaku pengguna pada akun marketplace shopee. Scraping data akan dilakukan pada Gambar 9 pada setiap produk menggunakan perancangan system yang sudah dibuat kemudian disimpan kedalam database untuk dapat diolah kembali.

Gambar 9 Tampilan Halaman Produk Shopee

Gambar 10 merupakan tampilan data hasil melakukan scraping pada marketplace milik penjual. Scraping data akan dilakukan ketika pengguna menekan tombol “Syncron Data”, proses scraping berjalan di belakang layar, setelah beberapa saat, pengguna dapat melakukan reload page agar dapat melihat hasil dari scraping. Pengguna dapat melihat detail dan mengatur data yang sudah di dapatkan hasil Scraping bila menekan tombol “Edit” yang ada pada Gambar 9.

Gambar 10 Tampilan Daftar Produk Hasil Scraping Mark etplace

Gambar 11 merupakan tampilan detail data hasil melakukan scraping marketplace milik penjual serta tempat melakukan edit data. Gambar 11 menampilkan detail dari sebuah produk hasil Scraping marketplace dengan nama

“Speaker Laptop”, dapat dilihat data lain yang didapat seperti deskripsi, stok, dan harga.

(9)

Gambar 11 Tampilan Detail pada Produk Hasil Scraping

Pengguna dapat mengubah data stock yang terlihat pada Gambar 12. Setelah pengguna yakin untuk mengubah jumlah stock, pengguna dapat menekan tombol

“Edit to shopee” untuk melakukan proses scraping yang akan mengirimkan data kembali ke marketplace.

Gambar 12 Tampilan Detail Bagian Mengubah Stok Produk

Gambar 13 merupakan tampilan marketplace produk “Speaker Laptop” yang sudah diubah stocknya dari 5 stock menjadi 3 stock ketika pengguna menekan tombol “Edit to shopee” pada Gambar 12 sehingga dapat menjalankan proses scraping menuju marketplace.

Gambar 13 Tampilan Salah Satu Produk Marketplace Setelah Mengubah Stok

Kode Program 1 Proses Mengubah Data Produk dari Aplikasi ke Mark etplace 1. public function update(Request $request,$id){

2. $items = Item::all();

3. $variants = Variant::all();

4. $accounts = MarketAccount::find($id);

5. $myObj=["action" => "syncron_all","id" => $id,"email" => "$accounts-

>email","password" => "$password",];

6. $json = json_encode($myObj,TRUE);

7. $user_id=Auth::id();

8. $user = User::find($user_id);

9. SyncAllProduct::dispatch($json,$user_id);

10. return redirect()->to('market')->with('success','Syncron in Process');}

Fungsi pada kode program 1 merupakan salah satu fungsi untuk melakuka n update data produk setelah mengirim permintaan Update. Proses update akan

(10)

mengubah data produk yang berada di marketplace menjadi sesuai dengan data milik penjual yang baru diubah.

Kode Program 2 Proses Pengambilan Data Produk dari Marketplace ke Aplikasi 1. class Shopee:

2. def SkuChildGet(data,search):

3. total_variants,product_id,data_detail,data_detail_fail = [],[],[],[]

4. driver.get("https://seller.shopee.co.id/portal/product/"+search) 5. driver.implicitly_wait(50)

6. sku_vars = driver.find_element(By.XPATH, sku_field) 7. sku_products = sku_vars.get_attribute('value')

8. stock_field = “//div[@class="product-detail-panel product-sales- info"]/descendant-or-self::div[@class="shopee-input__inner shopee- input__inner--large"][2]/descendant::input”

9. stocks = WebDriverWait(driver,

10).until(EC.visibility_of_element_located((By.XPATH, price_field))) 10. stock_products = stock.get_attribute('value')

Fungsi tombol kode program 2 merupakan proses pengambilan data produk yang berada dalam sebuah marketplace. Data yang diambil berupa deskripsi dari produk yang ada di marketplace milik penjual. Data yang diambil nantinya akan disimpan kedalam database supaya penjual dapat mengolah datanya. Setelah script phyton dalam melakukan scraping dijalankan, maka return kembaliannya akan dikirim berbentuk JSON.

Gambar 14 Tampilan Target Scraping Bagian Stok Produk

Gambar 15 Tampilan Pemilihan Elemen Target Scraping Bagian Stok Produk

Gambar 14 dan Gambar 15 menampilkan pemilihan elemen pada pada marketplace bagian stok produk. Setelah menentukan elemen yang dibutuhka n (dapat terlihat pada gambar 14 dan gambar 15 pada tulisan yang di blok hijau) , elemen tersebut dapat digunakan sebagai alamat untuk melakukan proses scraping seperti pada kode program 2 baris ke 8.

Pengujian aplikasi dilakukan dengan beberapa teknik pengujian yaitu pengujian alfa dan pengujian beta. Pengujian alfa adalah pengujian yang dilakukan di sisi pengembang yaitu programmer terhadap aplikasi yang dibuat sebelum

(11)

diserahkan kepada pengguna. Pengujian pada tahap ini menggunakan metode blackbox yang merupakan pengujian fungsionalitas tanpa memperhatikan alur eksekusi program melainkan apakah setiap fungsi di aplikasi berjalan dengan semestinya.

Pengujian dilakukan didapatkan hasil jika sistem berjalan tanpa masalah dan sudah sesuai dengan kebutuhan pengguna. Sistem ini membuktikan bahwa menggunakan selenium untuk melakukan scraping data dengan phyton dapat dilakukan serta data tersebut dapat diambil dan disimpan kedalam database.

Tabel 3 Hasil Pengujian Fungsionalitas Sistem

Module yang diuji

Data input / Kondisi Hasil Uji Status

Button Add Merchant Account

Button di Klik Tidak ada Inputan

Add Berhasil

notification gagal

Valid Valid Button

Syncron from

Marketplace

Button di klik

Button tidak di klik

Keluar hasil dan data masuk database sesuai nama

Hasil tidak keluar

Valid

Valid

Menu Items Klick menu items

Menu items tidak di klik

Berpindah halaman ke tampilan items

Tidak berpindah halaman

Valid

Valid

Button syncron

Button di klik

Button tidak di klik

Mengambil semua

data pada

marketplace

Tidak ada data tersimpan

Valid

Valid Button edit

pada menu Items List

Button di klik

Button tidak di klik

Berpindah halaman ke menu edit Item List

Hasil tidak keluar

Valid

Valid

Pengujian kedua dilakukan kepada 10 para penjual yang memiliki akun marketplace Shopee, wawancara dilakukan setelah mencoba web application scraping. Beberapa pertanyaan yang diajukan dalam wawancara yang dilakukan yaitu 1. “Apakah setuju aplikasi yang dibuat dapat membuat pengguna menjadi lebih cepat dalam melakukan pengolahan data pada marketplace yang dimilik i? ” didapatkan hasil 7 dari 10 menjawab setuju, 2. “Apakah setuju bila aplikasi dikembangkan lagi dalam pengambilan data lain seperti jenis, variasi dan lainnya? ”

(12)

didapatkan hasil 8 dari 10 menjawab setuju, 3. “Apakah setuju bila aplikasi dikembangkan dalam pengambilan data pada marketplace yang lain?” didapatkan hasil 8 dari 10 menjawab setuju. Pengujian dilakukan bertujuan untuk mengeta hui seberapa membantunya sebuah aplikasi yang dibuat untuk mengolah data produk.

Dalam wawancara dapat disimpulkan dari beberapa pendapat setelah mencoba aplikasi yaitu aplikasi yang digunakan dapat membantu dalam melakukan pengolahan data menjadi lebih cepat, aplikasi perlu dikembangkan dalam pengambilan data lain dan pengambilan data dari marketplace lain.

5.

Simpulan

Dengan adanya permasalahan dalam banyaknya data produk yang harus diolah sehingga dapat menghabiskan waktu yang tidak sedikit dalam mengolah data ke sebuah marketplace, aplikasi web scraping yang dibuat dengan menggunaka n selenium, phyton dan framework Laravel untuk mengambil data data produk untuk mengubah stok produk sesuai keinginan penjual dan memperbaharui kembali pada marketplace yang dimiliki penjual, telah diuji keberhasilannya dalam mempermudah penjual dalam mengolah data produk yang dimiliki.

Dalam pengembangan maupun penelitian selanjutnya, ada beberapa saran yang dapat dijadikan pertimbangan yaitu media pengambilan data produk ini dapat dikembangkan pada marketplace yang berbeda seperti Tokopedia, Blibli dan marketplace yang lain.

Saran lain dalam pengembangan selanjutnya yaitu penambahan jenis pengambilan data produk yang lain. Tidak hanya mengolah data produk pada bagian stok pada update namun dapat juga terjadi pada bagian deskripsi yang lain seperti nama produk, harga produk.

Referensi

Dokumen terkait

Ada 15 jenis tumbuhan mangrove di HLAK dan kelompok monyet ekor panjang hanya memanfaatkan satu pohon Rhizophora apiculata untuk tidur, dengan ketinggian 16 m

 Pemain yang ketahuan pertama adalah calon sebagai penjaga pada permainan selanjutnya, kalau dalam permainan tersebut tidak kebentengan (benteng atau pos jaga

4< ◆ ◆ Kagcbkbtj ugtuh Kagcbkbtj ugtuh kagcjlagtjejhbsj lbg kagcjlagtjejhbsj lbg karukushbg kbsbibo karukushbg kbsbibo tagtbgc fdyah 0 ljkagsj tagtbgc fdyah 0 ljkagsj ◆

Pembelajaran Tematik mampu membantu siswa dalam mengembangkan Kompetensi Dasar (KD) dari beberapa mata pelajaran yang memiliki tema yang sama serta dapat.. mengaitkan materi

bahwa dengan telah dikeluarkannya Peraturan Pemerintah Nomor 21 Tahun 2007 tentang Perubahan Ketiga Atas Peraturan Pemerintah Nomor 24 Tahun 2004 tentang Kedudukan Protokoler

disampaikan guru, dan diskusi, siswa dapat mempraktikkan gerak spesifik menahan (menggunakan kaki bagian dalam, dan kaki bagian luar) pada permainan sepak bola

Hal ini dapat terjadi melalui dua mekanisme yaitu diawali dengan terjadinya hipertrofi ventrikel kiri yang menyebabkan kepayahan otot jantung dalam memompa, maupun

Pada tahap perencanaan tindakan dimulai dengan mengidentifikasi masalah yang diteliti berdasarkan observasi lapangan. Kegiatan pada tahap ini dimulai dengan melakukan