IMPLEMENTASI EKSTRAKSI WEB (WEB SCRAPING) PADA MESIN

Download IMPLEMENTASI EKSTRAKSI WEB (WEB SCRAPING) PADA. MESIN PECARI JURNAL ILMIAH MENGGUNAKAN. METODE EKSPRESI REGULER. Muhammad Syapi'i Bat...

0 downloads 617 Views 623KB Size
IMPLEMENTASI EKSTRAKSI WEB (WEB SCRAPING) PADA MESIN PECARI JURNAL ILMIAH MENGGUNAKAN METODE EKSPRESI REGULER Muhammad Syapi’i Batubara Jurusan Teknik Informatika Sekolah Tinggi Teknik Harapan Medan Jl. HM Jhoni N0 70 Medan, Indonesia [email protected]

ABSTRAK Web scraping adalah proses pengambilan sebuah dokumen semi-terstruktur dari internet, umumnya berupa halaman-halaman web dalam bahasa markup seperti HTML atau XHTML, dan menganalisis dokumen tersebut untuk diambil data tertentu dari halaman tersebut untuk digunakan bagi kepentingan lain. Kesulitan penggunaan mesin pencari google diantaranya, dalam proses pencarian, hasil pencarian yang ditampilkan terlalu luas, mengakibatkan kesulitan dalam mengumpulkan informasi mengenai artikel atau jurnal ilmiah. Adapun cara mengurangi permasalahan tersebut yaitu dengan mempelajari dokumen HTML dari website yang akan diambil informasinya untuk di tag HTML tujuannya ialah untuk mendapatkan kembali informasi yang diambil (Create Scraping Template), setelah itu pembuat program mempelajari teknik navigasi pada website yang akan diambil informasinya untuk ditirukan pada aplikasi web scraping yang akan dibuat (Explore Site Navigation), kemudian aplikasi web scraping akan mengotomatisasi informasi yang didapat dari website yang telah ditentukan (Automate Navigation and Extraction), informasi yang didapat tersebut akan disimpan kedalam table basis data. Ekspresi regular adalah metode yang digunakan untuk mencocokkan pola-pola karakter tertentu dalam suatu kumpulan string. Ada dua macam ekspresi regular yaitu karakter biasa dan meta karakter. Sehingga sebagai output hasil penelitian menghasilkan aplikasi yang mengimplementasikan teknik ekstraksi web (web scraping) pada mesinpencari jurnal ilmiah menggunakan metode ekspresi regular. Kata Kunci : aplikasi, web, web scraping, ekstraksi web, metode ekspresi regular

ABSTRACT Web scraping is the process of making a semi-structured document from the Internet, generally in the form of web pages in a markup language such as HTML or XHTML, and analyzing the document for certain data taken from the pages to be used for other purposes. Difficulties include the use of the Google search engine, in the search process, search results are displayed too broad, resulting in difficulties in collecting information on an article or a scientific journal. As for how to reduce the problem is by studying the HTML documents of a website that will be taken in the tag information for HTML the goal is to get back the captured information (scraping Create Template), after that program makers learn the techniques of navigation on the website which will take the information to simulated on web scraping application to be made (Explore Site Navigation), then scraping the web application will automate the information obtained from the website that has been determined (Automate Navigation and Extraction), The information obtained will be saved into a database table. Regular expression is a method used to match patterns of a particular character in a set of strings. There are two kinds of regular expressions are regular characters and meta characters. So as output the results to produce applications that implement web extraction techniques (web scraping) in the scientific journal mesinpencari using regular expressions. Keywords: applications, web, web scraping, web extraction, regular expression method

1.

Pendahuluan Salah satu fasilitas pendukung perkembangan internet adalah search engine (mesin pencari). Mesin pencari (Search engine) yaitu kombinasi perangkat keras dan perangkat lunak komputer yang disediakan oleh perusahaan tertentu melalui website yang telah ditentukan. Pemakaian mesin pencari masih sering mempersulit pengguna diantaranya, pada saat mengumpulkan informasi mengenai artikel atau jurnal ilmiah, hasil pencarian

