Halaman jurnal: http://jurnal.yudharta.ac.id/v2/index.php/EXPLORE-IT/
Akreditasi Sinta 5 (S5) – SK No. 36/E/KPT/2019 p-ISSN 2086-3489 (Print)- e-ISSN 2549-354X (Online) DOI https://doi.org/10.35891/explorit

## Implementasi  Analisa  Semantik  Pada  Webdriver  Untuk  Otomatisasi  Scraping Profil Pengguna Facebook
Maulidiansyah 1 , Zainal Arifin 2
1 Teknologi Informasi, Universitas Nurul Jadid, Probolinggo, Indonesia
2 Teknologi Informasi, Universitas Nurul Jadid, Probolinggo, Indonesia email: 1 maulid@unuja.com, 2 zainal@unuja.ac.id

## INFO ARTIKEL
ABSTRAK
Sejarah Artikel:
Diterima 6 Mei 2020 Direvisi - Disetujui 07 Desember 2020 Dipublikasi 17 Desember 2020
Penelitian  ini  membahas  tentang  implementasi  Analisa  semantik  pada  webdriver  untuk mendapatkan data profil pengguna facebook secara otomatis. Pada era digital ini, data adalah sesuatu yang sangat berharga. Hal ini dikarenakan data dapat di olah menjadi pengetahuan baru yang bisa digunakan  dalam  semua  lini  kehidupan  seperti  pendidikan,  ekonomi,  bisnis  dan  lain-lain.  Facebook adalah salah satu tempat penyimpanan data dalam jumlah besar. Hanya saja tidak mudah mendapatkan data  dari  Facebook.  Dibutuhkan  sebuah  teknik  yang  bisa  digunakan  oleh  sebuah  bot  untuk  bisa menjelajah  halaman  Facebook,  mengambil  data  profil  pengguna  dan  mengelompokkannya berdasarkan  kategori  profil.  Teknik  tersebut  adalah  membuat  bot  dari  Webdriver  dengan mengimplementasikan analisa semantik.
Tahapan proses dalam penelitian ini adalah : Memahami struktur HTML pada halaman Facebook untuk  mengetahui  pola  data  profil  pada  Facebook.  Kemudian  Bot  akan  dikembangkan  agar  bisa membuka halaman profil pengguna, mengambil data profil dan kemudian menganalisanya berdasarkan pola  pada  struktur  HTML  halaman  Facebook.  Berdasarkan  hasil  uji  coba  pada  internet  dengan kecepatan 20Mbps, bot ini dapat mendapatkan 100 data profil penguna Facebook dalam waktu ± 20 menit.
Katakunci: Analisa Semantik Webdriver Facebook Bot

## ABSTRACT
Keyword: Semantic Analysis Webdriver Facebook Bot
This  research  discusses  the  implementation  of  semantic  analysis  on  the  webdriver  to  get  Facebook  user profile data automatically. In this digital era, data has become invaluable. Data can be utilized for everyday applications  such  as  in  education,  economics  and  business  among  many  other  industries.  Facebook  is  a storage  place  for  large  amounts  of  data.  But,  retrieving  profile  data  from  Facebook  is  a  complicated endeavor. Therefore, unique methods must be engineered within the bot processes. These countermeasures swiftly browse, retrieve user profile data, and group them based on profile categories.  This technique uses the webdriver to create the bot by implementing semantic analysis We begin by studying the HTML structure on any given Facebook page to determine the pattern of profile data. Then the Bot will be developed so that it can open the user's profile page, retrieve profile data and then analyze it based on the patterns on the HTML structure of the page. With download speeds of 20Mbps, test results indicate this bot is capable of extracting 100 Facebook user profiles in approximately 20 minutes
DOI Artikel:
10.35891/explorit.v%vi%i.2283
@2020 diterbitkan oleh Prodi Teknik Informatika Universitas Yudharta Pasuruan

