## PERANCANGAN APLIKASI BROWSER PENCARIAN KEYWORD DENGAN MEMANFAATKAN FITUR SEARCH  DI BERBAGAI WEBSITE MENGGUNAKAN METODE QUERY HASH JOIN PADA PERANGKAT ANDROID
Ari Kartanto Sinuhaji 1 , Yolanda Rumapea 2 , Darwis Robinson Manalu 3 Teknik Informatika, Fakultas Ilmu Komputer, Universitas Methodist Indonesia Jl. Hang Tuah No.8 Medan 20152 Telp (061) 4157882, Fax 62-61 4567533 arikartanto27@gmail.com 1 , manaludarwis@gmail.com 3

## ABSTRACT
The internet is a medium of information that is very fast and efficient in disseminating information that can not be separated by distance and time. To search for data through the website, sometimes the user forgets the address of the website to be search  for data  so  that the  data sought  is  difficult to obtain and if  finally obtained,  it  takes  a  long time  to  find  the  data. Therefore a system is built that will facilitate the user in searching data without having to fill in the URL address of the search website, users can choose which websites will be used as a source of data search. Applications that are built using the hash join method where this method alone can be used to join tables containing website data in a database so that the user can display the desired data based on the input entered into the application. The results of the searches obtained are contents that contain texts in the form of titles or contents of web pages that match the keywords that users enter when searching from selected websites. This content can be in the form of web pages, which can then be accessed directly within the application.
Keywords: Hash Join, Join Table, Database, Keyword, Website, Application.

## I. PENDAHULUAN
Pencarian  secara  digital  menjadi  bagian  penting  saat  ini dalam memperoleh informasi dan data. Cara yang dilakukan adalah dengan mengunjungi  situs  ( website )  yang berhubungan  dengan  informasi  yang  dibutuhkan  atau dengan lebih ringkasnya dapat dilakukan pencarian di situs pencari ( Search Engine Sites) .
Dalam  mencari  sebuah  data  lewat  website  sering  sekali pengguna  harus  masuk  terlebih  dahulu  ke  sebuah  alamat website  untuk  mencari  data  yang  diinginkan.  Terkadang pengguna lupa alamat lengkap URL dari website yang dicari sehingga data yang dicari sulit untuk didapatkan dan apabila akhirnya didapatkan membutuhkan waktu yang cukup lama untuk mencari data tersebut. Saat ini website search engine seperti  Google  memang  mempermudah  pengguna  untuk mendapatkan data tertentu  yang diinginkan oleh pengguna tetapi proses pencarian tidak langsung mengarah ke sumber website yang diinginkan.
Sebagai  implementasi  konkrit  dari  aplikasi  yang dibangun adalah pengguna ingin mencari jurnal dari website portal garuda, pengguna ini sendiri tidak mengetahui alamat URL dari website portal garuda. Oleh karena itu sistem yang akan  dibangun  nantinya    akan  memfasilitasi  pengguna dalam melakukan pencarian data tanpa harus mengisi alamat url dari sumber website yang akan dilakukan pencarian dan dari aplikasi yang akan dibangun pengguna dapat memilih website  mana  yang  akan  dijadikan  sebagai  sumber pencarian data.
Aplikasi  yang  dibangun  menggunakan  metode  hash  join dimana  metode  ini  sendiri  dapat  digunakan  untuk melakukan  join  table  yang  berisi  data-data  website  pada database sehingga dapat ditampilkan data  yang diinginkan pengguna  berdasarkan  input  yang  dimasukkan  ke  dalam aplikasi.  Sehinga  tujuan  dari  tulisan  ini  adalah  merancang aplikasi browser pencarian keyword dengan memanfaatkan fitur search di berbagai website menggunakan metode query hash join pada perangkat android. Maka dapat mempercepat proses pencarian yang dilakukan oleh pengguna.

## II. LANDASAN TEORI