yang ditampilkan masih terlalu luas, sehingga informasi yang dicari terkait artikel atau jurnal ilmiah tidak spesifik. Search engine mengumpulkan informasi dari web melalui program bot (robot) atau web crawler yang secara periodik menelusuri web. Proses pengambilan informasi dari website-website yang ada ini disebut dengan web scraping. Web Scraping adalah proses pengambilan sebuah dokumen semi-terstruktur dari internet,

umumnya berupa halaman-halaman web dalam bahasa markup seperti HTML atau XHTML, dan menganalisis dokumen tersebut untuk diambil data tertentu dari halaman tersebut untuk digunakan bagi kepentingan lain. Web scraping sering dikenal sebagai screen scraping [1]. Tujuan dialkukannya ekstraksi web (web scraping) pada mesin pencari jurnal/ artikel ilmiah adalah mengotomatisasi informasi yang didapat dari website yang telah ditentukan (Automate Navigation and Extraction) sehingga hasil pencarian artikel atau jurnal ilmiah lebih khusus atau spesifik. Manfaat dari web scraping ialah agar informasi yang diambil atau digunakan lebih terfokus sehingga memudahkan dalam melakukan pencarian sesuatu. Adapun cara mengembangkan teknik web scraping yaitu dengan mempelajari dokumen HTML dari website yang akan diambil informasinya untuk di tag HTML tujuannya ialah untuk mendapatkan kembali informasi yang diambil (Create Scraping Template), setelah itu mempelajari teknik navigasi pada website yang akan diambil informasinya untuk ditirukan pada aplikasi web scraping yang akan dibuat (Explore Site Navigation), kemudian aplikasi web scraping akan mengotomatisasi informasi yang didapat dari website yang telah ditentukan (Automate Navigation and Extraction), informasi yang didapat tersebut akan disimpan ke dalam tabel basis data (Extracted Data and Package History). [2]. Selain itu sebagai pendukung dalam fasilitas data, aplikasi ini dilengkapi dengan metode ekspresi regular. Teknik scraping dapat dilakukan teknik regular ekspresi, regular ekspresi ditentukan pola yang mengawali dan mengakhiri suatu konten utama pada halaman situs. [3]. Metode ekspresi regular adalah sebuah metode yang memberikan pola dari suatu bahasa yang kemudian di implementasikan kedalam computer. Contoh, Finite State Automata untuk mengenal bilangan bulat atau integer tidak bertanda. Regular expression atau ekspresi regular adalah metode yang digunakan untuk mencocokan pola-pola karakter tertentu dalam suatu kumpulan string. Ada dua macam ekspresi regular yaitu karakter biasa dan metakarakter. Regular expression akan menjadi mesin utama dalam pembuatan e-course untuk menjadi virtual Linux Shell sekaligus mencocokan perintah Linux sesuai dengan kasus atau soal yang diberikan. [4] 2.

Metodologi Penelitian Web Scraping adalah proses pengambilan sebuah dokumen semi ter-stuktur dari internet, umumnya berupa halaman web dalam bahasa markup seperti HTML atau XHTML, dan menganalisis dokumen tersebut untuk diambil data

tertentu dari halaman tersebut untuk digunakan bagi kepentingan lain. Web Scraping dikenal sebagai screen scraping. Web Scraping tidak dapat dimasukkan dalam bidang data mining karena data mining menyiratkan upaya untuk memahami pola semantik atau tren dari sejumlah besar data yang telah diperoleh. Web Scraping memiliki sejumlah langkah : 1. Create Scraping Template: Pembuat program mempelajari dokumen HTML dari website yang akan diambil informasinya untuk tag HTML yang mengapit informasi yang akan diambil. 2. Explore Site Navigation: Pembuat program mempelajari teknik navigasi pada website yang akan diambil informasinya untuk ditirukan pada aplikasi web scraper yang akan dibuat. 3. Automate Navigation and Extraction : Berdasarkan informasi yang didapat pada langkah 1 dan 2 diatas, aplikasi web scraper dibuat untuk mengotomatisasi pengambilan informasi dari website yang ditentukan 4. Extracted Data and Package History: Informasi yang didapat dari langkah 3 (tiga) disimpan dalam tabel-tabel database