## 1. Pendahuluan
Keberadaan data menjadi sangat berharga pada era ini. Hal ini karena dengan pengolahan data dapat diperoleh pengetahuan baru yang bisa digunakan untuk  banyak  hal  seperti  penelitian,  memprediksi  harga  saham,  melihat  ketertarikan  pembeli,  analisa  sentimen  dan  lain-lain.  Proses  tersebut  biasa disebut dengan data mining. Data mining adalah proses untuk mengubah  sesuatu  yang  tidak  bermanfaat menjadi sesuatu yang berharga dan dapat memberikan suatu informasi yang penting[1]. Salah satu tempat yang menyimpan data penting dalam jumlah besar adalah sosial media seperti Facebook. Tapi tidak mudah untuk mendapatkan dari situs tersebut. Karena facebook tidak mengizinkan bot penjelajah otomatis untuk mengakses halamannya. Maka dari itu butuh tool seperti webdriver untuk mendapatkan data pengguna Facebook secara  otomatis dan analisa semantik untuk mengolah dan mengelompokkan data pengguna pada kategori profil seperti pendidikan, alamat, link media sosial, no telepon, whatsapps dan lain-lain. Jadi dengan teknik ini pengambilan data pengguna dari situs Facebook bisa lebih cepat dan akurat.
Semantik bertujuan untuk menerjemahkan kalimat menjadi bentuk representasi lain[2]. Sedangkan teknik yang digunakan untuk mengekstraksi data HTML pada halaman Facebook adalah Regular Expression. Regular Expression berfungsi adalah teknik yang dominan digunakan untuk mengekstrak informasi saat ini[3].

## 2. Kajian Teori
a. Web Semantik
Dalam dunia teknologi informasi penggunaan Word Wide Web (WWW) sangat banyak digunakan untuk mencari informasi berdasarkan metadata, dalam pencarian metadata tersebut lebih dikenal dengan WEB Semantik dimana metode tersebut adalah sebuah kumpulan teknologi dalam dunia
komputer yang mampu membedakan sebuah informasi yang berlandaskan pada metadata. Hal ini diharapkan dapat membantu pengguna dalam melakuka pencarian informasi secara cepat dan akurat[4].
b. Arsitektur Web Semantik
1). RDF (Resource Description Framework)
Sumber informasi yang didapatkan dan sebuah web baik itu biodata, tenpat maupun sebuah dokumen dan data lainnya sehingga penggunaan URI (Iniform Resource Identifier) sebagai alat untuk mengindntifikasi secara unik dalam membedakan sebuah resource. Agar penggunaan sumber daya sebuah web (Web Resource) mampu dideskripsikan secara jelas, maka direkomendasikanlah sebuah bahasa RDF (Resource Description Framework) oleh lembaga Word Wide Web Consortium / W3C sebagai standart dalam mendeskripsikan sebuah web resource [2].
2). OWL (Web Ontology Language)
OWL merupakan salah satu bahasaya yang telah direkomendasi oleh lembaga W3C, dimana bahasa tersebut merupakan bahasa ontologi yang paling ekspresif diguanakn dalam sebuah aplikasi semantik web  yang digunakan untuk mereperesentasi sebuah arti dari sebuah terminologi-terminologi pada sebuah pengetahun dimana relasi pada terminolgi tersbut tidak bisa dipisah dari doumen dan aplikasi web. Penggunaan OWL  dimaksudkan untuk melakukan sebuah representasi makna dari sebuah kosa kata serta sebuah relasi antara kata dengan kata yang lain sehingga dapat menghasilkan sebuah informasi yang eksplisit. Pembuatan OWL dibentuk dari penggabungan RDF dan RDFS dan ditambahkan vocabulary agar sebuah classes, properties serta indivisuals dapat didefinisikan. OWL memberikan pilihan sub bahasa yang dapat digunakan sesuai dengan kebutuhan, diaman pilihan tersebut adalah OWL Lite, OWL DL, serta OWL FULL[5].