## A. Aplikasi
Aplikasi  yaitu  perangkat  lunak  yang  digunakan  untuk membantu pemakai komputer untuk melaksanakan pekerjaannya. Jika ingin mengembangkan program aplikasi sendiri,  maka  untuk  menulis  program  aplikasi  tersebut, dibutuhkan  suatu  bahasa  pemrograman,  yaitu  language software, yang dapat berbentuk assembler, compiler ataupun interpreter.  Jadi  language  software  merupakan  bahasanya dan program  yang ditulis  merupakan program aplikasinya. Language  software  berfungsi  agar  dapat  menulis  program dengan bahasa yang lebih mudah, dan akan menterjemahkannya  ke  dalam  bahasa  mesin  supaya  bisa dimengerti  oleh  komputer.  Bila  hendak  mengembangkan suatu  program  aplikasi  untuk  memecahkan  permasalahan yang  besar  dan  rumit,  maka  supaya  program  aplikasi tersebut  dapat  berhasil  dengan  baik,  maka  dibutuhkan prosedur dan perencanaan yang baik dalam mengembangkannya
Sekarang,  banyak  sekali  program-program  aplikasi yang tersedia dalam bentuk paket-paket program. Ini adalah program-program aplikasi yang sudah ditulis oleh orang lain atau  perusahaan-perusahaan  perangkat  lunak.  Beberapa perusahaan perangkat lunak telah memproduksi paket-paket perangkat  lunak  yangmempunyai  reputasi  internasional. Program-program  paket  tersebut  dapat  diandalkan,  dapat memenuhi  kebutuhan  pemakai,  dirancang  dengan  baik, relatip bebas dari kesalahan-kesalahan, user friendly (mudah digunakan),  mempunyai  dokumentasi manual yang memadai, mampu dikembangkan untuk kebutuhan mendatang,  dan  didukung  perkembangannya.  Akan  tetapi, bila  permasalahannyabersifat  khusus  dan  unik,  sehingga tidak ada paket-paket program yang sesuai untuk digunakan, maka  dengan  terpaksa  harus  mengembangkan  program aplikasi itu sendiri (Andi Juansyah,2015).

## B. Metode query Hash Join
Query  adalah  semacam  kemampuan  untuk  menampilkan suatu data dari database dimana mengambil dari tabel-tabel
yang  ada  didatabase,  namun  tabel  tersebut  tidak  semua ditampilkan  sesuai  yang  diinginkan  atau  data  yang  ingin ditampilkan.    Join  table  adalah  penggabungan  tabel-tabel menggunakan  query  yang  dilakukan  melalui  kolom/key tertentu yang memiliki nilai terkait untuk mendapatkan satu set  data  dengan  informasi  lengkap.  Lengkap  disini  artinya kolom  data  didapatkan  dari  kolom-kolom  hasil  join  antar tabel  tersebut.  Join  diperlukan  karena  perancangan  tabel pada  sistem  transaksional  kebanyakan  dinormalisasi,  salah satu  alasannya  untuk  mengurangi  redundansi  (Junus Sinuraya, 2017) .
Hash join query digunakan untuk  mengolah  data yang berskala besar. Cara  kerja hash join adalah  membuat sebuah  hash  table  berdasarkan  predikat  join.  Setiap  tabel yang memiliki inner atau outer dijadikan kode dangan hash function.  Dari  kode  hash  dari  inner  dan  outer  akan dibandingkan  apabila  kode  kedua  sama,  maka  dilakukan proses  pengecekan  nilai  dalam  kolom.  Jika  nilainya  sama, maka  akan  dimasukkan  kedalam  hasil  (Melany  Mustika Dewi, 2017).

## III. ANALISIS DAN PERANCANGAN