Gambar 1. Aplikasi Web Scraping (sumber: Mardi, 2013) Teknik scraping dapat dilakukan teknik regular ekspresi, regular ekspresi ditentukan pola yang mengawali dan mengakhiri suatu konten utama pada halaman situs.Regular expression atau ekspresi regular adalah metode yang digunakan untuk mencocokan pola-pola karakter tertentu dalam suatu kumpulan string.Ada dua macam ekspresi regular yaitu karakter biasa dan metakarakter. Secara singkat ekspresi regular ini menyediakan cara untuk memanipulasi dan mencocokan string sesuai dengan formula yang dibikin. Kemampuan yang bisa ditangani oleh ekspresi reguler ini antara lain validasi email, validasi angka, huruf, kombinasi keduanya dan

lain-lain. Fungsi ini dieksekusi di server side tidak seperti javascript yang dieksekui di client side, sehingga lebih aman.Banyak sekali jenis fungsi regular expression yang disediakan oleh PHP. Fungsi dan rumusnya ekspresi reguler berdasarkan pola, sumber adalah : 1.

Memeriksa suatu substring yang berada dalam suatu string. ereg(“pono”, “Supono”) = TRUE ereg(“poy”, “supono”) = FALSE

ereg(“s*”, “supono”) = TRUE // mengadung s atau tidak mengadung s ereg(“s”, “pono”) = TRUE ereg(“s?”, “pono”) = TRUE // mirip seperti * ereg(“s+”, “supono”) = TRUE // harus mengandung s minimal satu s ereg(“s+”, “pono”) = FALSE ereg(“s.*”, “supono”) = TRUE // mengandung s dan diikuti oleh nol karakter atau beberapa karakter. Jika melibatkan simbol, maka gunakan tanda \ (backslash). ereg(“^[1-9][0-9]{4}$”, $kode_pos)

Akan menghasilkan nilai TRUE jika string pada pola cocok dengan string pada sumber.Akan menghasilkan nilai FALSE jika pola tidak cocok dengan string pada sumber. Kalau diatas akan menghasilkan nilai true, karena pola string “pono” terdapat pada sumber “Supono”. 2.

Mencocokan di awal string, melakukan pencarian suatu substring yang terletak diawal suatu string. ereg(“^susu”, “susu itu baik untuk kesehatan”) = TRUE. ereg(“^susu”, “aku suka susu, terutama susu murni”) = FALSE

3.

Mencocokan di akhir string, melakukan pencarian suatu substring yang terletak akhir suatu string. ereg(“supono$”, “orang ganteng itu bernama supono”) = TRUE ereg(“supono$”, “dia itu supono orang yang jelek”) = FALSE

4.

Memeriksa keberadaan sebuah karakter dan memeriksa suatu string apakah mengadung karakter sesuai dengan pola atau tidak. Berikut ini contoh mencari suatu string yang mengandung huruf vokal (a,i,u,e,o) dari sebuah sumber.

Keterangan: = Memeriksa awal string (lihat keterangan nomor 2 diatas) [1-9] = Memeriksa awal string harus dimulai dengan angka 1 s/d 9 atau dengan kata lain tidak mengijikan memasukan angka 0. [0-9] = Memeriksa string angka 0 s/d 9 {4} = Melakukan pengulangan sejumlah 4 kali setelah string awal [1-9], jadi hasilnya akan menghasilkan 5 angka. $= Akhir dari sebuah pola string ^

Model perancangan aplikasi implementasi ekstraksi web (web scraping) pada mesin pencari jurnal ilmiah menggunakan metode ekspresi regular digambarkan dalam bentuk flowchart sistem.Model perancangan aplikasi perancangan aplikasi implementasi ekstraksi web (web scraping) pada mesin pencari jurnal ilmiah menggunakan metode ekspresi regular dengan flowchart sistem. Flowchart Sistem Proses Login Admin. Proses login administrator dapat digambarkan dalam bentuk flowchart sistem sebagai berikut: Mulai