## 3). SPARQL (SPARQL Protocol and RDF Query Language)
Selain RDF dan OWL W3C juga membuat senuah standart tentang penggunaan query dalam memperoleh data dari web resource, dimana  standart tersebut dinamakan SPARQL (SPARQL Protocol and RDF Query Language). SPARQL Query memiliki triple pattern yaitu Subjek, predikat serta objek  diman  dari  masing-masing  kriteria  tersebut  dpat  dijadikan  sebuah  variabel  dalam  penggunaan  SPARQL.  Penggunaan  Query  SPARQL berdasarkan kepada proses mencocokkan sebuah pola triple pada RDF, ada beberapa sintax yang dapat digunakan pada query SPRQL diantaranya adalah :

## a) PREFIX Statemen PREFIX
Adalah sebuah cara menunjukkan informasi yang ada dalam sebuah resource dimana carai ini diwakili oleh URI (Uniform Resource Identifier), pada intinya PREFIX ini diginakan untuk membuat simple sebuah sumber data.
b) SELECT Statement SELECT
Pendefiniasian sebuah variabel dimana hasil nya akan dikembalikan sebagai hasil proses query, Setiap variabel diawali dengan notasi “?”. c) WHERE
Pengguaan WHERE digunakan untuk mendefiniskan sejumlah pattern yang wajib dimiliki dari setiap proses query. Semua pola yang mewakili sebuah kalimat RDF harus sesuai dengan RDF Triple yang terdiri dari sebuah subjek, predikat, dan objek. RDF triple tersebut dapat direpresentasikan oleh URI atau sebuah variable dan nilai literal.

## 3. Metodologi Penelitian
Metode penelitian yang digunakan dalam penelitian ini adalah Research and Development (R&D)
Gambar 1. Bagan Penelitian R&D [Sumber: google.com]
a. Potensi dan Masalah
Untuk mendapatkan sebuah permasalahan yang terjadi perlu dilakukannya sebuah penelitian awal. Hal ini dilakukan untuk mendapatkan informasi dan pengumpulan data serta mecari referensi yang tepat untuk mendukung dari sebuah penelitan
b. Mengumpulkan Informasi
Proses pengumpulan data dilakukan dengan cara melakukan uji coba pencarian data tanpa menggunan menggunakan metode semantik. Peran ketua pengusul pada tahap ini adalah mencari sumber referensi tentang penggunaan semantik dan Webdriver Selenium. Sedangkan untuk anggota pengusul melakukan beberapa uji coba pencarian tanpa menggunakan metode semantik dan Webdriver Selenium c. Desain Produk
Proses  ini  dilakukan  setelah  proses  pengumpulan  data  dilakukan,  hal  ini  dilakukan  untuk  mempermudah  dalam  proses  pengembangan aplikasi, pada proses ini ketua pengusul melakukan desain sistem, sedangkan anggota pengusul memberikan informasi terkait hasil uji coba pencarian untuk dijadikan acuan.
d. Validasi Desain
Untuk  mengatahui  kesesuaian  sebuah  desain  sistem  maka  perlu  dilakukan  validasi  desain  dengan  aplikasi  yang  telah  dihasilkan.  ketua pengusul mengemukan hasil rancangan desain dan aplikasi sedangkan anggota pengusul memberikan masukan sesuai dengan hasil. Langkah ini dilakukan untuk mevalidasi desain dan aplikasi agar siap diterapkan.
e. Perbaikan Desain
Proses perbaikan desain dilakukan untuk menghasilkan desain  yang lebih sempurna, proses ini dilakukan mengacu kepada hasil validasi desai yang telah dilakukan.
f. Uji Coba Produk
Setelah desain dan aplikasi selasai dibuat maka perlu ada proses uji coba produk untuk mengetahui kesesuaian aplikasi denga kebutuhan, pada proses ini ketua pengsul melakukan uji coba pencarian dengan menggunakan metode semantic, sedangkan anggota pengusul melakukan dokumentasi dari hasil percobaan.
g. Revisi Produk
Revisi produk dilakuakn apabila dalam tahapan uji coba mengalami ketidaksesuain dengan sistem, revisi ini dilakukan dengan mengacu kepada hasil dokuntasi uji coba.
h. Uji Coba Pemakaian
Proses  pengujian  ini  dilakukan  dengan  sistem  black  box  testing.  Menurut  Nidhra  dan  Dondeti  black  box  testing  juga  disebut  functional testing, sebuah teknik pengujian fungsional yang merancang test case berdasarkan informasi dari spesifikasi[6].
Pada proses ini ketua pengusul membuat draf kuisioner untuk untuk diberikan kepada masyarakat, sedangkan anggota pengusul membantu ketua dalam penyebarang kuisioner
i. Revisi Produk Lanjut
Pada proses ini dilakukan proses perbaikan yang mengacu pada hasil kuisioner yang telah direkap oleh anggota pengusul, yang kemudian akan dijadikan acuan oleh ketua pengusul dalam melakukan perbaikan sistem dan aplikasi.
j. Pembuatan Produk Masal
Proses ini adalah proses akhir yang dilakukan dalam proses pengembangan aplikasi agar bisa digunakan oleh masyarakat