## A.
Analisis Kebutuhan Untuk menyediakan aplikasi yang dapat memberikan  informasi  yang  lengkap,  maka  dibutuhkan komponen penunjang didalam aplikasi.
1. Input Sistem
a. Input data website
b. Input data mengenai deskripsi website
c. Input data admin yang mengelola website pencarian
d. Input data member yang dimana member dapat menambah website pencarian
e. Input data kata kunci pencarian
2. Output Sistem
a. Menampilkan daftar website sumber pencarian b. Informasi mengenai deskripsi website
c. Hasil pencarian dari sumber website yang diinginkan
B. Perancangan Sistem
1. Use Case Diagram
Use case adalah kegiatan atau urutan  interaksi  yang saling berkaitan antara sistem dan aktor. Use case bekerja dengan cara  mendeskripsikan  tipe  interaksi  antara  user  sebuah sistem  dengan  sistemnya  sendiri  melalui  sebuah  cerita bagaimana sebuah sistem dipakai. Use case juga digunakan untuk  membentuk  perilaku  ( behaviour )  sistem  yang  akan dibuat.  Sebuah  use  case  menggambarkan  sebuah  interkasi antara pengguna (aktor) dengan sistem yang ada. Berikut ini adalah use case diagram dari aplikasi yang akan dibangun  :
a. Use Case Diagram Admin
Admin Login Login Mengolah Data User Mengolah Data User Mengolah Data Website Mengolah Data Website <<includes>> <<includes>> Logout Logout <<includes>> Gambar 1 Use Case Diagram Admin
b. Use Case Diagram Pengguna
Gambar 2. Use Case Diagram Pengguna
2. Activity Diagram
Activity  diagram digunakan  untuk  memodelkan atau menggambarkan suatu alur kerja sebuah proses dan urutan  aktivitas  pada  suatu  proses.  Diagram  ini  dibuat untuk  menggambarkan  aktivitas  dari actor . Activity diagram juga  berguna  untuk  menggambarkan  perilaku paralel atau menjelaskan bagaimana perilaku semua use case yang saling berinteraksi.

## a. Activity Diagram Akun Admin
Admin Admin Website Website Login Username dan Password Tidak Valid mengolah Data Website Logout Mengolah Data User
Gambar 3. Activity  Diagram Menu Login b. Activity Diagram Kelola Data Admin Admin Admin Website Website Mengolah Data User Tampil Form Tambah User T Lakukan Penginputan User Data Tidak Valid F Data Berhasil Disimpan T F Tampil Form Ubah User T Lakukan Pengeditan Data User Data Tidak Valid F Data Berhasil Disimpan T F Lakukan Lakukan Penghapusan Data User Data Berhasil Dihapus T T Gambar 4. Activity  Diagram Kelola Data Admin

## c. Activity Diagram Kelola Website
Admin Admin Website Website Mengolah Data website Tampil Form Tambah website T Lakukan Penginputan website Data Tidak Valid F Data Berhasil Disimpan T F Tampil Form Ubah website T Lakukan Pengeditan Data website Data Tidak Valid F Data Berhasil Disimpan T F Lakukan Lakukan Penghapusan Data website Data Berhasil Dihapus T T Gambar 5. Activity  Diagram Kelola Data Website

## d. Activity Diagram Register Pengguna di    Android
Pengguna Pengguna Android Android Register menjadi Member Tampil Form Register T Lakukan Penginputan Data Pengguna Data Tidak Valid F Data Berhasil Disimpan T
Gambar 6. Activity Diagram Register Pengguna di Android

## e. Activity Diagram Pencarian di Aplikasi Android
Pengguna Pengguna Android Android Melakukan Pencaian Tampil Form Pencarian T Masukkan Kata Kunci dan website Kata Kunci Pencarian Tidak Ada F Tampil Hasil Pencarian T
Gambar 7. Activity Diagram Pencarian di Aplikasi Android f. Activity Diagram Akun Member di Android
Gambar 8. Activity Diagram Akun Member di Android

## g. Activity Diagram Mengisi Website Baru Oleh
Member
Pengguna
Pengguna
Android Android Tambah Website Pencarian Tampil Form Tambah Website Pencarian T Lakukan Penginputan Data website pencarian Data Tidak Valid F Data Berhasil Disimpan T
Gambar 9. Activity Diagram Mengisi Website Baru Oleh Member 4. Sequence Diagram Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Diagram ini menunjukkan  sejumlah  contoh  objek  dan message (pesan)yang  diletakkan  diantara  objek-objek  di  dalam use case . Sequence diagram secara  grafis  menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalui pesan pada eksekusi sebuah use case atau operasi. Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima diantara objek dan dalam sekuensi apa.