Tampil form login

5.

6.

ereg(“[aiueo]”, “poy”) = TRUE ereg(“[aiueo]”, “spn”) = FALSE ereg(“[aiueo]”, “ono”) = TRUE ereg(“[a-z]”, “supono”) = TRUE //mengecek huruf a kecil s/d z kecil Pengulangan sejumlah karakter dan mengecek substring dasi string dengan pengulangan sesuai dengan pola. ereg(“o{2}”, “pooy”) = TRUE // mencocokan 2 huruf 0 secara berurutan ereg(“o{2}”, “pono”) = FALSE Karakter + . ? dan *

Masukkan nama dan Pasword

Tidak

Cek nama dan password benar? ya Tampil halaman utama admin selesai

Gambar 2. Flowchart Sistem Proses Login Administrator

Berdasarkan gambar 2 flowchart sistem proses login administrator dapat dijelaskan bahwa flowchart menggambarkan proses login administrator mulai dengan memasukkan nama dan password pada form login yang tersedia. Kemudian sistem akan melakukan pengecekan atas kebenaran nama dan password hak akses admin. Jika hasil pengecekan sistem menyatakan bahwa nama dan password sesuai dengan hak akses admin maka sistem akan menampilkan halaman utama admin. Namun jika hasil pengecekan sistem menyatakan bahwa nama dan password tidak sesuai dengan hak akses admin maka sistem tidak akan menampilkan halaman utama admin. Sistem akan menampilkan notifikasi nama dan password tidak cocok.

saat dihalaman utama admin, admin memilih form input data. Setelah itu mengisi form input dan sistem akan melakukan proses input data. Jika hasil pengecekan sistem menyatakan bahwa form data input sudah lengkap maka sistem akan menyimpan data yang diinput ke dalam database sistem. Namun jika hasil pengecekan sistem menyatakan bahwa form data input tidak lengkap maka sistem tidak akan melakukan penyimpanan data. Sistem akan menampilkan notifikasi data belum lengkap. Flowchart Sistem Proses Update Data Artikel/Jurnal Oleh Administrator. Proses update data artikel atau jurnal oleh pengguna dapat digambarkan dalam bentuk flowchart sistem sebagai berikut:

Flowchart Sistem Proses Input Data Artikel/Jurnal Oleh Administrator. Proses input data artikel atau jurnal oleh pengguna dapat digambarkan dalam bentuk flowchart sistem sebagai berikut:

mulai

Tampil halaman utama admin

mulai Form Update Data Tampil halaman utama admin Update Data Form Input data

Proses Update Data Input data

Proses input data

Tidak Proses Updatet data sukses? ya

Tidak Proses input data sukses?

Data yang Diupdae tetersimpan ya

Data yang diinput tersimpan

selesai

Gambar 3. Flowchart Sistem Proses Input Data Oleh Administrator Berdasarkan gambar 3 flowchart sistem proses input data oleh administrator dapat dijelaskan bahwa flowchart menggambarkan pada

selesai

Gambar 4. Flowchart Sistem Proses Update Data Oleh Administrator Berdasarkan gambar 4. flowchart sistem proses update data oleh administrator dapat dijelaskan bahwa flowchart menggambarkan pada saat dihalaman utama admin, admin memilih form update data. Setelah itu mengisi form update data dan sistem akan melakukan proses update data. Jika hasil pengecekan sistem menyatakan bahwa form

data yang di update sudah lengkap maka sistem akan menyimpan data yang diupdate ke dalam database sistem. Namun jika hasil pengecekan sistem menyatakan bahwa form data yang diupdate tidak lengkap maka sistem tidak akan melakukan penyimpanan hasil update data. Sistem akan menampilkan notifikasi update data belum lengkap.