## 4. Hasil Uji Coba Dan Pembahasan
Gambar 2. Flowchart Sistem
Dalam proses ekstraksi data profil pengguna Facebook, Kami menggunakan analisa semantik untuk mengenali kategori profil pengguna. Hal ini dilakukan karena data profil yang ditampilkan di halaman facebook tidak memiliki label kategori seperti data pendidikan. Semantik dapat menyamakan kata-kata atau kalimat yang memiliki makna yang sama meskipun kata-kata atau kalimat tersebut berbeda[7].

## Gambar 3. Halaman Pendidikan Pengguna Facebook [Sumber: facebook.com]
Pada  gambar  di  atas  facebook  hanya  menampilkan  riwayat  pendidikan  pengguna,  tapi  tidak  disebutkan  jenjang  pendidikan  pada  setiap  riwayat pendidikan. Dengan semantik, kita bisa mengetahui jenjang setiap pendidikan hanya dari nama instansi pendidikan tersebut. Analisa semantik mengenali makna dari kata/kalimat berdasarkan pola. Pola dapat diketahui dengan menganalisa struktur HTML pada halaman Facebook. Contoh, jika pada jenjang pendidikan terdapat kata SMA, MA, SMK dan kata yang berkaitan dengan 3 kata tersebut seperti “Sekolah Menengah Atas”, maka Riwayat pendidikan tersebut akan diberi masukkan ke jenjang pendidikan menengah atas.
Bot dikembangkan menggunakan bahasa pemrograman Java dan plugin Selenium Webdriver.  Plugin ini bisa digunakan untuk membuat otomatisasi browser yang  tangguh, terukur dan dapat didistribusikan ke banyak lingkungan sistem[8]. Adapun tampilan dari Bot adalah seperti gambar 3.

## Gambar 4. Tampilan Bot
Pada Bot terdapat 2 setting yang harus di isi, pertama jumlah scrape dan waktu jeda.  Waktu jeda ini bersifat acak antara waktu minimum dan maksimum. Hal ini digunakan untuk mengelabui bot detector milik Facebook dengan membuat bot ini berperilaku seolah-olah manusia. Setelah itu, pengguna user bisa menekan tombol “Buka Facebook” untuk membuka halaman login Facebook dan User akan diminta login secara manual. Selanjutnya user dapat menekan tombol “Mulai” untuk memulai proses scraping. Adapun tahapan proses scraping adalah sebagai berikut :