## a. Sequence Diagram Login Admin
Admin Main:Main Login:Login 1.<<Create>>
2 : username dan password 3 : validasi : Login() 4 : true/false validasi 5 : pesan tidak valid Jika tidak valid
Gambar 10. Sequence Diagram Login Admin

## b. Sequence Kelola Data Admin
Admin Main : Main
Data user 1 : data user() 2 : inputuser() Tabel user 3 <<create>> 4 : membuka koneksi() 6 : hasilquery() 7 : edituser() 5 : queryinput() 8 :<<create>> 9: membukakoneksi() 10: query edit() 11:hasil query() 13 :<<create>> 14: membukakoneksi() 15: query hapus() 16:hasil query() 12 : hapususer() Gambar 11. Sequence Diagram Kelola Data Admin

## c. Sequence Diagram Kelola Website
Admin Main : Main
data 1 : data website() 2 : inputwebsite() Tabel website 3 <<create>> 4 : membuka koneksi() 6 : hasilquery() 7 : editwebsite() 5 : queryinput() 8 :<<create>> 9: membukakoneksi() 10: query edit() 11:hasil query() 13 :<<create>> 14: membukakoneksi() 15: query hapus() 16:hasil query() 12 : hapuswebsite() Gambar 12. Sequence Diagram Kelola Data Website

## d. Sequence Diagram Register Member
Pengguna Main : Main Data User 1 : data member() 2 : inputmember() Tabel member 3 <<create>> 4 : membuka koneksi() 6 : hasilquery() 5 : queryinput()
Gambar 13 Sequence Diagram Register Member
e.  Sequence  Diagram  Penambahan  Website  Pencarian Oleh Member
Pengguna Main : Main Data website
1 : data website() 2 : inputwebsite() Tabel website 3 <<create>> 4 : membuka koneksi() 6 : hasilquery() 5 : queryinput()
Gambar 14. Sequence Diagram Penambahan Website Oleh

## Member

## 5. Class Diagram
Class diagram adalah  diagram  yang  digunakan untuk  menampilkan  beberapa  kelas  serta  paket-paket  yang ada  dalam  sistem/perangkat  lunak  yang  sedang  kita gunakan.
user +Id_user +username +password +email +level +insert() +update() +delete() Website +id_website +id_user +nama_website +id_member +jawaban +insert() +update() +delete() Detail_website +id_detail_website +id_website +url +deskripsi_website +tahun +id_kategori +owner +negara +email +instagram +isidetailwebsite() kategori +id_kategori +nama_kategori +insert() +update() +delete()
Gambar 15. Class Diagram

## IV. Implementasi dan Pengujian Sistem

## A. Pengertian Implementasi Sistem
Setelah  sistem  dianalisis  dan  didesain  secara  rinci,  maka akan  menuju  tahap  implementasi.  Implementasi  sistem adalah langkah-langkah atau prosedur yang dilakukan dalam menyelesaikan desain system, menguji, dan memulai system baru  yang  telah  disempurnakan.  Implementasi  bertujuan untuk mengkonfirmasi modul-modul perancangan, sehingga pengguna  dapat  memberi  masukan  kepada  pengembangan sistem.