Flowchart Sistem Proses Pencarian Artikel/ Jurnal Oleh User. Proses pencarian artikel atau jurnal oleh pengguna dapat digambarkan dalam bentuk flowchart sistem sebagai berikut: mulai

Flowchart Sistem Proses Hapus Data Artikel/Jurnal Oleh Administrator. Proses hapus data artikel atau jurnal oleh pengguna dapat digambarkan dalam bentuk flowchart sistem sebagai berikut:

Buka aplikasi webscarping yang dibangun dan mulai memasukan kata kunci pencarian artikel/jurnal

Cek data artikel/jurnal secara khusus

mulai

Tampil halaman utama admin tidak Form Hapus Data

Proses lihat artikel/jurnal secara luas menjadi khusus sesuai? ya

Hapus Data

Proses lihat artikel/jurnal secara khusus ditampilkan Proses Hapus Data

selesai Tidak

Gambar 6. Flowchart Sistem Proses Pencarian Artikel/ Jurnal Oleh User

Proseshapus t data sukses? ya

Data Dihapus tetersimpan

selesai

Gambar 5. Flowchart Sistem Proses Hapus Data Oleh Administrator Berdasarkan gambar 5 flowchart sistem proses hapus data oleh administrator dapat dijelaskan bahwa flowchart menggambarkan pada saat dihalaman utama admin, admin memilih form hapus data. Setelah itu mengisi form hapus data dan sistem akan melakukan proses hapus data. Jika hasil pengecekan sistem menyatakan bahwa form data sudah di hapus maka sistem akan menghapus data yan di hapus dari dalam database sistem. Namun jika hasil pengecekan sistem menyatakan bahwa form data yang di hapus tidak dapat didelete maka sistem akan menampilkan notifikasi hapus data tidak dapat dilakukan.

Berdasarkan gambar 6 flowchart sistem proses pencarian jurnal oleh user dapat dijelaskan bahwa flowchart menggambarkan pada saat dihalaman pencarian, user masuk ke aplikasi webscraping dan memasukkan kata kunci kemudian sistem melakukan pencarian jurnal secara khusus. 3.

Hasil dan Pembahasan Langkah terakhir dari perancangan aplikasi yang dibuat adalah menjalankan sistem yang sudah dibangun dan melihat hasil akhir dari berjalannya sistem apakah sama dengan seperti yang diinginkan. Ketika aplikasi dijalankan, maka tampilan yang akan muncul pertama sekali adalah seperti Gambar 7 berikut:

Gambar 7 Halaman Login admin

Gambar 7 merupakan tampilan login yang berfungsi sebagai login admiinistrator untuk masuk ke tampilan berikutnya (halaman utama admin).

Halaman update data artikel atau jurnal dapat dilihat seperti gambar 10 berikut:

Setelah tampilan pembuka ini selesai maka akan muncul tampilan berikutnya yaitu tampilan halaman menu utama, pada tampilan halaman menu utama ini terdapat menu – menu yang dapat dipilih oleh user/admin. tampilan halaman utama ini dapat dillihat pada gambar 8 berikut:

Gambar 10. Halaman Update Data Artikel/Jurnal

Gambar 8 Halaman Utama Administrator Halaman utama administrator pada gambar 8 menampilkan informasi halaman utama administrator dan dilengkapi dengan menu input data artikel atau jurnal, menu edit atau hapus data artikel atau jurnal dan menu update data artikel atau jurnal.

Gambar 10 merupakan halaman update data artikel atau jurnal pada implementasi ekstraksi web (web scraping) pada mesin pencari jurnal ilmiah menggunakan metode ekspresi regular. Halaman update data artikel dan jurnal dilengkapi informasi id artikel atau jurnal, judul, pengarang, link dan lokasi. Halaman edit/hapus data artikel atau jurnal dapat dilihat seperti gambar 11 berikut:

Halaman input data artikel atau jurnal dapat dilihat seperti gambar 9 berikut:

Gambar 11. Halaman Edit/Hapus Data Artikel/Jurnal