## 1. Bot akan membuka halaman daftar teman
Gambar 5. Halaman Daftar Teman Facebook
2. Pada halaman daftar teman, Bot akan membuka halaman profil setiap teman facebook satu-persatu
Gambar 6. Halaman “Tentang” Facebook
3. Bot akan mengambil data profil teman facebook dan mengelompokkan data tersebut menggunakan metode Analisa Semantik (Regular Expression)
Adapun hasil dari scraping bot ini adalah berupa  file CSV  yang berisi data profil pengguna Facebook  yang sudah dikelompokkan ke dalam kolom- kolom.
Tabel 1 : Data Hasil Scraping

## Tabel 1 : Data Hasil Scraping (Lanjutan)

## 5. Kesimpulan
Berdasarkan hasil uji coba pada internet dengan kecepatan 20Mbps, Bot ini dapat mendapatkan 100 data profil penguna Facebook dalam waktu ± 20 menit. Bot ini juga bisa dijalankan secara paralel untuk mendapatkan hasil scraping  yang lebih  cepat dan singkat. Selain itu, kecepatan internet dan spesifikasi  PC  yang  digunakan  akan  berpengaruh  terhadap  kecepatan  Bot.  Dari  hasil  uji  coba  tersebut  dapat  disimpulkan  bahwa  Bot  ini  bisa mendapatkan data profil pengguna Facebook dalam jumlah banyak dengan waktu yang relatif singkat. Selain itu, Bot ini juga bisa mengelompokkan data tersebut berdasarkan kategori profil seperti pendidikan.

## 6. Daftar Pustaka
[1] S. Rizal, P. Studi, T. Informatika, and U. Yudharta, “Penerapan Algoritma Naïve Bayes Untuk Prediksi Penerimaan Siswa Baru Di Smk Al- Amien Wonorejo,” Explor. IT  J. Keilmuan dan Apl. Tek. Inform. , vol. 10, no. 1, pp. 14–21, 2018, doi: 10.35891/explorit.v10i1.1671.
[2] J. Suciadi, “Studi Analisis Metode-Metode Parsing Dan Interpretasi Semantik Pada Natural Language Processing,” J. Inform. , vol. 2, no. 1, pp. 22–22, 2001, doi: 10.9744/informatika.2.1.pp.13-22.
[3] Y. Li, R. Krishnamurthy, S. Raghavan, S. Vaithyanathan, and H. V. Jagadish, “Regular expression learning for information extraction,” EMNLP 2008 - 2008 Conf. Empir. Methods Nat. Lang. Process. Proc. Conf. A Meet. SIGDAT, a Spec. Interes. Gr. ACL , no. October, pp. 21–30, 2008, doi: 10.3115/1613715.1613719.
[4] M. Unik and M. Ramli, “Penerapan Metode Semantik Search Dalam Sistem Informasi Pencarian Dokumen Kerja Praktek Dan Skripsi Berbasis Web,” Rabit  J. Teknol. dan Sist. Inf. Univrab , vol. 3, no. 2, pp. 83–88, 2018, doi: 10.36341/rabit.v3i2.480.
[5] Y. F. Badron, F. Agus, and H. R. Hatta, “STUDI TENTANG PEMODELAN ONTOLOGI WEB SEMANTIK DAN PROSPEK PENERAPAN PADA BIBLIOGRAFI ARTIKEL JURNAL ILMIAH,” Pros. Semin. Ilmu Komput. dan Teknol. Inf. , vol. 4, no. 1, pp. 2338– 5081, 2017, [Online]. Available: http://journal.student.uny.ac.id/ojs/ojs/index.php/pgsd/article/viewFile/135/130.
[6] S. Nidhra, “Black Box and White Box Testing Techniques - A Literature Review,” Int. J. Embed. Syst. Appl. , vol. 2, no. 2, pp. 29–50, 2012, doi: 10.5121/ijesa.2012.2204.
[7] N. Riza Akbar, R. Faisal, and H. Budi, “Pengembangan Data Uji Sistem Komputasi Kemiripan Teks Secara Semantik Berbahasa Indonesia,” Semin. Inform. Apl. Polinema , 2016.
[8] Anonymous, “Selenium WebDriver. Internet: https://www.selenium.dev, 03 September 2020”.