## B. Komponen Utama dalam Implementasi Sistem
Agar sistem yang telah dikerjakan dapat berjalan baik atau tidak,  maka  perlu  kiranya  dilakukan  pengujian  terhadap sistem  yang  telah  dikerjakan.  Oleh  karena  itu,  dibutuhkan beberapa  komponen  untuk  mencakup  perangkat  keras ( Hardware ),  perangkat  lunak  ( software ),  dan  perangkat manusia ( Brainware ). a. Perangkat Keras (Hardware) Hardware merupakan  komponen  yang  terlihat  secara  fisik yang saling bekerja sama dalam pengolahan data. Perangkat keras yang digunakan meliputi: a. Monitor
b. CPU ( Central Processing Unit ) c. Hardisk sebagai tempat sistem beroperasi dalam media penyimpanan
d. Memori minimal 1GB
e. Keyboard dan Mouse b. Perangkat Lunak (Software) Software adalah  instruksi  atau  program-program  komputer yang  dapat  digunakan  oleh  komputer  dengan  memberikan fungsi  serta  penampilan  yang  diinginkan.  Dalam  hal  ini perangkat lunak yang digunakan adalah:
a. Operating System Windows 10
b. Android Studio untuk membuat aplikasi android
c. Adobe  Dreamwever  CS5  sebagai tools  editor untuk mendesain website
d. XAMPP  1.7.1  dimana  terdapat  Apache  sebagai web server ,  PHP  sebagai  bahasa  pemrograman  yang digunakan, dan MySQL sebagai software untuk server database .
e. Google  Chrome  untuk  menjalankan  program  web admin yang telah dirancang.
f. Minimum Android Jelly Bean 4.2 Untuk menjalankan aplikasi android
c. Unsur Manusia (Brainware) Brainware merupakan  faktor  manusia  yang  menangani fasilitas komputer yang ada. Faktor manusia yang dimaksud adalah orang-orang yang memiliki bagian untuk menangani sistem dan merupkan unsur manusia yang meliputi: a. System  Analyst ,  yaitu  orang  membentuk  dan membangun fasilitas tampilan sistem atau program.
b. Programmer, yaitu  orang  yang  digunakan  dalam membangun suatu program.
c. Operator ( Administrator ), yaitu orang yang mengoperasikan sistem seperti memasukkan data untuk dioperasikan  oleh  komputer  dalam  menghasilkan informasi dan lain sebagainya.
d. Public, yaitu  orang  yang  memakai  sistem  yang  telah dirancang untuk informasi yang dibutuhkan.

## C. Prototipe Aplikasi
Berikut  ini  adalah  tampilan  program  aplikasi  android    dan tampilan  program  website  dari  hasil  desain  program  yang telah dibangun.

## 1. Tampilan Menu Utama
Tampilan menu utama berfungsi untuk menampilkan menu-menu yang terdapat pada aplikasi, menu utama  berisi  pilihan  menu  pencarian,  tentang  aplikasi, register  dan  login,  jika  pengguna  telah  login  maka  pada menu  utama  akan  muncul  pilihan  menu  beri  saran  yang berfungsi  bagi  member  untuk  memasukkan  data  website yang  ingin  ditambahkan.  Tampilan  Menu  utama  dapat dilihat pada gambar 4.2.

## Gambar 16 Tampilan Menu Utama

## 2. Tampilan Aplikasi Pencarian
Tampilan aplikasi pencarian adalah tampilan yang akan  digunakan pengguna  untuk  mencari data berdasarkan sumber  pencarian  dari website yang  diinginkan.  Tampilan aplikasi  pencarian  ini  menampilkan  nama  sumber website , logo website ,  dan  deskripsi website pencarian  tersebut, selain  itu  terdapat  juga  kolom  pencarian  bagi  pengguna dimana pengguna dapat mengisi kata pencarian ( keywords ) yang ingin dicari oleh member . Tampilan aplikasi pencarian dapat dilihat pada gambar 16.

## Gambar 17 Tampilan Aplikasi Pencarian

## 3. Tampilan Hasil Pencarian
Tampilan  hasil  pencarian  adalah  perancangan yang  digunakan  pengguna  untuk  mencari  hasil  pencarian berdasarkan  kata  kunci  pencarian  dan  sumber website pencarian  yang  sudah  diinput  pengguna  sebelumnya. Terdapat juga tombol drop menu untuk  mengurutkan  hasil
pencarian berdasarkan relevansi dan tanggal, Tampilan hasil pencarian dapat dilihat pada gambar 7.

## Gambar 18 Tampilan Hasil Pencarian
4. Tampilan Data Website
Tampilan  menampilkan  data website berfungsi bagi  admin  untuk  menampilkan  data  admin  yang  sudah diinput  di  form website .  Tampilan  data website ini  sendiri ditampilkan dalam bentuk tabel yang dimana kolom-kolom yang  ditampilkan  dalam  bentuk  tabel  adalah  kolom  nama website , url, deskripsi website , logo website , dan kolom opsi apakah ingin  mengubah  data website atau menghapus data website .  Tampilan  output  pengolahan  data website dapat dilihat pada gambar 12.

