RANCANG BANGUN APLIKASI WEB CRAWLING UNTUK
MENCARI HARGA BARANG TERMURAH DARI BERBAGAI
E-MARKETPLACE (STUDI KASUS: TOKOPEDIA,
BUKALAPAK, SHOPEE)
Skripsi
Diajukan untuk Memenuhi Persyaratan Memperoleh Gelar Sarjana Komputer (S.Kom.)
Disusun oleh FARHAN RIDHO
1113093000076
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
RANCANG BANGUN APLIKASI WEB CRAWLING UNTUK
MENCARI HARGA BARANG TERMURAH DARI BERBAGAI
E-MARKETPLACE (STUDI KASUS: TOKOPEDIA,
BUKALAPAK, SHOPEE)
Skripsi
Diajukan untuk Memenuhi Persyaratan Memperoleh Gelar Sarjana Komputer (S.Kom.)
Disusun oleh FARHAN RIDHO
1113093000076
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
i
RANCANG BANGUN APLIKASI WEB CRAWLING UNTUK
MENCARI HARGA BARANG TERMURAH DARI BERBAGAI
E-MARKETPLACE (STUDI KASUS: TOKOPEDIA,
BUKALAPAK, SHOPEE)
Skripsi
Diajukan untuk Memenuhi Persyaratan Memperoleh Gelar Sarjana Komputer (S.Kom.)
Disusun oleh FARHAN RIDHO
1113093000076
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
iv
LEMBAR PERNYATAAN KEASLIAN
Yang bertandatangan di bawah ini:
Nama: Farhan Ridho
NIM: 1113093000076
Dengan ini menyatakan bahwa skripsi yang berjudul RANCANG BANGUN APLIKASI WEB CRAWLING UNTUK MENCARI HARGA BARANG TERMURAH DARI BERBAGAI E-MARKETPLACE (STUDI KASUS: TOKOPEDIA, BUKALAPAK, SHOPEE) adalah benar merupakan karya saya sendiri dan tidak melakukan tindakan plagiat dalam penyusunannya. Adapun kutipan yang ada dalam penyusunan kayra ini telah saya cantumkan sumber kutipannya dalam skripsi. Saya bersedia melakukan proses yang semestinya sesuai dengan peraturan perundangan yang berlaku jika ternyata skripsi ini sebagian atau keseluruhan merupakan plagiat dari karya orang lain.
Demikian pernyataan ini dibuat untuk digunakan seperlunya.
Jakarta, 20 Juli 2020
Farhan Ridho
v
ABSTRAK
Farhan Ridho – 1113093000076, RANCANG BANGUN APLIKASI WEB
CRAWLING UNTUK MENCARI HARGA BARANG TERMURAH DARI
BERBAGAI E-MARKETPLACE (STUDI KASUS: TOKOPEDIA,
BUKALAPAK, SHOPEE) dibawah bimbingan Bapak Dr. Syopiansyah Jaya
Putra, Ir., M.SIS. dan Ibu Nida'ul Hasanati, S.T., MMSI.
Web crawling adalah sebuah engine untuk menelusuri halaman website yang
memungkinkan seseorang untuk mendapatkan data yang dia inginkan pada suatu
website tertentu, salah satunya adalah harga barang di e-marketplace. Permasalahan
yang terjadi adalah harga barang yang tidak akurat (information), data barang yang tidak lengkap (information) dan diperlukan biaya mahal bagi penjual untuk mendaftarkan barangnya (economy). Tujuan dari penelitian ini adalah membuat sebuah website yang dapat melakukan pencarian barang dengan harga yang akurat, data barang yang lengkap dan tanpa ada biaya yang dibebankan ke penjual. Metode pengumpulan data dilakukan dengan teknik web crawling karena tidak ada akses ke database masing-masing ecommerce. Metode pengembangan sistem yang dilakukan menggunakan Rapid Application Development (RAD). Perancangan ini menggunakan bahasa pemodelan Unified Modelling Languange (UML) dan bahasa pemrograman Java, HTML dan PHP serta database menggunakan MySQL. Hasil penelitian ini adalah sebuah engine web crawling yang dapat mengumpulkan data barang-barang di Tokopedia, Bukalapak dan Shopee serta sebuah aplikasi search
engine untuk mencari daftar harga barang termurah dari sumber data yang telah
dikumpulkan. Dengan demikian aplikasi yang dibuat dapat memudahkan masyarakat dalam melakukan pencarian barang, memperluas pasar bagi para penjual serta meningkatkan transaksi website Tokopedia, Bukalapak dan Shopee.
Kata Kunci: Web crawling, search engine, e-marketplace, rapid application
development (RAD), unified modelling languange (UML).
vi
KATA PENGANTAR
Assalamualaikum Wr. Wb.
Alhamdulillahirobbil’alamin, laporan skripsi sudah penulis selesaikan. Ini
semua berkat Allah yang Maha Kuasa atas karunia dan rahmat-Nya. Sholawat dan salam senantiasa tercurah kepada baginda Nabi Besar Muhammad shollallahu
‘alaihi wasallam, berserta keluarga, para sahabat serta para pengikutnya.
Penyusunan laporan skripsi ini bertujuan sebagai syarat pengambilan mata kuliah skripsi pada program studi sistem informasi, fakultas sains dan teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta. Laporan ini berjudul “RANCANG BANGUN APLIKASI WEB CRAWLING UNTUK MENCARI HARGA BARANG TERMURAH DARI BERBAGAI E-MARKETPLACE (STUDI KASUS: TOKOPEDIA, BUKALAPAK, SHOPEE)”.
Penulis menyadari bahwa terlaksananya penulisan Skripsi ini dapat diselesaikan berkat dukungan dan bantuan dari berbagai pihak. Pada kesempatan ini penulis menyampaikan rasa terima kasih yang sebesar-besarnya kepada:
Bapak A’ang Subiyakto, Ph.D sebagai Ketua Prodi Sistem Informasi yang selalu memberikan nasihat-nasihat dengan gaya uniknya sudah seperti kawan, tapi juga sosok Bapak bagi penulis.
Bapak Dr. Syopiansyah Jaya Putra, Ir., M.SIS. dan Ibu Nida'ul Hasanati, S.T., MMSI. sebagai dosen pembimbing skripsi yang senantiasa sabar dan selalu meluangkan waktunya untuk keperluan bimbingan, juga pesan-pesan moril yang telah penulis ambil pelajaran.
Bapak Fahmi dan Ibu Apuyah sebagai orangtua penulis yang tak pernah henti memanjatkan doa untuk kesuksesan dan kelancaran penulis.
Betari Tyas Maharani yang selalu memberikan semangat dan dukungan moril sehingga penulis dapat optimis dalam menyesaikan tuntutan perkuliahan.
Teman-teman yang selalu memberi nasehat ketika penulis kehilangan arah, Rizki N. Allshal, Teguh Dharmawan, Gilang W. Sapurta, Gema Sanjaya, Mahendra B. Prayogi, Muhammad Iksal, Maulana M. Iqbal, Mutiara A. Rizky, Achmad F. Sobri, Aditya T. Septoaji.
Sahabat-sahabat penulis dalam perkuliahan, Aditya T. Septoaji, Teguh Dharmawan, Maulana M. Iqbal, Aldino Kurniawan, M. Rayhan Firdaus, Alvin H.,
vii
Gilang W. Saputra, Muhammad Iksal, Gema Sanjaya, Achmad F. Sobri, Muhammad R. Hamzah, Muhammad R. Putra.
Teman-teman Sistem Informasi angkatan 2013.
Seluruh pihak-pihak yang banyak berkontribusi dan membantu dalam proses penyelesaian skripsi ini yang belum dapat penulis sebut satu per satu.
Akhir kata, semoga laporan skripsi ini dapat bermanfaat dan mohon maklum bila ada kekurangan dalam penulisan dan penggunaaan kata yang kurang tepat.
Wassalamualaikum Wr. Wb.
Jakarta, 20 Juli 2020
Farhan Ridho 1113093000076
viii
DAFTAR ISI
LEMBAR PERSETUJUAN....……….. i LEMBAR PENGESAHAN....……….. ii ABSTRAK....……….... iii KATA PENGANTAR....………...……... iv DAFTAR ISI....………. vi DAFTAR GAMBAR....……….... ix DAFTAR TABEL....………...…………. xi BAB I PENDAHULUAN....……….. 1 1.1. Latar Belakang....………...……… 1 1.2. Identifikasi Masalah....………...…. 4 1.3. Rumusan Masalah....………... 4 1.4. Tujuan Penelitian....………...……. 4 1.4.1. Tujuan umum....……….. 5 1.4.2. Tujuan khusus....………. 5 1.5. Manfaat Penelitian....……….. 5 1.5.1. Bagi Penulis....……….... 5 1.5.2. Bagi Universitas....……….. 6 1.5.3. Bagi Masyarakat....………. 6 1.6. Batasan Masalah....………. 6 1.7. Metodologi Penelitian....………. 71.7.1. Metode Pengumpulan Data....………. 7
1.7.2. Metode Pengembangan Sistem....………... 8
1.8. Sistematika Penulisan....………. 9
BAB II LANDASAN TEORI....………. 10
2.1. Konsep Dasar Rancang Bangun....……… 10
2.2. Web Crawling....……….... 10
2.2.1. Fungsi Web Crawling....……… 11
2.2.2. Cara Kerja Web Crawling....………. 12
2.2.3. Tantangan Dalam Melakukan Web Crawling....………... 13
2.2.4. Perbedaan Web Crawling dengan Web Scraping....……….. 14
ix
2.2.6. Software Pendukung Web Crawling....………. 16
2.3. Search Engine...……….... 17
2.4. E-Marketplace.………. 18
2.4.1. Perbedaan E-Marketplace dan E-Commerce....………... 18
2.4.2. Jenis-Jenis E-Marketplace.………... 19
2.4.3. Manfaat E-Marketplace……...……….. 20
2.4.4. Marketplace Terbesar di Indonesia……...………. 22
2.5. Rapid Application Development (RAD)....………... 24
2.5.1. Tahapan dalam Rapid Application Development....……….. 25
2.5.2. Kelebihan dan Kekurangan RAD....……….. 26
2.6. Unified Modeling Language (UML)....………. 27
2.6.1. Use Case Diagram...………. 28
2.6.2. Activity Diagram....………... 29 2.6.3. Class Diagram...………... 30 2.6.4. Sequence Diagram....……… 30 2.7. Java....………... 31 2.8. PHP....………...….... 32 2.9. MySQL....……….. 33 2.10. Literatur Sejenis....……… 34
BAB III METODOLOGI PENELITIAN....………. 38
3.1. Metode Pengumpulan Data....………... 38
3.1.1. Observasi....………... 38
3.1.2. Studi Literatur....………... 38
3.1.3. Wawancara....……… 39
3.2. Metode Pengembangan Sistem....………. 40
3.2.1. Requirement Planning....………... 41
3.2.2. Workshop Design....……….. 41
3.2.3. Implementation....………. 42
3.3. Kerangka Penelitian....……….. 43
BAB IV HASIL DAN PEMBAHASAN....………. 45
4.1. Requirement Planning....………... 45
x
4.1.2. Analisa Sistem Berjalan....……… 48
4.1.3. Identifikasi Masalah....……….. 48 4.1.4. Sistem Usulan....……… 49 4.2. Workshop Design....……….. 52 4.2.1. Perancangan Sistem....……….. 52 4.2.2. Perancangan Database...………... 62 4.2.3. Perancangan Antarmuka....………... 63 4.3. Implementasi....………. 64 4.3.1. Pseudocode...……… 65 4.3.2. Coding....………... 65 4.3.3. Pengujian Sistem....………... 67 4.4. Pembahasan Hasil....………. 68 4.4.1. Implikasi....……… 69
4.4.2. Perbandingan Hasil Penelitian dari Penelitian Sebelumnya……. 69
4.4.3. Limitation of Study....………... 70
BAB V PENUTUP....………... 71
5.1. Kesimpulan....……….... 71
5.2. Saran....………... 72
xi
DAFTAR GAMBAR
Gambar 1.1 Siklus RAD (Kendall, 2010)....………... 8
Gambar 2.1 Use Case Diagram (Kendall & Kendall, 2011)....………. 29
Gambar 2.2 Activity Diagram (Kendall & Kendall, 2011)....………... 29
Gambar 2.3 Class Diagram (Kendall & Kendall, 2011)....………... 30
Gambar 2.4 Sequence Diagram (Kendall & Kendall, 2011)...………. 31
Gambar 3.1 Kerangka Penelitian....……….. 44
Gambar 4.1 Alur Sistem Termurah.us...………... 45
Gambar 4.2 Operator Like Pada MySQL....………. 46
Gambar 4.3 Penggunaan Wildcard di Akhir Kata Kunci……….. 47
Gambar 4.4 Penggunaan Wildcard di Tengah Kata Kunci………... 47
Gambar 4.5 Penggunaan Wildcard di Awal Kata Kunci……….. 47
Gambar 4.6 Hasil Pencarian Termurah.us....……… 48
Gambar 4.7 Alur Sistem Usulan....………... 49
Gambar 4.8 Alur Engine Web Crawling....………... 50
Gambar 4.9 Detail Engine Web Crawling....……… 50
Gambar 4.10 Alur Aplikasi Search Engine....………... 51
Gambar 4.11 Detail Aplikasi Search Engine....……… 51
Gambar 4.12 Use Case Diagram Web Crawling....……….. 53
Gambar 4.13 Use Case Diagram Search Engine....………... 53
Gambar 4.14 Activity Diagram Jalankan Engine....………. 57
Gambar 4.15 Activity Diagram Matikan Engine....……….. 58
Gambar 4.16 Activity Diagram Cari Barang....……… 58
Gambar 4.17 Activity Diagram Pilih Barang....………... 59
Gambar 4.18 Sequence Diagram Jalankan Engine....………... 60
Gambar 4.19 Sequence Diagram Matikan Engine……….... 60
Gambar 4.20 Sequence Diagram Cari Barang....……….. 61
Gambar 4.21 Sequence Diagram Pilih Barang....………. 61
Gambar 4.22 Class Diagram Web Crawling....………. 62
Gambar 4.23 Class Diagram Web Application....………. 62
xii
Gambar 4.25 Tampilan Interface....……….. 64
Gambar 4.26 Tampilan di Website Asli....……….... 64
Gambar 4.27 Perbandingan Kecepatan Sistem.……….... 67
Gambar 4.28 Hasil Pencarian Sistem Berjalan………... 68
xiii
DAFTAR TABEL
Tabel 2.1 Literature Review....……….. 34 Tabel 4.1 Aktor Web Crawling....………. 52 Tabel 4.2 Aktor Search Engine....………. 53 Tabel 4.3 Use Case Scenario Jalankan Engine....………. 54 Tabel 4.4 Use Case Scenario Matikan Engine....……….. 55 Tabel 4.5 Use Case Scenario Cari Barang....……… 55 Tabel 4.6 Use Case Scenario Pilih Barang....………... 56 Tabel 4.7 Text Case Pencarian Barang....………. 67
1
BAB I
PENDAHULUAN
Bab ini merupakan pendahuluan yang berisi tentang latar belakang,
identifikasi masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat
penelitian, metodologi penelitian dan sistematika penulisan.
1.1. Latar Belakang
Web crawling merupakan sebuah engine untuk menelusuri halaman website yang memungkinkan seseorang untuk mendapatkan data yang dia inginkan pada suatu website tertentu, salah satunya adalah harga barang dari berbagai e-commerce (Najork, 2009).
Saat ini sudah ada website yang menerapkan web crawling untuk
mencari harga barang termurah dari berbagai e-marketplace yaitu
Termurah.us. Termurah menyediakan fitur pembanding harga bagi mereka
yang ingin mendapatkan harga termurah dari belanja online. Termurah
bekerja dengan melakukan web crawling ke 11 toko online di Indonesia dan
dan mengolah data hasil crawling tersebut agar dapat ditampilkan ke user.
Pada penelitian sebelumnya teknik web crawling telah berhasil
mengumpulkan data dari berbagai macam sumber diantaranya (Aswin,
2013), (Abdillah, 2012), (Rohadi et al, 2017), (Afifa, 2018), (Muslimah,
2015), (Jesse et al, 2015), (Prasetyo, 2013) dan (Mike, 2001). Terdapat
berbagai optimasi untuk membuat web crawling menjadi lebih baik seperti
(Gabriella, 2018), (Maradenia, 2018), (Abianti, 2018), (Rinda, 2018),
(Mahdi et al, 2011), (Jianguo, 2008), (Castillo, 2004), (Xianghua et al,
2
crawling (Udapure, 2014), (Dhenakaran, 2011), (Pavalam et al, 2011) dan
(Pavalam, 2012).
Reza P.K. dan Augusty T.F. (2016) dalam penelitiannya mengenai
faktor-faktor yang mempengaruhi keputusan pembelian, mendapatkan
kesimpulan bahwa semakin kompetitif harga, maka semakin kuat keputusan
pembelian konsumen. Hasil penelitian ini juga sejalan dengan penelitian M.
Rhendria Dinawan dan Singgih Priatmaji Sasongko yang menunjukkan
adanya hubungan positif antara harga kompetitif dengan keputusan
pembelian (Dinawan, 2010 dan Sasongko, 2013).
Dalam Annual Report 2018 perusahaan eIQ mencoba
menggambarkan kondisi terkini dari lanskap e-marketplace di Indonesia.
Dari hasil surveinya, didapatkan hasil bahwa harga yang paling murah tidak
berada di dalam satu marketplace melainkan menyebar di beberapa
e-marketplace yang berbeda (Annual Report eIQ, 2018).
Saat ini beberapa perusahaan besar telah menerapkan teknik web
crawling dalam pengumpulan data seperti Google, Yahoo, Bing dan Ask.
Sebagai contoh, saat ini Google telah mengumpulkan data dalam volume
yang sangat besar dengan cara melakukan tehnik web crawling ke seluruh
website yang ada di dunia. Dengan menggunakan teknik web crawling
tersebut maka Google dapat membuat website search engine-nya
(Pakarbigdata, 2018).
Saat ini website Telunjuk.com, PriceArea.com dan PricePanda.com
yang telah memiliki fitur pencarian barang online dengan sumber dari
3
Namun harga yang ditampilkan pada website tersebut tidak sama dengan
harga asli karena database yang digunakan tidak selalu ter-update.
Google sendiri sudah merilis Google Shopping dimana pengguna
dapat melakukan pencarian barang online dari berbagai e-marketplace
Namun untuk dapat menampilkan barang di Google Shopping, penjual
individu harus mendaftarkan barangnya terlebih dahulu dan membayar
sejumlah uang (Samat, 2012).
Disamping itu, dikarenakan pencarian Google Shopping hanya
bersumber dari para penjual individu yang sudah mendaftarkan barangnya,
maka hasil yang keluar dari pencarian Google Shopping pun menjadi tidak
lengkap. Hal ini membuat pencarian barang menjadi tidak akurat (Samat,
2012).
Diperlukan sebuah website yang dapat melakukan pencarian barang
dengan data barang yang lengkap, harga yang akurat dan tanpa ada biaya
yang dibebankan ke penjual. Hal ini perlu dilakukan agar memudahkan
masyarakat dalam melakukan pencarian barang, memperluas pasar bagi
para penjual serta meningkatkan transaksi e-marketplace khususnya pada
Tokopedia, Bukalapak dan Shopee.
Berdasarkan latar belakang yang telah dijelaskan diatas, maka
penulis melakukan penelitian dengan topik rancang bangun aplikasi yang
berjudul "Rancang Bangun Aplikasi Web Crawling Untuk Mencari
Harga Barang Termurah Dari Berbagai E-marketplace (Studi Kasus: Tokopedia, Bukalapak, Shopee).”
4
1.2. Identifikasi Masalah
Berdasarkan uraian latar belakang diatas, maka dapat diidentifikasi
permasalahan sebagai berikut:
1. Informasi barang yang tidak lengkap karena hanya penjual yang
daftar yang muncul di pencarian.
2. Informasi harga yang tidak akurat antara website pencari barang
yang ada dengan website aslinya karena database tidak terupdate.
3. Dibutuhkan biaya mahal bagi penjual untuk mendaftarkan semua
barangnya di mesin pencari.
1.3. Rumusan Masalah
Berdasarkan identifikasi masalah tersebut, rumusan masalah yang
akan penulis bahas adalah bagaimana membuat aplikasi yang dapat
menyatukan pencarian barang dari berbagai website e-marketplace dengan
data barang yang lengkap, harga barang yang akurat dan tanpa ada biaya
yang dibebankan ke penjual.
1.4. Tujuan Penelitian
Adapun tujuan dari penelitian ini dibedakan menjadi 2 tujuan yaitu,
tujuan umum dan tujuan khusus:
1.4.1. Tujuan umum
Tujuan umum yang ingin dicapai dalam penelitian ini adalah
membuat sebuah engine web crawling untuk mengumpulkan data
barang-barang di Tokopedia, Bukalapak dan Shopee. Lalu membuat
sebuah web application yang dapat mencari daftar harga barang
5
1.4.2. Tujuan khusus
Tujuan khusus yang ingin dicapai dalam penelitian ini yaitu:
1. Membuat aplikasi yang dapat menampilkan data barang
yang lengkap.
2. Membuat aplikasi yang dapat menyajikan informasi secara
benar dan akurat.
3. Membuat aplikasi yang dapat digunakan tanpa
mengeluarkan biaya bagi penjual.
1.5. Manfaat Penelitian
Adapun manfaat yang dihasilkan dari penelitian ini sebagai berikut:
1.5.1. Bagi penulis
1. Penerapan materi akademis yang diperoleh selama
perkuliahan.
2. Pemenuhan salah satu syarat kelulusan strata satu (S1)
Sistem Informasi Fakultas Sains dan Teknologi UIN Syarif
Hidayatullah.
3. Belajar untuk menganalisis dan merancang sebuah aplikasi
dengan melakukan teknik web crawling dari beberapa
e-commerce yang tersedia.
1.5.2. Bagi universitas
1. Mengetahui kemampuan mahasiswa dalam menerapkan
ilmu-ilmu yang bersifat teori dan praktik terhadap materi
yang telah diberikan.
6
menghadapi dunia kerja dari hasil yang diperoleh selama
pembelajaran pada masa kuliah.
3. Menjadi salah satu referensi serta landasan agar dapat
dikembangkan lagi untuk peneliti selanjutnya.
1.5.3. Bagi masyarakat
1. Sebagai wadah yang dapat digunakan oleh masyarakat untuk
memudahkan melakukan pencarian barang di toko online.
2. Sebagai wadah yang dapat digunakan oleh pedagang online
untuk membantu memasarkan barangnya ke lingkup yang
lebih luas tidak hanya satu e-commerce.
3. Sebagai salah satu penelitian yang dapat menginspirasi
masyarakat untuk membangun aplikasi-aplikasi sejenis
1.6. Batasan Masalah
Dari permasalahan yang telah diungkapkan sebelumnya,
pembahasan tersebut hanya terbatas pada:
1. Aplikasi yang dibuat mencakup aplikasi web crawling dan aplikasi
search engine dari harga termurah dalam bentuk website tanpa
mencakup transaksi pembayaran barang.
2. Website yang menjadi sumber data dalam penelitian ini hanya
terbatas pada Tokopedia, Bukalapak dan Shopee.
3. User yang dapat menggunakan aplikasi ini dapat siapa saja selama
aplikasi masih berjalan.
4. Penjual tidak mendapatkan informasi bahwa pembelinya berasal dari
7
5. Engine crawler akan dijalankan secara periodik setiap 24 jam
sehingga margin error pada engine crawler adalah H-24 jam.
1.7. Metodologi Penelitian
Metodologi penelitian dibagi menjadi dua yaitu metodologi
pengumpulan data dan metodologi analisis data. Berikut penjabaran kedua
metodologi tersebut:
1.7.1. Metode Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penelitian
ini antara lain wawancara, observasi dan studi literatur. Observasi
atau pengamatan merupakan metode pengumpulan data dimana
peneliti dan kolaboratornya mencatat informasi dan kondisi
sebagaimana yang mereka saksikan selama penelitian pembuatan
aplikasi web crawler dan search engine daftar harga termurah. Studi
literatur atau studi kepustakaan adalah teknik survei terhadap data
yang telah ada dengan menggali teori-teori yang telah berkembang
dalam bidang ilmu yang berkepentingan, mencari metode-metode
serta teknik penelitian, baik dalam mengumpulkan data atau dalam
menganalisis data, yang telah pernah digunakan oleh
peneliti-peneliti terdahulu.
1.7.2. Metode Pengembangan Sistem
Metode pengembangan sistem yang penulis gunakan dalam
penelitian ini yaitu metode pengembangan sistem RAD (Rapid
Application Development) dengan menggunakan tools UML
8
terbagi menjadi tiga tahap yaitu requirements planning, design
workshop dan implementation (Kendall, 2010). Tahapan-tahapan
tersebut dapat digambarkan sebagai berikut:
Gambar 1.1 Siklus RAD (Kendall, 2010)
Sedangkan menurut Bambang Hariyanto, Unified Modeling
Language (UML) adalah bahasa grafis untuk mendokumentasi,
menspesifikasikan dan membangun sistem perangkat lunak
(Hariyanto, 2004). Beberapa tools yang disediakan di dalam UML
antara lain:
1. Use Case Diagram
2. Activity Diagram
3. Sequence Diagram
4. Class Diagram
1.8. Sistematika Penulisan
Sistematika penulisan dan penyusunan tugas akhir ini dengan
urutan sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisikan Latar Belakang, Identifikasi Masalah, Rumusan Masalah, Batasan Masalah, Tujuan Penelitian, Manfaat Penelitian, Metodologi Penelitian dan Sistematika Penulisan.
9
BAB II LANDASAN TEORI
Bab ini menguraikan konsep dan teori dasar terkait Rancang Bangun, Website, Database, Metode Pengembangan Sistem, UML, Pengujian Sistem, serta tools yang digunakan untuk pembuatan aplikasi.
BAB III METODOLOGI PENELITIAN
Bab ini menguraikan penjelasan Metode Pengumpulan Data dan Metode Pengembangan Sistem RAD yang digunakan untuk membuat aplikasi ini.
BAB IV ANALISIS DAN PERANCANGAN
Bab ini akan membahas Perancangan dan Desain Aplikasi yang penulis buat dengan studi kasus Bukalapak, Tokopedia dan Shopee.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran terhadap rancang bangun aplikasi yang telah dibuat.
10
BAB II
LANDASAN TEORI
Bab ini menjelaskan tentang teori-teori yang berkaitan dengan pelaksanaan penelitian seperti teori konsep dasar sistem informasi, teori konsep dasar rancang bangun, teori konsep dasar web crawling dan teori-teori lain yang terkait.
2.1.
Konsep Dasar Rancang BangunRancang merupakan serangkaian prosedur untuk menerjemahkan hasil analisis dari sebuah sistem ke dalam bahasa pemrograman untuk mendeskripsikan dengan detail bagaimana komponen-komponen sistem diimplementasikan (Pressman, 2010). Sedangkan bangun atau pembangunan sistem adalah kegiatan menciptakan sistem baru maupun mengganti atau memperbaiki sistem yang telah ada baik secara keseluruhan maupun sebagian (Pressman, 2010). Bangun sistem adalah membangun sistem informasi dan komponen yang didasarkan pada spesifikasi desain (Whitten & Bentley, 2007).
Sehingga dapat disimpulkan pengertian dari rancang bangun sistem adalah serangkaian proses yang saling terintegrasi dengan baik untuk menerjemahkan hasil analisis ke dalam bahasa pemrograman, dan mengimplementasikan komponen-komponen sistem yang diperlukan dalam rangka penciptaan maupun pengembangan sebuah sistem baik secara keseluruhan maupun sebagian.
2.2.
Web CrawlingWeb crawling adalah aktivitas penelusuran halaman-halaman web yang dilakukan oleh program komputer yang disebut crawler. Crawler akan
11
melihat suatu halaman web serta menelusuri semua link yang didapatkan dari halaman tersebut. (Najork: 2009.) Semua hasil yang ditelusuri oleh web crawling akan disimpan pada suatu tempat penyimpanan yang disebut dengan repository.
Web crawler atau yang dikenal juga dengan istilah web spider bertugas untuk mengumpulkan semua informasi yang ada di dalam halaman web. Web crawler bekerja secara otomatis dengan cara memberikan sejumlah alamat website untuk dikunjungi serta menyimpan semua informasi yang terkandung didalamnya. Setiap kali web crawler mengunjungi sebuah website, maka dia akan mendata semua link yang ada dihalaman yang dikunjunginya itu untuk kemudian di kunjungi lagi satu persatu (Vijjam Wijaya, 2016).
2.2.1. Fungsi Web Crawling
Web crawler biasa digunakan untuk membuat salinan secara sebagian atau keseluruhan halaman web yang telah dikunjunginya agar dapat diproses lebih lanjut oleh sistem pengindeksan. Crawler dapat juga digunakan untuk proses pemeliharaan sebuah website, seperti memvalidasi kode html sebuah web, dan crawler juga digunakan untuk memperoleh data yang khusus seperti mengumpulkan alamat e-mail.
Hasil dari web crawling adalah halaman yang diperiksa semua atribut-atributnya, mulai dari kata-kata seperti judul, header, dan meta tag. Setelah penelusuran halaman web selesai dilakukan, maka informasi yang didapatkan berguna seperti contoh search
12
engine, dimana user akan memasukkan input yang ingin dicari oleh crawler, lalu akan mendapatkan list halaman yang paling berhubungan dengan input-an Bentuk dari hasil pencarian inputan adalah daftar halaman web yang paling sesuai dengan pertanyaan beserta suatu ringkasan singkat yang terdapat judul dokumen dan sebagian dari teks.
2.2.2. Cara Kerja Web Crawling
Proses kerja dari web crawling terbagi menjadi dua tahap yaitu Queuing and Caching Documents dan Indexing Documents. (Oracle: 2014.) Tahapan yang dilakukan dalam proses Queueing and Caching Documents adalah sebagai berikut:
1) Crawler akan dibentuk untuk melakukan crawling pada URL utama. URL utama akan masuk ke dalam queue sebagai penjelajahan pertama. Setelah terinisialisasi, URL akan menghasilkan seed untuk crawler dapat menjelajahi HTML dari URL
2) Crawler mengambil dokumen dari web, bentuk dari dokumen biasanya adalah file HTML yang berisi teks dan hyperlink atau link yang terdapat pada web. Jika bentuk dokumen bukan HTML, maka crawler akan mengubah dahulu dokumen menjadi HTML sebelum dilakukan proses caching.
3) Crawler mencari link dari hyperlink untuk dapat dimasukkan ke queue baru, jika terjadi duplikasi, dokumen tersebut tidak
13
diambil.
4) Crawler akan memasukkan HTML ke dalam cache.
5) Crawler akan mengulangi langkah no 2 dari URL queue yang baru.
Proses Indexing Documents dilakukan setelah cache penuh, proses ini dilakukan dengan cara memasukkan semua atribut dari dokumen-dokumen ke dalam index. Konten dari dokumen-dokumen yang akan menjadi index dari kumpulan dokumen tersebut.
2.2.3. Tantangan Dalam Melakukan Web Crawling
Dalam melakukan prosesnya, web crawler juga mempunyai beberapa persoalan yang harus mampu di atasinya. Permasalahan tersebut mencakup:
a. Halaman mana yang harus dikunjungi terlebih dahulu. b. Aturan dalam proses mengunjungi kembali sebuah halaman. c. Performansi, mencakup banyaknya halaman yang harus
dikunjungi.
d. Aturan dalam setiap kunjungan agar server yang dikunjungi tidak kelebihan beban.
e. Kegagalan, mencakup tidak tersedianya halaman yang dikunjungi, server down, timeout, maupun jebakan yang sengaja dibuat oleh webmaster.
f. Seberapa jauh kedalaman sebuah website yang akan dikunjungi.
14
crawler untuk mengikuti perkembangan teknologi web, dimana setiap kali teknologi baru muncul, web crawler harus dapat menyesuaikan diri agar dapat mengunjungi halaman web yang menggunakan teknologi baru tersebut.
2.2.4. Perbedaan Web Crawling dengan Web Scraping
Web crawling dan web scraping adalah dua hal yang berbeda. Namun pada prakteknya, keduanya sering digunakan bersamaan
Web scraping, secara singkat, adalah proses mengekstraksi data dari suatu web document. Web scraping dapat dilakukan tanpa harus melakukan web crawling.
Web crawling, secara singkat, adalah proses untuk mencari dan mengambil link dari sebuah URL. Di dalam melakukan web crawling, kita akan melakukan web scraping (untuk mengekstraksi link dari URL tersebut).
2.2.5. Contoh Implementasi Web Crawling
Perusahaan-perusahaan Fortune 500 layaknya Google dan
Facebook telah berhasil memberdayakan Big Data untuk
mengidentifikasi peluang-peluang bisnis, meningkatkan kualitas
dan kuantitas layanan terhadap konsumennya, dan meningkatkan
keuntungan.
Google, sebagai contoh kasus, telah mengumpulkan data
dalam volume sangat besar dengan cara meng-crawl isi web page
15
tersebut, yang dikombinasikan dengan data-data lain yang
didapatkan dari kata-kata penelisikan (queries) yang diajukan via
mesin pencarinya, Google telah berhasil meningkatkan efektifitas
dari Google Adwords, dan dalam waktu yang sama juga
meningkatkan kualitas pengalaman penggunanya saat melakukan
pencarian. Sebagai hasilnya, Google sukses meningkatkan
keuntungan untuk dirinya sendiri dan juga untuk pelanggan
pengguna layanan Adwords, serta mampu meningkatkan kepuasan
para penggunanya (W. M. Wijaya, 2019).
Demikian juga dengan Facebook dan Linkedin, yang telah
berhasil memanfaatkan jumlah besar informasi yang mereka
kumpulkan. Layanan iklan yang disediakan dua perusahaan tersebut
telah menjadi lebih efektif dibanding sebelumnya. Mereka memiliki
begitu banyak data tentang penggunanya sehingga target iklan dan
rekomendasi produk menjadi lebih akurat. Big data juga dapat
digunakan untuk mempresentasikan data secara visual. Hal seperti
visualisasi data akan membuat pengguna atau pelanggan lebih
melekat pada produk hingga membuat produk perusahaan menjadi
lebih sukses.
2.2.6. Software Pendukung Web Crawling
Berikut ini adalah contoh-contoh software yang mendukung
dalam melakukan web crawling (Pratama, 2017):
1) Teleport Pro
16
browsing. Software ini sudah cukup lama populer, terutama
pada saat koneksi internet tidak semudah dan secepat
sekarang. Software ini berbayar dan beralamatkan di
http://www.tenmax.com.
2) HTTrack
Ditulis dengan menggunakan C, seperti juga Teleport Pro,
HTTrack merupakan software yang dapat men-download
konten website menjadi sebuah mirror pada harddisk anda,
agar dapat dilihat secara offline. Yang menarik adalah
software ini free dan dapat di download pada website
resminya di http://www.httrack.com
3) Googlebot
Merupakan web crawler untuk membangun index pencarian
yang digunakan oleh search engine Google. Kalau website
anda ditemukan orang melalui Google, bisa jadi itu
merupakan jasa dari Googlebot. Walau konsekuensinya,
sebagian bandwidth anda akan tersita karena proses crawling
ini.
4) Yahoo!Slurp
Kalau Googlebot adalah web crawler andalan Google, maka
search engine Yahoo mengandalkan Yahoo!Slurp.
Teknologinya dikembangkan oleh Inktomi Corporation yang
diakuisisi oleh Yahoo!.
17
Sedikit berbeda dengan web crawler lainnya di atas, YaCy
dibangun atas prinsip jaringan P2P (peer-to-peer), di develop
dengan menggunakan java, dan didistribusikan pada
beberapa ratus mesin computer (disebut YaCy peers).
Tiap-tiap peer di share dengan prinsip P2P untuk berbagi index,
sehingga tidak memerlukan server central.
2.3.
Search EngineSearch engine adalah aplikasi web yang dirancang untuk mencari
kata kunci spesifik dan kemudian mengelompokkan/mengurutkan halaman
yang ditemukan berdasarkan tingkat relevansi. Search engine merupakan
penyumbang terbesar dari semua traffic di Internet, artinya bahwa
kunjungan ke situs-situs di Internet sebagian besar berasal dari hasil
pencarian pada search engine (Clay & Esparza, 2009).
Tiga tugas dasar sebuah search engine dalam cara kerjanya:
a. Mencari di internet atau memilih bagian-bagian dari internet
menurut kata-kata penting atau kunci.
b. Memberi indeks pada kata-kata yang dicari, dan dimana mereka
menemukannya.
c. Mengijinkan pengguna untuk mencari kata-kata atau kombinasi kata
yang ditemukan pada indeks.
2.4.
E-MarketplaceMarketplace adalah website atau aplikasi yang dibuat untuk
memfasilitasi proses jual beli antara penjual dan pembeli pada satu tempat.
18
tradisional. Pada dasarnya, marketplace menyediakan tempat bagi mereka
yang ingin berjualan di website mereka. Kemudian pihak marketplace akan
memunculkan barang jualan itu ketika ada calon pembeli yang melakukan
pencarian. Jika si calon pembeli memang mau membeli barangnya, mereka
bisa melakukan pembayaran melalui marketplace itu sendiri.
Yang berbeda dengan pasar tradisional adalah seorang penjual tidak
perlu membayar uang sewa untuk mendapat tempat di marketplace. Ini
tentunya menjadi salah satu daya tarik marketplace. Penjual hanya perlu
mendaftarkan diri dan mereka sudah bisa mulai berjualan.
2.4.1. Perbedaan E-Marketplace dan E-Commerce
Selain marketplace, ada jenis bisnis lain yang mirip dengan
marketplace, yaitu e-commerce. Keduanya memang memiliki
kemiripan, sehingga banyak orang yang menganggap bahwa
marketplace dan e-commerce itu sama saja. Pengertian marketplace
sudah dijelaskan diawal, bahwa marketplace hanya menyediakan
tempat saja dan penjual berasal dari berbagai toko. Sedangkan untuk
e-commerce, penjual hanya diisi oleh pemilik e-commerce itu
sendiri, tidak menyediakan tempat untuk toko lain berjualan. Dari
sini sudah terlihat bahwa marketplace memiliki banyak toko
sedangkan e-commerce hanya diisi oleh satu toko saja.
2.4.2. Jenis-Jenis E-Marketplace
Secara garis besar, marketplace dapat dikelompokkan
menjadi tiga jenis, yaitu:
19
Jenis marketplace ini adalah sebuah marketplace
yang memperjual-belikan satu jenis produk yang didapatkan
dari berbagai sumber. Dengan kata lain, produk yang dijual
berasal dari banyak supplier namun jenis produknya harus
satu jenis.
Contoh; situs mobil.123.com, marketplace yang
hanya menjual produk mobil, baik itu mobil bekas maupun
mobil baru.
2) Marketplace Horizontal
Jenis marketplace ini adalah marketplace yang
memperjual-belikan beberapa jenis produk yang masih
berhubungan satu dengan yang lainnya.
Contoh; situs Zalora.co.id, marketplace yang
menjual produk-produk yang berhubungan dengan fashion,
mulai dari baju, celana, sepatu, tas, aksesoris, dan lain-lain.
3) Marketplace Global
Jenis marketplace ini adalah marketplace yang
memperjual-belikan beragam jenis produk yang berbeda dan
didapatkan dari banyak sumber. Barang yang dijual tidak
harus berhubungan satu dengan lainnya.
Contoh; situs Tokopedia.com, marketplace yang
menjual berbagai jenis produk, mulai dari produk rumah
tangga, otomotif, komputer, kesehatan, hobi, dan lain
20
2.4.3. Manfaat E-Marketplace
Ada banyak manfaat yang bisa didapatkan oleh penjual dan
pembeli dari marketplace. Selain kemudahan bertransaksi,
kenyamanan, dan keamanan yang ditawarkan oleh marketplace
membuat industri ini semakin berkembang. Adapun beberapa
manfaat marketplace adalah sebagai berikut:
1) Kemudahan Mendapatkan Pembeli
Marketplace adalah tempat dimana para calon pembeli
melakukan pencarian produk-produk (window shopping)
yang mereka butuhkan. Dengan begitu, marketplace
merupakan tempat dimana para calon pembeli berkerumun
dan siap membeli apapun.
Ini merupakan manfaat yang bisa didapatkan oleh para
pemilik toko di marketplace. Mereka tidak harus bersusah
payah mencari pengunjung, karena pada dasarnya sebuah
marketplace akan selalu ramai dikunjungi oleh banyak orang.
2) Kemudahan Mendapatkan Produk
Saat ini kegiatan belanja online bukan hal baru lagi di
Indonesia karena sudah dilakukan oleh masyarakat Indonesia
dari berbagai kalangan. Dengan adanya marketplace,
masyarakat yang ingin mencari produk tertentu tidak harus
datang ke toko yang lokasinya jauh, tapi cukup dengan
membelinya secara online.
21
Para pemilik toko di marketplace dapat saling
membantu satu sama lainnya, baik dalam hal penjualan
produk maupun kerjasama lainnya. Dengan relasi yang baik
antar pedagang tentunya akan semakin memperkuat kegiatan
bisnis setiap pemilik toko di marketplace.
4) Keamanan dan Kenyamanan Transaksi
Umumnya pihak marketplace mengatur aktivitas
transaksi keuangan di dalam marketplace tersebut. Pihak
marketplace memberikan jaminan keamanan dalam proses
pembayaran sehingga penjual dan pembeli merasa nyaman
dan tidak khawatir terjadi penipuan.
5) Jangkauan yang Luas
Manfaat marketplace yang satu ini dapat dirasakan oleh
penjualan maupun pembeli. Situs marketplace dapat diakses
dari manapun di seluruh pelosok Indonesia. Meskipun
penjual atau pembeli berada di pulau yang berbeda di
Indonesia, proses jual beli online dapat berlangsung secara
daring.
2.4.4. Marketplace Terbesar di Indonesia
Industri marketplace juga bisa dibilang sebagai salah satu
industri besar di Indonesia. Pasti Anda menyadari bahwa dalam
beberapa tahun belakangan kita sudah bisa belanja online dengan
lebih mudah secara online. Berikut ini adalah beberapa marketplace
22 a. Tokopedia
Tokopedia adalah online marketplace terbesar di
Indonesia. Sampai saat ini, Tokopedia sudah mendapatkan
funding sampai dengan series G. Pada November 2018
kemarin, mereka mendapatkan funding dari Softbank Vision
Fund.
b. Bukalapak
Sebagai salah satu online marketplace ternama di
Indonesia, Bukalapak juga menyediakan tempat bagi Anda
yang tertarik untuk mulai berjualan. Bukalapak
mengutamakan kemudahan dan keandalan platformnya agar
pengguna bisa mendapatkan user experience yang terbaik.
c. BliBli
Blibli adalah pusat belanja online dengan beragam
produk dari komputer dan gadget, fashion, kesehatan dan
kecantikan, ibu dan anak, rumah dan dekorasi, otomotif.
Blibli juga memberikan berbagai promosi khusus, tiket dan
voucher untuk pengunjung dan pelanggan.
d. JD.ID
JD.ID adalah sebuah department store online yang
memiliki variasi barang yang cukup luas. Anda bisa
menemukan berbagai kategori produk seperti fashion,
elektronik, dan gadget. JD.ID diluncurkan pada November
23 China JD.com.
e. Shopee Indonesia
Shopee adalah salah satu pemain penting di Indonesia, terutama di negara “mobile-first” Shopee adalah online
marketplace terdiversifikasi dan terdepan yang juga
menyediakan pengalaman belanja web biasa. Platform
belanaja online yang satu ini tersedia di seluruh Asia
Tenggara, Shopee juga ada di Singapura, Filipina, Malaysia,
Thailand, Vietnam, serta di Taiwan.
f. Elevenia
Elevenia memiliki lebih dari 30.000 penjual dan lebih
dari 4 juta produk dari beragam kategori, seperti peralatan
rumah tangga, keluarga, kesehatan, kecantikan dan fashion,
komputer dan gadget, barang olahraga, koleksi, makanan,
dan minuman. Selain itu, Elevenia juga menyediakan
promosi dan e-kupon.
Selain marketplace online yang disebutkan di atas, masih ada
banyak sekali marketplace yang populer di Indonesia.
2.5.
Rapid Application Development (RAD)Pengembangan aplikasi Rapid Application Development (RAD) yaitu suatu pendekatan berorientasi objek terhadap pengembangan sistem yang mencakup suatau metode pengembangan serta perangkat-perangkat lunak (Kendall & Kendall, 2008).
24
kecepatan pengembangan melalui keterlibatan pengguna yang ekstensif dalam kontruksi, cepat berulang, dan bertambah serangkaian prototyping bekerja sebuah sistem yang pada akhirnya berkembang kedalam sistem final (Whitten, Bentley, & Dittman, 2004). Sebagai respon pada kemajuan ekonomi pada umumnya, RAD atau pengembangan aplikasi cepat telah terjadi rute yang populer untuk mengakselerasi pengembangan sistem. 2.5.1. Tahapan dalam Rapid Application Development
Menurut Kendall & Kendall (2008) RAD merupakan salah satu metode prototyping yang memiliki tahapan-tahapan berikut :
1. Perencanaan Syarat (Requirements Planning)
Dalam fase ini akan diketahui apa saja yang menjadi kebutuhan sistem yaitu dengan mengidentifikasi kebutuhan informasi dan masalah yang dihadapi untuk menentukan tujuan, batasan-batasan sistem, kendala dan juga alternatif pemecahan masalah. Analisis digunakan untuk mengetahui perilaku sistem dan juga untuk mengetahui aktivitas apa saja yang ada dalam sistem tersebut.
2. Proses Desain (Workshop Design)
Fase ini adalah fase untuk merancang dan memperbaiki yang dapat digambarkan sebagai workshop. Selama workshop design RAD, pengguna merespon working prototype yang ada dan menganalisis, memperbaiki modul-modul yang dirancang menggunakan perangkat lunak berdasarkan respon pengguna.
25
3. Penerapan (Implementasi)
Analyst bekerja secara intens dengan pengguna selama workshop design untuk merancang aspek-aspek bisnis dan non-teknis dari instansi. Segera setelah aspek-aspek ini disetujui dan sistem dibangun, sub-sub sistem di ujicoba dan diperkenalkan kepada instansi.
2.5.2. Kelebihan dan Kekurangan RAD
Metode pengembangan sistem RAD relatif lebih sesuai dengan rencana pengembangan aplikasi yang tidak memiliki ruang lingkup yang besar dan akan dikembangkan oleh tim yang kecil. Namun, RAD pun memiliki kelebihan dan kekurangannya sebagai sebuah metodoligi pengembangan aplikasi. Berikut ini adalah kelebihan metodologi RAD:
1. Penghematan waktu dalam keseluruhan fase projek dapat dicapai.
2. RAD mengurangi seluruh kebutuhan yang berkaitan dengan biaya projek dan sumberdaya manusia.
3. RAD sangat membantu pengembangan aplikasi yang berfokus pada waktu penyelesaian projek.
4. Perubahan desain sistem dapat lebih berpengaruh dengan cepat dibandingkan dengan pendekatan SDLC tradisional. 5. Sudut pandang user disajikan dalam sistem akhir baik
melalui fungsi-fungsi sistem atau antarmuka pengguna. 6. RAD menciptakan rasa kepemilikan yang kuat di antara
26
seluruh pemangku kebijakan projek.
Sedangkan, mengacu pada pendapat Kendall (2010), maka dapat diketahui bahwa kekurangan penerapan metode RAD adalah sebagai berikut:
1. Dengan metode RAD, penganalisis berusaha mepercepat projek dengan terburu-buru.
2. Kelemahan yang berkaitan dengan waktu dan perhatian terhadap detail. Aplikasi dapat diselesaikan secara lebih cepat, tetapi tidak mampu mengarahkan penekanan terhadap permasalahan-permasalahan perusahaan yang seharusnya diarahkan.
3. RAD menyulitkan programmer yang tidak berpengalaman menggunakan prangkat ini di mana programmer dan analyst dituntut untuk menguasai kemampuan-kemampuan baru sementara pada saat yang sama mereka harus bekerja mengembangkan sistem.
2.6.
Unified Modeling Language (UML)UML merupakan bahasa untuk visualisasi, spesifikasi, konstruksi, serta dokumentasi. Dalam kerangka visualisasi, para pengembang menggunakan UML sebagai suatu cara untuk mengkomunikasikan idenya kepada para pemrogram serta calon pengguna sistem/ perangkat lunak. Dengan adanya bahasa yang bersifat standar, komunikasi perancang dengan pemrogram serta calon pengguna diharapkan lebih mulus. Secara khusus, UML menspesifikasi langkah-langkah penting dalam pengambilan
27
keputusan analisis, perancangan, serta implementasi dalam sistem yang sangat bernuansa perangkat lunak (Nugroho, 2005: 21).
2.6.1. Use Case Diagram
Use Case Diagram memperlihatkan sebuah tampilan sistem dari perspektif pengguna, menggambarkan apa yang sistem kerjakan tanpa menggambarkan bagaimana sistem mengerjakan (Kendall & Kendall, 2011).
Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case.
1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu orang.
2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.
28
Gambar 2.1 Use Case Diagram (Kendall & Kendall, 2011) 2.6.2. Activity Diagram
Activity Diagram menunjukkan urutan kegiatan dalam proses, termasuk kegiatan yang berjalan paralel dan sekuensial, serta pengambilan keputusan yang dibuat (Kendall & Kendall, 2011). Berikut adalah contoh activity diagram:
29
2.6.3. Class Diagram
Class Diagram menunjukkan hubungan antar kelas. Kelas direpresentasikan dengan bentuk segi empat, mengandung nama kelas, atribut, dan metode. Atribut adalah karakteristik dari objek, dan metode (operasi) adalah tentang bagaimana melakukan sesuatu. Metode adalah sebagian kecil dari keseluruhan kode program yang bekerja dengan atribut (Kendall & Kendall, 2011). Berikut adalah contoh class diagram:
Gambar 2.3 Class Diagram (Kendall & Kendall, 2011) 2.6.4. Sequence Diagram
Sequence Diagram dapat mengilustrasikan keberhasilan dari interaksi antara class dan object. Sequence Diagram biasanya digunakan untuk mengilustrasikan penjelasan dari use case model. Diagram ini juga menjelaskan interaksi, hubungan, dan metode dari objek dalam sistem (Kendall & Kendall, 2011). Berikut contoh sequence diagram:
30
Gambar 2.4 Sequence Diagram (Kendall & Kendall, 2011)
2.7.
JavaMenurut Budi Raharjo, Imam Heryanto, Arif haryono (Mudah
Belajar Java, 2010) Java adalah bahasa pemrograman yang dapat dijalankan
di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat
oleh James Gosling saat masih bergabung di Sun Microsystems saat ini
merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak
mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan
sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras
bawah yang minimal.
Aplikasi-aplikasi berbasis Java umumnya dikompilasi ke dalam pcode (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/ non-spesifik (general purpose), dan secara khusus didesain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya
31
yang memungkinkan aplikasi Java mampu berjalan dibeberapa platform sistem operasi yang berbeda, Java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini Java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.
2.8.
PHPPHP atau Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML. PHP banyak dipakai untuk memrogram situs web dinamis. PHP dapat digunakan untuk membangun sebuah CMS. Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web.
Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP.
Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat.
32
Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi.
Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.
2.9.
MySQLMySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus di mana penggunaannya tidak cocok dengan penggunaan GPL.
2.10.
Literatur SejenisStudi literatur merupakan salah satu metode pengumpulan data dengan cara membaca, memahami, mengkritik, dan me-review literatur dari berbagai macam sumber. Sumber-sumber yang didapat dijadikan sumber
33
literatur antara lain tugas akhir atau skripsi sejenis, prosiding dan jurnal-jurnal yang terkait dengan penelitian yang akan diteliti. Tujuan dilaksanakan studi literatur adalah sebagai sumber informasi dan perbandingan pada penelitian yang akan dibuat (Nazir, 2014).
Penelitian-penelitian berikut ini digunakan untuk mengetahui penjelasan mengenai teknologi web crawling yang penulis gunakan dalam penelitian penulis. Adapun penelitian sejenis dan jurnal terkait dengan topik penelitian dapat dilihat pada tabel dibawah ini:
Tabel 2.1 Literature Review
No Nama Judul Persamaan Perbedaan
Penelitian Terdahulu Penelitian Sekarang
1 Aswin Dwiono Mesin Pencari Cerdas dengan Web Semantik (2013) Penggunaan web crawling untuk
menelusuri setiap link pada halaman kemudian menelusuri halaman selanjutnya
Output yang dihasilkan berupa file text
Output yang
dihasilkan berupa data tabel dalam bentuk
database MySQL
2 Gabriella Web Crawling
Terdistribusi pada Lingkungan Hadoop (2018) Penggunaan web crawling untuk menelusuri halaman website Web crawling dilakukan dalam ekosistem cluster Hadoop Web crawling dilakukan dalam ekosistem native 3 Maradenia, Jovanka Helen Focused Web Crawling pada Lingkungan Hadoop (2018) Penggunaan web crawling untuk menelusuri halaman website Database yang digunakan berbasis NoSQL dengan database menggunakan HBase Database yang digunakan berbasis SQL dengan database menggunakan MySQK 4 Abianti, Melinda Nur Incremental Web Crawling pada Lingkungan Hadoop (2018) Penggunaan web crawling untuk menelusuri halaman website
Web crawler dijalankan
pada server berbasis
cluster
Web crawler
dijalankan pada server berbasis single
5 Rinda, Agina Studi dan Eksplorasi Mempekerjakan Web Crawler Apache Nutch (2018) Penggunaan web crawling berbasis aplikasi Java Akses ke halaman website target menggunakan REST API Akses ke halaman website target menggunakan request URL normal
34 6 Abdillah, Fajri News Web Crawler dengan Metode XPATH (2012)
Target website yang di crawl memiliki struktur data yang berbeda-beda
Data yang diambil adalah data socmed Facebook dan Twitter
Data yang diambil adalah data ecommerce Tokopedia, Bukalapak dan Shopee 7 E. Rohadi, P. P. Arhandi, and S. Faza Implementasi Web Crawler dan Perangkingan Data Hotel Menggunakan Metode ANP (2012)
Target website yang di crawl memiliki struktur data yang berbeda-beda
Data yang diambil adalah data kamar hotel
Data yang diambil adalah data ecommerce Tokopedia, Bukalapak dan Shopee 8 Afifa, Rizky Maulidya Implementasi Web Scraping pada Web Semantik Berbasis Ontologi untuk Data Obat dan Penyakit (2018)
Target website yang di crawl memiliki struktur data yang berbeda-beda
Data yang diambil adalah data website obat-obatan
Data yang diambil adalah data ecommerce Tokopedia, Bukalapak dan Shopee 9 Prasetyo, Heni Membangun Topical Crawler dengan Menggabungkan
Web Crawler dan Naive Bayesian Classification (2013)
Data yang akan di
crawl menggunakan
sistem pagination
Output yang dihasilkan
digunakan untuk keperluan data mining
Output yang
dihasilkan digunakan untuk membuat web
application 10 Muslimah, Zyga Nur Aplikasi Pencarian Berita untuk Media Monitoring dengan Menggunakan
Web Crawler dan
Google Custom
Search API
(2015)
Target website yang di crawl memiliki struktur data yang berbeda-beda Akses ke halaman website target menggunakan REST API Akses ke halaman website target menggunakan request URL normal 11 Mike Thelwall A Web Crawler Design for Data Mining (2001)
Penggunaan web
crawling untuk
menelusuri halaman
website
Output yang dihasilkan
digunakan untuk keperluan data mining
Output yang
dihasilkan digunakan untuk membuat web
application 12 T. V. Udapure, R. D. Kale, R. C. Dharmik Study of Web Crawler and its Different Types
(2014)
Menjelaskan konsep-konsep dasar web
crawling
Tidak dilakukan praktik web crawling
Melakukan praktik web crawling 13 S.S. Dhenakaran, K. T. Sambanthan Web Crawler - an Overview (2011) Menjelaskan konsep-konsep dasar web
crawling
Tidak dilakukan praktik web crawling
Melakukan praktik
35 14 C. Castillo et al. Scheduling Algorithms for Web Crawling (2004) Web crawling digunakan untuk menelusuri halaman website
Teknik web crawling menggunakan sistem
scheduling
Teknik web crawling tidak menggunakan sistem scheduling 15 S. M. Pavalam et al. A Survey of Web Crawler Algorithms (2011) Penggunaan web crawling untuk menelusuri halaman website Menggunakan algoritma Genetic Algorithm Tidak menggunakan algoritma khusus 16 Jianguo Lu An Approach to Deep Web Crawling by Sampling (2008) Penggunaan web crawling untuk menelusuri halaman website Crawler mengumpulkan data sebanyak mungkin dan sedetail mungkin
Crawler
mengumpulkan data yang sudah ditentukan oleh peneliti 17 S. M. Pavalam Web Crawler in Mobile Systems (2012) Web crawling digunakan untuk menelusuri halaman website Crawler dijalankan
pada platform berbasis
mobile Crawler dijalankan pada platform berbasis desktop 18 Jesse Lane, J. K. Hak
Big Data: Web Crawling and Analysing Financial News Using RapidMiner
(2015)
Target website yang di crawl memiliki struktur data yang berbeda-beda
Data yang diambil adalah data website berita-berita
Data yang diambil adalah data ecommerce Tokopedia, Bukalapak dan Shopee 19 Fu Xianghua et al. Focused Crawling Method with Online-Incremental Adaptive Learning (2004) Web crawling digunakan untuk menelusuri halaman website Crawler mengumpulkan data sebanyak mungkin dan sedetail mungkin
Crawler
mengumpulkan data yang sudah ditentukan oleh peneliti
20 Mahdi Bazarganigila ni, Ali Syed, Sandid Burki Using Decay Concept and Genetic Programming (2011) Penggunaan web crawling untuk menelusuri halaman website Crawler mengumpulkan data sebanyak mungkin dan sedetail mungkin
Crawler
mengumpulkan data yang sudah ditentukan oleh peneliti 21 Reza P.K., Augusty T.F. Analisis Faktor – Faktor Yang Mempengaruhi Keputusan Pembelian Pada Toko Online “Fisheye Outlet” Semarang (2016) Faktor penentu keputusan pembelian terkait pada transaksi di toko online
Harga merupakan faktor utama penentu keputusan pembelian Faktor tersebut digunakan sebagai landasan penelitian 22 Dinawan M. R. Analisis Faktor – Faktor Yang Mempengaruhi Keputusan Pembelian (Studi Kasus Pada Konsumen Yamaha Mio Pt Faktor yang menentukan keputusan pembelian Adanya hubungan positif antara harga kompetitif dengan keputusan pembelian
Hubungan tersebut digunakan sebagai landasan penelitian
36 Harpindo Jaya Semarang) (2010) 23 Sasongko S. P. Analisis Pengaruh Kualitas Pelayanan, Harga Kompetitif, Kelengkapan Barang Dan Lokasi Terhadap Keputusan Pembelian Di Swalayan Alfa Omega Baturetno, Wonogiri (2013) Faktor yang menentukan keputusan pembelian Adanya hubungan positif antara harga kompetitif dengan keputusan pembelian
Hubungan tersebut digunakan sebagai landasan penelitian
Pada tabel di atas menunjukan adanya hubungan positif antara harga kompetitif dengan keputusan pembelian (Reza, 2016), (Dinawan, 2010) dan
(Sasongko, 2013). Penelitian web crawling yang telah dilakukan sebelumnya dapat membantu mesin pencari dalam mengumpulkan data (Aswin, 2013). Data crawling yang dilakukan pada penelitian sebelumnya diantaranya adalah (Abdillah, 2012) data Facebook dan Twitter, (Rohadi et al, 2017) data kamar hotel, (Afifa, 2018) data obat-obatan dan penyakit, (Muslimah, 2015) & (Jesse et al, 2015) berita-berita, dan keperluan data mining lainnya (Prasetyo, 2013) & (Mike, 2001).
Adapun kecepatan web crawling didukung dengan seberapa besar spesifikasi mesin dan server yang digunakan (Gabriella, 2018), (Maradenia, 2018), (Abianti, 2018) dan (Rinda, 2018). Beberapa jurnal internasional telah membahas pengoptimalan web crawling (Mahdi et al, 2011), query (Jianguo, 2008), urutan website yang akan di-crawl (Castillo, 2004), dan peningkatan akurasi (Xianghua et al, 2004). Serta jurnal-jurnal lain yang menguatkan teori-teori terkait web crawling (Udapure, 2014), (Dhenakaran, 2011), (Pavalam et al, 2011) dan (Pavalam, 2012).
37
BAB III
METODOLOGI PENELITIAN
Bab ini memaparkan proses pelaksanaan penelitian secara metodis yang
meliputi penjelasan-penjelasan tentang metodologi pengumpulan data yang terdiri
dari observasi, studi literatur dan wawancara, serta metodologi pengembangan
sistem dengan metodologi Rapid Application Developement (RAD).
3.1
Metode Pengumpulan DataDalam penyusunan, peneliti memerlukan data-data serta informasi
yang lengkap sebagai bahan yang dapat mendukung kebenaran materi
uraian dan pembahasan. Oleh sebab itu peneliti melakukan riset atau
penelitian untuk mendapatkan data serta informasi atau bahan materi yang
diperlukan. Metode pengumpulan data yang digunakan meliputi dua bagian,
yaitu:
3.1.1. Observasi
Pada tahap observasi, peneliti melakukan pengamatan dengan
melihat langsung proses dan alur aplikasi dari website sejenis serta
proses dan alur aplikasi dari website target penelitian.
Hasil didapatkan dalam kegiatan pengamatan ini adalah
mengetahui dan memahami proses bisnis yang sedang berjalan dan
mendapatkan data-data yang dibutuhkan dalam penelitian.
3.1.2. Studi Literatur
Pada studi literatur, peneliti membaca serta mengutip
teori-teori yang berhubungan dengan penelitian. Tujuan dilaksanakannya