PEMBANGUNAN PROTOTIPE PENCARIAN BARANG DI BERBAGAI TOKO ONLINE MENGGUNAKAN TEKNIK WEB SCRAPING (STUDI KASUS : TOKO ONLINE DI INDONESIA) TUGAS AKHIR Disusun sebagai salah satu syarat untuk kelulusan Program Strata 1, Program Studi Teknik Informatika, Universitas Pasundan Bandung oleh : Aziz Firmansyah Nrp. 12.304.0043 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PASUNDAN BANDUNG JANUARI 2017 LEMBAR PENGESAHAN LAPORAN TUGAS AKHIR Telah diujikan dan dipertahankan dalam Sidang Sarjana Program Studi Teknik Informatika Universitas Pasundan Bandung, pada hari dan tanggal sidang sesuai berita acara sidang, tugas akhir dari : Nama : Aziz Firmansyah Nrp : 12.304.0043 Dengan judul : “PEMBANGUNAN PROTOTIPE PENCARIAN BARANG DI BERBAGAI TOKO ONLINE MENGGUNAKAN TEKNIK WEB SCRAPING (STUDI KASUS : TOKO ONLINE DI INDONESIA)” Bandung, Januari 2017 Pembimbing Utama (Dr.Ir.Leony Lidya.MT) 2 LEMBAR PERNYATAAN KEASLIAN TUGAS AKHIR Saya menyatakan dengan sesungguhnya bahwa : 1. Tugas akhir ini adalah benar-benar asli dan belum pernah diajukan untuk mendapatkan gelar akademik, baik di Universitas Pasundan Bandung maupun di Perguruan Tinggi lainnya 2. Tugas akhir ini merupakan gagasan, rumusan dan penelitian saya sendiri, tanpa bantuan pihak lain kecuali arahan dari tim Dosen Pembimbing 3. Dalam tugas akhir ini tidak terdapat karya atau pendapat orang lain, kecuali bagian-bagian tertentu dalam penulisan laporan Tugas Akhir yang saya kutip dari hasil karya orang lain telah dituliskan dalam sumbernya secara jelas sesuai dengan norma, kaidah, dan etika penulisan karya ilmiah, serta disebutkan dalam Daftar Pustaka pada tugas akhir ini 4. Kakas, perangkat lunak, dan alat bantu kerja lainnya yang digunakan dalam penelitian ini sepenuhnya menjadi tanggung jawab saya, bukan tanggung jawab Universitas Pasundan Bandung Apabila di kemudian hari ditemukan seluruh atau sebagian laporan tugas akhir ini bukan hasil karya saya sendiri atau adanya plagiasi dalam bagian-bagian tertentu, saya bersedia menerima sangsi akademik, termasuk pencabutan gelar akademik yang saya sandang sesuai dengan norma yang berlaku di Universitas Pasundan, serta perundang-undangan lainnya . Bandung, Januari 2017 Yang membuat pernyataan, Materai 6000,- ( Aziz Firmansyah ) NRP. 12.304.0043 ABSTRAK Masyarakat memiliki kebutuhan akan sarana untuk pencarian barang dagang secara online. Dalam melakukan pencarian barang dapat menggunakan search engine atau langsung mengunjungi situs e-commerce tertentu. Cara ini agak sulit untuk membandingkan barang. Web Scraping dan cURL memiliki manfaat besar untuk pengembangan perangkat lunak contohnya untuk aplikasi pencarian barang di berbagai toko online. Aplikasi ini berjalan dengan cara mengumpulkan informasi dari berbagai toko online untuk ditampilkan kembali ke pengguna. Pada tugas akhir ini dilakukan pemodelan dan pembuatan prototipe pencarian barang di berbagai toko online menggunakan web scraping dan cURL. Hasil dari tugas akhir ini berupa prototipe pencarian barang dengan fitur yaitu dapat melakukan pencarian barang dengan mengunjungi beberapa toko online yang sudah terdaftar, dapat mengurutkan hasil pencarian berdasarkan harga. Kata Kunci : Web Scraping , cURL, aplikasi web, search engine, e-commerce i ABSTRACT Community has a need for a means to search the merchandise online. In their search item can use the search engine or go directly to a specific e-commerce site. This is quite difficult to compare the goods. Web scraping and cURL have major benefits for the development of software applications for example to search items in various online stores. The application runs by collecting information from various online stores to be displayed back to the user. In this final project modeling and prototyping quest items at various stores online using web scraping and cURL. The results of this thesis a prototype search items with features that can search items by visiting some online stores are already registered, can sort search results by price. Keywords: Web scraping, curl, web application, search engine, e-commerce. ii KATA PENGANTAR Assalmu’alaikum, Wr. Wb Segala puji dan syukur penulis panjatkan kehadirat Allah SWT. Dengan ridho-Nya penulis mampu mengerjakan dan menyelesaikan laporan sseminar tugas akhir ini dengan judul ‘Pembangunan Prototipe Pencarian Barang di berbagai Toko Online Menggunakan Teknik Web Scraping‘. Serta sholawat selalu terlimpahkan untuk sang pencerah dalam gulita, pribadi mulia, rahmat bagi seluruh semesta, Muhammad SAW. Laporan Tugas Akhir ini ditujukan untuk memenuhi kelulusan strata 1 (satu) di Program Studi Teknik Informatika Fakultas Teknik Universitas Pasundan. Dalam penulisan Proposal tugas akhir ini, penulis ingin mengucapkan terima kasih kepada pihak yang terlibat baik secara langsung maupun tak langsung serta moril maupun materil terhadap tugas akhir ini. Dengan segala hormat dan kerendahan hati perkenankanlah penulis mengucapkan terimakasih kepada : 1. Pembimbing tugas akhir , Ibu Dr. Ir. Leony Lidya, M.T. 2. Kepada Orang Tua tersayang, yang selalu memberikan semangat, motivasi, dan do’anya dalam pembuatan tugas akhir. 3. Seluruh civitas akademika Teknik Informatika di Universitas Pasundan Bandung yang telah memberikan bekal ilmu selama penulis menimba ilmu. 4. Kepada teman-teman seperjuangan Universitas Pasundan Bandung yang tidak bisa semua penulis sebutkan. Penulis menyadari ketidaksempurnaan dalam penulisan Laporan Seminar Tugas Akhir ini dan masih perlu belajar. Saran dan kritik di kemudian hari sangat penulis harapkan agar dapat memberikan kontribusi serta manfaat yang lebih signifikan terkait topik Laporan Tugas Akhir ini. Wasalamu’alaikum Wr.Wb Bandung, Januari 2017 Penulis iii DAFTAR ISI ABSTRAK .............................................................................................................................................. i ABSTRACT ...........................................................................................................................................ii KATA PENGANTAR ......................................................................................................................... iii DAFTAR ISI ......................................................................................................................................... iv DAFTAR TABEL ................................................................................................................................vii DAFTAR GAMBAR ..........................................................................................................................viii DAFTAR LAMPIRAN ......................................................................................................................... ix DAFTAR SIMBOL................................................................................................................................ x BAB 1 PENDAHULUAN ..................................................................................................................1-1 1.1. Latar Belakang .........................................................................................................................1-1 1.2. Identifikasi Masalah .................................................................................................................1-2 1.3. Tujuan Tugas Akhir .................................................................................................................1-2 1.4. Lingkup Tugas Akhir ...............................................................................................................1-2 1.5. Metodologi Tugas Akhir ..........................................................................................................1-3 1.6. Sistematika Penulisan Tugas Akhir ..........................................................................................1-4 BAB 2 LANDASAN TEORI ..............................................................................................................2-1 2.1. Prototipe...................................................................................................................................2-1 2.2. Pengenalan Serch Engine .........................................................................................................2-1 2.3. Pengenalan Web Scrapting ......................................................................................................2-1 2.4. Pengenalan cURL PHP ............................................................................................................2-2 2.4.1. Struktur Dasar Request cURL...........................................................................................2-2 2.5. Model Proses Pembangunan Perangkat Lunak.........................................................................2-3 2.6. Perancangan Pemodelan Perangkat Lunak ...............................................................................2-3 2.7. Tinjauan Teknologi ..................................................................................................................2-4 2.7.1. Boostrap ............................................................................................................................2-4 2.7.2. MySQL .............................................................................................................................2-4 2.7.3. Codeigniter .......................................................................................................................2-4 BAB 3 ANALISIS ..............................................................................................................................3-1 3.1. Kerangka Tugas Akhir .............................................................................................................3-1 3.2. Analisis ....................................................................................................................................3-2 3.3. Peta Analisis ............................................................................................................................3-2 3.3.1. Analisis Solusi ..................................................................................................................3-4 3.3.2. Analisis Penggunaan Konsep ............................................................................................3-4 3.3.3. Objek Penelitian ...............................................................................................................3-4 BAB 4 ANALISIS DAN PERANCANGAN ......................................................................................4-1 iv 4.1 Analisis Sistem yang Berjalan...................................................................................................4-1 4.2 Analisis Perbedaan Web Scraping dengan Web Crawler .........................................................4-3 4.3 Analisis Web Scraping ..............................................................................................................4-3 4.3.1 Create Scraping Template .................................................................................................4-3 4.3.2 Explore Site Navigation .....................................................................................................4-6 4.3.3 Automate Navigation and Extraction .................................................................................4-6 4.3.4 Extracted Data and Package .............................................................................................4-7 4.4 Kesimpulan Analisis Web Scraping ..........................................................................................4-7 4.5 Aplikasi yang akan Dibangun ...................................................................................................4-7 4.6 Digram Aktivitas .......................................................................................................................4-9 4.7 Analisis Pengguna ...................................................................................................................4-11 4.8 Analisis Kebutuhan Fungsional ..............................................................................................4-12 4.9 Perancangan Fungsional Sistem ..............................................................................................4-12 4.9.1 Deskripsi Use Case ..........................................................................................................4-12 4.9.2 Skenario Cara Kerja Fungsi .............................................................................................4-13 4.10 Diagram Sequence ................................................................................................................4-15 4.10.1 Digram Sequence Cari Barang .......................................................................................4-15 4.10.2 Diagram Sequence Kelola Toko Online (Tambah Daftar Toko Online) ........................4-16 4.10.3 Diagram Sequence Kelola Toko Online (Ubah Daftar Toko Online).............................4-16 4.10.4 Kelas Analisis ................................................................................................................4-17 4.11 Perancangan Perangkat Lunak ..............................................................................................4-18 4.11.1 Perancangan Arsitektur ..................................................................................................4-18 4.11.2 Perancangan Kelas .........................................................................................................4-19 4.11.3 Perancangan Data ..........................................................................................................4-20 4.12 Perancangan Antarmuka .......................................................................................................4-22 4.12.1 Antarmuka Halaman Utama...........................................................................................4-22 4.12.2 Antarmuka List Barang ..................................................................................................4-22 4.12.3 Antarmuka Form Tambah Daftar Toko Online ..............................................................4-23 4.12.4 Antarmuka Form Ubah Data Toko Online .....................................................................4-23 4.12.5 Antarmuka Daftar Toko Online .....................................................................................4-24 BAB 5 IMPLEMENTASI ...................................................................................................................5-1 5.1. Implementasi .......................................................................................................................5-1 5.1.1. Implementasi Perangkat Lunak....................................................................................5-1 5.1.1 Kebutuhan Implementasi ...................................................................................................5-1 5.2 Implementasi Data ....................................................................................................................5-3 5.3 Implementasi Arsitektur ............................................................................................................5-3 v 5.4 Implementasi Antarmuka ..........................................................................................................5-4 5.4.1 Antarmuka Halaman Utama ..............................................................................................5-4 5.4.2 Antarmuka Profile Pengguna .............................................................................................5-5 BAB 5 KESIMPULAN DAN SARAN ...............................................................................................5-1 5.1. KESIMPULAN ........................................................................................................................5-1 5.2. SARAN ....................................................................................................................................5-1 DAFTAR PUSTAKA LAMPIRAN vi DAFTAR TABEL Tabel 3.1 Rancangan Penelitian ..........................................................................................................3-1 Tabel 3.2 Tahapan Rencana Analisis ..................................................................................................3-3 Tabel 4.1 Create Scraping Template ...................................................................................................4-3 Tabel 4.2 Explore Site Navigation ......................................................................................................4-6 Tabel 4.3 Deskripsi Pengguna ...........................................................................................................4-11 Tabel 4.4Kebutuhan Fungsional Sitem..............................................................................................4-12 Tabel 4.5 Deskripsi Use Case ............................................................................................................4-12 Tabel 4.6Skenario Use Case Cari Barang ..........................................................................................4-13 Tabel 4.7 Skenariao Use Case Sorting Barang ..................................................................................4-13 Tabel 4.8 Skenario Use Case Kelola Daftar Toko Online (Tambah daftar Toko Online) ..................4-14 Tabel 4.9 Skenario Use Case Kelola Daftar Toko Online (Ubah Data Toko Online) ........................4-14 Tabel 4.10Skenario Use Case Kelola Daftar Toko Online (Hapus daftar Toko Online)....................4-14 Tabel 4.11 Kelas Analisis ..................................................................................................................4-18 Tabel 4.12 Perancangan Kelas Perangkat Lunak ...............................................................................4-19 Tabel 4.13 Perancangan Atribut Kelas ..............................................................................................4-19 Tabel 4.14 Perancangan Data Perangkat Lunak ................................................................................4-21 Tabel 5-1Kebutuhan Perangkat Keras .................................................................................................5-1 Tabel 5-2 Kebutuhan Perangkat Lunak ...............................................................................................5-2 Tabel 5-3 Struktur Folder Perangkat Lunak ........................................................................................5-2 vii DAFTAR GAMBAR Gambar 2.1 Ilustrai Cara Kerja Web Scraper ......................................................................................2-2 Gambar 2.2 Basic Structure cURL PHP ..............................................................................................2-2 Gambar 2.3 Metodologi pengembangan perangkat lunak ( RUP ) ......................................................2-3 Gambar 3.1 Peta Analisis ....................................................................................................................3-3 Gambar 4.1 Proses Pencarian Barang di Google .................................................................................4-2 Gambar 4.2 Proses Pencarian Barang dari berbagai Toko Online .......................................................4-2 Gambar 4.4 Automate Navigation and Extraction ...............................................................................4-6 Gambar 4.5 Struktru Array ..................................................................................................................4-7 Gambar 4.3Gambaran Sistem yang Akan Dibangun ...........................................................................4-8 Gambar 4.6 Diagram Aktivitas Pendaftaran Toko Online ...................................................................4-9 Gambar 4.7 Diagram Aktivitas Pencarian Pengunjung .....................................................................4-10 Gambar 4.8 Diagram Aktivitas Pengurutan Harga ............................................................................4-11 Gambar 4.9 Diagram Use Case Aplikasi CRIS .................................................................................4-12 Gambar 4.10 Diagram Sequence Cari Barang ...................................................................................4-15 Gambar 4.11 Diagram Sequence Kelola Toko Online (Tambah Daftar Toko Online) ......................4-16 Gambar 4.12 Diagram Sequence Kelola Toko Online (Ubah Data Toko Online) .............................4-17 Gambar 4.13 Perancangan Arsitektur Perangkat Lunak ....................................................................4-18 Gambar 4.14 Digram Kelas Perancangan .........................................................................................4-20 Gambar 4.15 Antarmuka Halaman Utama ........................................................................................4-22 Gambar 4.16Antarmuka List barang .................................................................................................4-23 Gambar 4.17 AntarmukaForm Tambah Daftar Toko Online .............................................................4-23 Gambar 4.18Antarmuka Ubah Toko Online......................................................................................4-24 Gambar 4.19Antarmuka daftar Toko Online .....................................................................................4-24 Gambar 5.1 Implementasi Data ...........................................................................................................5-3 Gambar 5.2 Arsitektur .........................................................................................................................5-4 Gambar 5.3 Antarmuka Halaman Utama ............................................................................................5-5 Gambar 5.4 List barang .......................................................................................................................5-6 viii DAFTAR LAMPIRAN LAMPIRAN A ...................................................................................................................A-1 A.1 Observasi pencarian Barang Menggunakan Search Engine .....................................A-1 A.2 Observasi pencarian Barang Langsung Mengunjungi Website Penyedia Jasa .........A-2 LAMPIRAN B ................................................................................................................... B-1 B.1 Statistka Situs e-commerce familiar di tahun 2015 .................................................. B-1 B.2 Code Sumber Scraping dan DOM ............................................................................ B-2 B.3 Code Aplikasi Pencarian Barang di Berbagai Toko Online ..................................... B-5 ix DAFTAR SIMBOL Activity Diagram No Simbol 1. Nama Keterangan Start state Start state dengan tegas menunjukan dimulainya suatu workflow pada sebuah activity diagram. 2. Activity Activity mengambarkan sebuah pekerjaan atau tugas dalam workflow. 3. Decision Decision adalah suatu titik atau point pada activity diagram yang mengindikasikan suatu kondisi dimana ada kemungkinan perbedaan transisi. 4. End state End state menggambarkan akhir atau terminal dari pada sebuah activity diagram. 5. State Transition State transition menunjukan kegiatan apa berikutnya setelah suatu kegiatan sebelumnya. Diagram Use Case No 1. Simbol Nama Keterangan Actor Simbol yang merepresentasikan pengguna yang sedang berinteraksi dengan usecase. 2. Use Case Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu aktor. 3. Association Simbol yang menghubungkan antara objek satu dengan objek lainnya. 4. Include Simbol yang menspesifikasikan bahwa use case sumber secara eksplisit. 5. Extend Simbol yang merepresentasikan bahwa use case target memperluas perilaku dari us case sumber pada suatu titik yang diberikan. x Sequence Diagram No Simbol 1. Nama Keterangan Actor Simbol yang menggambarkan pengguna yang sedang berinteraksi dengan sistem. : 2. Boundary Simbol yang menggambarkan sebuah penggambaran dari form. 3. Boundary : ViewLogin Controller Simbol yang menggambarkan penghubung antara boundary dengan tabel atau entity. 4. 5. Controller : ControllerLogin Entity : User 6. Entity Simbol yang menggambarkan hubungan kegiatan yang akan dilakukan. Object Message Simbol yang menggambarkan pengiriman pesan Return Message Simbol yang menggambarkan pengiriman pesan kembali. Flowchart No 1 Simbol Nama Keterangan Start/End Simbol untuk permulaan (start) atau akhir (stop) dari suatu kegiatan. 2 Process Simbol yang menunjukkan pengolahan yang dilakukan oleh rototyp. 3 Data Simbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya. 4 Decision Simbol pemilihan proses berdasarkan kondisi yang ada. xi