## Gambar 19 Tampilan Data Website

## V. PENUTUP
Sebagai  kesimpulan  dari  hasil  pembahasan  dan  pengujian antara lain:
1. Aplikasi yang dibangun dapat memudahkan pengguna dalam  mencari  suatu  materi  tanpa  harus  mengujungi website tertentu.
2. Metode  Hash  Join  dapat  membantu  dalam  proses pencarian  karena  dapat  merelasikan  antara  dua  tabel menjadi  satu  hubungan  yang  dapat  menampilkan informasi yang lebih rinci pada saat proses pencarian.
3. Pengguna  dapat  menyarankan  sumber  website pencarian  dengan  mengisi  di  form  saran  website  dan apabila  admin  menerima  saran  dari  website  yang disarankan pengguna  maka sumber  website pencarian akan tampil dalam aplikasi.
4. Dari hasil pengujian  yang sudah dilakukan dapat dibandingkan bahwa metode hash join lebih cepat dari  metode  natural  join  dalam  melakukan pencarian  pada kasus penelitian kali ini.

## DAFTAR PUSTAKA
[1] Ade  Hendini.  2016. Pemodelan  UML  Sistem Informasi  Monitoring  Penjualan  Dan  Stok  Barang (Studi  Kasus:  Distro  Zhezha  Pontianak) .  Jurnal Khatulistiwa  Informatika,  Vol.  IV,  No.  2  Desember 2016
[2]    Andi  Juansyah.  2015. Pembangunan  Aplikasi  Child Tracker  Berbasis  Assisted  –  Global  Positioning System  (A-Gps)  Dengan  Platform  Android .  Jurnal
Ilmiah Komputer Dan Informatika (Komputa) Edisi 1. Volume 1. 1 Agustus 2015 Issn : 2089-9033
[3]    Astria Firman. 2016. Sistem Informasi Perpustakaan Online  Berbasis Web . E-Journal Teknik  Elektro Dan Komputer Vol.5 No.2 Januari-Maret 2016, Issn 2301- 8402
[4]  Imaduddin  Al Fikri. 2016. Aplikasi Navigasi Berbasis
Perangkat Bergerak
Dengan Menggunakan Platform Wikitude Untuk Studi Kasus Lingkungan ITS . Jurnal Teknik ITS Vol. 5, No. 1, (2016) Issn: 2337-3539 (2301-9271 Print)
[5]  Indra  Griha  Tofik  Isa.  2017. Implementasi  Kansei Engineering
Dalam
Perancangan  Desain  Interface  E-Learning  Berbasis Web  (Studi  Kasus:  Smk  Negeri  1  Sukabumi) .  Jurnal Teknik  Informatika  Dan  Sistem  Informasi  E-Issn  : 2443-2229 Volume 3 Nomor 1 April 2017
[6]   Indra  Griha  Tofik  Isa.  2017. Perancangan  Aplikasi
Koperasi Simpan Pinjam Berbasis Web (Studi Kasus Koperasi  Mitra Setia) .  [Issn  20886969]  Vol.  5  Edisi 10, Mar 2017
[7]   Junus  Sinuraya.  2017. Metode  Pencarian  Data Menggunakan  Query  Hash    Join  dan  Query  Nested Join. Jurnal Teknovasi Volume 04, Nomor 01, 2017, 42-50 ISSN : 2355-701X
[8]    Melany Mustika Dewi. 2017. Analisis Perbandingan Optimasi Query Nasted Join Dan Hash Join Pada Mysql Server . CSRID Journal, Vol.9 No.1 Februari 2017, Hal. 31-41 Issn: 2085-1367
[9]    Putu  Laxman  Pendit,  Ph.D.  2003. Penelitian  Ilmu Perpustakaan  dan  Informasi  :  Suatu  Pengantar Diskusi Epistemology dan Metodologi . Jakarta : JIP- FSUI
[10]   Septia Wulandari. 2013. Sistem Informasi CRM (Customer Relationship Management) Pada Cv.Indah Cemerlang Berbasis Website . Progam Studi Sistem Informasi, STMIK GI MDP, Palembang