Gambar 9. Halaman Input Data Artikel/Jurnal Gambar 9 merupakan halaman input data artikel atau jurnal pada implementasi ekstraksi web (web scraping) pada mesin pencari jurnal ilmiah menggunakan metode ekspresi regular. Halaman input data artikel dan jurnal dilengkapi informasi id artikel atau jurnal, judul, pengarang, link dan lokasi.

Gambar 11 merupakan halaman edit atau hapus data artikel atau jurnal pada implementasi ekstraksi web (web scraping) pada mesin pencari jurnal ilmiah menggunakan metode ekspresi regular. Halaman edit atau hapus data artikel dan jurnal dilengkapi informasi id artikel atau jurnal, judul, pengarang, link dan lokasi. 3.6. Halaman Proses Pencarian Halaman proses pencarian artikel atau jurnal aplikasi pada implementasi ekstraksi web (web scraping) pada mesin pencari jurnal ilmiah menggunakan metode ekspresi regular dapat di lihat seperti gambar 12 berikut:

4.

5.

melakukan pencarian jurnal ilmiah atau artikel yang lebih terfokus dan khusus Penerapan metode ekspresi regular membantu pengguna dalam melakukan pencarian jurnal ilmiah atau artikel Daftar Pustaka

[1] Turland. 2010. Analisis Dan Perancangan Sistem Informasi Untuk Keunggulan Bersaing Perusahaan Dan Organisasi Modern. ANDI Offset, Yogyakarta Gambar 12. Halaman Proses Pencarian Artikel/Jurnal Gambar 12. merupakan halaman proses pencarian artikel/jurnal pada implementasi ekstraksi web (web scraping) pada mesin pencari jurnal ilmiah menggunakan metode ekspresi regular. Halaman ini bertujuan untuk mendukung aplikasi yang diusulkan. Yang mana selama ini pemakaian mesin pencari masih sering mempersulit pengguna diantaranya, pada saat mengumpulkan informasi mengenai artikel atau jurnal ilmiah, hasil pencarian yang ditampilkan masih terlalu luas, sehingga informasi yang dicari terkait artikel atau jurnal ilmiah tidak spesifik atau khusus. Dengan pemanfaatan search engine atau mesin pencari dengan web scraping dapatmengumpulkan informasi dari web melalui program bot (robot) atau web crawler yang secara periodik menelusuri web. Proses penggunaan aplikasi web scraping yaitu dengan proses memulai dengan pencarian data dengan membuka situs yang dibangun, kemudian masukan atau input kata kunci pencarian artikel atau jurnal, kemudian sistem mulai melakukan pencarian artikel/jurnal secara luas menjadi lebih spesifik atau khusus dan jika prsoses pencarian sukses maka sistem akan menampilkan artikel atau jurnal secara lebih spesifik dan khusus jika tidak proses pencarian gagal dan pencarian dimulai dari awal kembali.

4.

Kesimpulan Kesimpulan dari hasil implementasi ekstrasi web (web scraping) pada mesin pencari jurnal ilmiah menggunakan metode ekspresi regular yaitu: 1. Salah satu fasilitas pendukung perkembangan internet adalah mesin pencari (search engine). 2. Mesin pencari (search engine) merupakan kombinasi perangkat keras dan perangkat lunak komputer yang disediakan oleh perusahaan tertentu melalui website yang telah ditentukan. 3. Aplikasi dengan menerapkan implementasi ekstraksi web (web scraping) pada mesin pencari memudahkan pengguna dalam

[2] Juliasari, Sitompul. 2012. Panduan Menguasai PHP & MySQL Secara Otodidak. MediaKita, Jakarta Selatan [3] Mardi, 2013. Database Processing, DasarDasar Sistem & Implementasi. Erlangga, Jakarta [4] Akhsan. 2015. Desain Dan Implementasi Tunneling Ipsec Berbasis Unix Dengan ESP (Encapsulating Security Payload) (Studi Kasus : T. Sumeks Tivi Palembang & Pt. Sumatera Ekspres). STMIK PalComTech Palembang