## PERBANDINGAN ALGORITMA BINARY SEARCH DAN SEQUENTIAL

## SEARCH UNTUK PENCARIAN PERSEDIAAN STOK BARANG BERBASIS WEB
Hanzhalah Ramadhan 1 , Fauziah 2 , Dhieka Avrilia Lantana 3
Program Studi Informatika, Universitas Nasional 1,2 hanzhalahramadhan17@gmail.com 1 , fauziah@civitas.unas.ac.id 2 , dhiekalantana@civitas.unas.ac.id 3
Submitted February 11, 2023; Revised July 9, 2023; Accepted October 31,2023

## Abstrak
Persediaan barang merupakan salah  satu aset terpenting dari sebuah perusahaan. Sehingga harus ada penanganan internal yang baik untuk banyaknya jumlah data barang di gudang. Pada saat ini, sistem yang ada masih secara manual dalam proses laporan barang. Hal ini dapat mengakibatkan kesalahan dalam  penyimpanan  data.  Maka  dari  itu,  dibuatlah  aplikasi website untuk  persediaan  barang  yang memudahkan pengguna menyimpan dan mencari barang yang dibutuhkan. Aplikasi persediaan barang menggunakan algoritma binary search dan sequential search untuk proses pencarian data barang untuk mempercepat  pencarian  data.  Penelitian  ini  membandingkan  antara  algoritma binary  search dan sequential  search .  Adapun  proses  pengujiannya  menggunakan microtime untuk menghasilkan  waktu yang  tercepat.  Hasil  pengujian  ini  dilakukan  sebanyak  50  kali  dari  500  data, binary  search menghasilkan  waktu  rata-rata  sebesar  0.0402524  ms  dan sequential  search sebesar  0.0519893  ms. Selanjutnya  pengujian  berikutnya  menggunakan  cara  kompleksitas  waktu  pencarian  dengan  kasus terbaik  dengan  algoritma binary  search sebesar  0.0125  ms  dan sequential  search 0.11293  ms. Kesimpulannya bahwa menggunakan algoritma binary search memiliki waktu tercepat dibandingkan algoritma sequential search . Kata Kunci : Persediaan Barang, Binary Search , Sequential Search , Website

## Abstract
Inventory of goods is one of the most important assets of a company. So. there must be good internal handling  for  the  large  amount  of  data  items  in  the  warehouse.  At  this  time,  the  existing  system  of goods reporting is still conducted manually. This can result in errors in data storage. Therefore, it is necessary to develop a website application for inventory that can help users to more easily store and find the items needed. The application is the one using binary search and sequential search algorithms for the process of searching for goods data to speed up data search. This study compares the binary search  and  sequential  search algorithms.  The testing  process  uses  microtime  to produce  the  fastest time.  The  results  of  the  test  carried  out  50  times  out  of  500  data  show  binary  search  produced  an average  time  of  0.0402524  ms  and  sequential  search  of  0.0519893  ms.  Then,  the  next  test  uses  the searching time complexity method with the best case with a binary search algorithm of 0.0125 ms and a sequential search of 0.11293 ms. The conclusion is that using the binary search algorithm has the fastest time compared to the sequential search algorithm.
Keywords : Inventory, Binary Search, Sequential Search, Website

## 1. PENDAHULUAN
Perkembangan  teknologi  saat  ini  telah berkembang  dengan  sangat  pesat.  Hal  ini membawa  manfaat  besar  dalam  berbagai sektor  bisnis.  Kecepatan,  ketepatan,  dan efisiensi dalam pengelolaan serta pemrosesan  data  menjadi  faktor  krusial
bagi  perusahaan  dalam  meningkatkan produktivitas, efisiensi waktu, dan penghematan  biaya  [1].  Sistem  persediaan barang  memegang  peranan  penting  dalam bisnis, sehingga beberapa perusahaan perlu mengelola  persediaannya  dengan  benar. Beberapa  perusahaan  memiliki  sistem manajemen  pengelolaan  data  persediaan
barang  yang  masih  manual.  Masalah  yang sering terjadi dari pengelolaan barang yang masih  manual  adalah  proses  pengolahan data yang  tidak teratur  dan tidak konsisten sehingga sulit mengetahui jumlah persediaan barang yang ada [2]. Penyimpanan  barang,  pencarian  barang, transaksi barang dan laporan barang secara manual  mungkin  tidak  dapat  mendukung sirkulasi barang yang benar. Terutama jika berhadapan  dengan  data  yang  cukup banyak.
Dalam  upaya  untuk  meningkatkan  kinerja dan  keefektifan  pencarian  persediaan  stok barang,  penggunaan  algoritma  yang  tepat sangatlah  penting.  Dua  algoritma  yang umum  digunakan  dalam  pencarian  data adalah binary  search dan sequential search . Binary search merupakan algoritma  pencarian  yang  semua  elemen datanya  telah  diurutkan  dan  diuji  satu persatu sampai elemen datanya di temukan [3].  Sedangkan sequential  search adalah algoritma untuk melakukan pencarian  data dimana    setiap  elemen  array  satu  persatu akan  di  bandingkan  secara  beruntun  dari elemen  pertama  hingga  elemen  terakhir dari array [4].
Beberapa penelitian sudah banyak dilakukan  untuk  membandingkan  kedua algoritma  tersebut,  diantaranya  adalah Perbandingan Algoritma Sequential Search dan Algoritma Binary  Search Pada Aplikasi Kamus Bahasa Indonesia Menggunakan  PHP  Dan  jQuery  dengan kesimpulan algoritma binary search menjadi algoritma yang memiliki kecepatan pencarian tercepat dibandingkan algortima sequential  search [5].  Selain  itu penelitian  mengenai  perbandingan  kedua algoritma  juga  telah  dilakukan  pada aplikasi  koperasi.  Pada  penelitian  tersebut diperoleh  kesimpulan  bahwa  algoritma binary  search memiliki  waktu  pencarian yang  lebih  cepat.  Hasil  pencarian binary search adalah  0.89/detik  sedangkan  untuk
pencarian sequential search memiliki  nilai kecepatan 1.13/detik [6]. Penelitian mengenai  analisis  algoritma binary  search dan sequential search juga telah dilakukan pada Big Data . Dari  hasil analisis  tersebut diperoleh  kesimpulan  bahwa  algoritma binary  search memiliki  kompleksitas waktu  yang  lebih  cepat  dibandingkan sequential search [7] .
Penelitian  ini  akan  menghasilkan  suatu aplikasi  yang  digunakan  untuk  pencarian persediaan stok barang dengan
menggunakan algoritma yang tepat. Adapun algoritma yang akan dibandingkan yaitu algoritma binary search dan sequential search . Kedua algoritma tersebut  akan  digunakan  untuk  melakukan pencarian data dan akan diuji dengan mana yang  lebih  cepat.  User  dapat  mencari barang yang dibutuhkan dengan memasukkan kata kunci atau keyword pada kolom  yang  telah  disediakan.  Kemudian sistem akan memunculkan informasi persediaan  barang  sesuai  inputan,  namun jika  tidak  ada  sesuai  inputan  maka  sistem akan memunculkan notifikasi  barang tidak ditemukan.

## 2. METODE PENELITIAN
Proses pengumpulan data dilakukan di PT. Telkomsel  yang  berada  di  Jalan  TB Simatupang, Kota Jakarta Selatan. Adapun data  persediaan  barang  antara  lain  berupa Kabel  Fiber  Optik,  RRU  ( Remote  Radio Units ),  Antena  Sectoral,  BBU  ( Base  Band Unit ), Retrifier .  Algoritma  pencarian  data yang digunakan untuk pembangunan aplikasi  adalah  algoritma binary  search dan sequential  search. Kedua  algoritma tersebut  kemudian  akan  dibandingkan mana  yang  lebih  efisien  untuk  aplikasi pencarian barang. Tahapan penelitian dapat ditunjukkan pada gambar 1.

## Gambar  1. Tahapan Penelitian

## Algoritma Pencarian
Proses  pencarian  (searching)  merupakan suatu komponen penting dalam pengolahan data.  Pencarian  dilakukan  dengan  tujuan menemukan  nilai  atau  data  tertentu  di dalam  sekumpulan  data  yang  memiliki jenis  yang  sama,  baik  itu  data  dasar maupun data kompleks. Algoritma pencarian  (searching  algorithm)  secara umum  merupakan  suatu  algoritma  yang menerima  sebuah  argumen  kunci  sebagai input  dan  menggunakan  langkah-langkah tertentu  untuk  mencari  rekaman  yang sesuai  dengan  kunci  tersebut.  Setelah proses  pencarian  dilakukan,  terdapat  dua kemungkinan  hasil  yang  dapat  diperoleh, yaitu data yang dicari ditemukan (berhasil) atau tidak ditemukan (gagal)[8] .

## Binary Search
Binary  search menggunakan  pencarian secara  berurutan  dan  data  yang  tersedia diurutkan  dan  jika  tidak  diurutkan  maka pencarian  tidak  bisa  lakukan  [9]. Binary search mengurangi  jumlah  perbandingan yang  dilakukan  antara  data  yang  akan dicari  dan  data  yang  ada,  yang  berlaku
untuk  jumlah  data  yang  sangat  besar  [10]. Algoritma  ini  bekerja  ketika  record  lebih rendah atau lebih tinggi, posisi dalam array jika diurutkan akan mudah untuk menemukan  data  karena  data  diurutkan, kemudian  semua  elemen  didalam  array diperiksa hingga saat ini. Flowchart binary search dapat ditunjukkan pada gambar 2.
Gambar  2. Binary Search

## Sequential Search
Sequential  search adalah  cara  untuk mencari  data  dalam  array  satu  dimensi. Data  yang  akan  di  cari  akan  dalam  semua elemen  dari  awal  sampai  akhir.  Pencarian ini  merupakan  fungsi  untuk  mengambil data  suatu  kumpulan  data. Sequential search metode pencarian berurutan, pencarian  data dapat  pada data  terurut dan tidak terurut.  Keuntungan  dalam algoritma ini  adalah  jika  data  yang  kita  cari  berada pada  awal  data  maka  langsung  akan ditemukan [5]. Flowchart sequential search dapat ditunjukkan pada gambar 3.
Gambar  3. Sequential Search

## Flowchart Aplikasi
Flowchart  aplikasi  dapat  ditunjukkan  pada gambar  4.  Aplikasi  ini  dibuat  dengan menggunakan  bahasa  pemrograman  PHP dan MySQL untuk penyimpanan database.
Gambar  4. Flowchart Aplikasi
Pada  gambar  4. Flowchart Aplikasi Persediaan  Barang  terdiri  dari  admin  yang memiliki  hak  manage  data  barang  yaitu mengedit jumlah stok
barang,
menambahkan pencatatan
laporan persediaan  barang,  menerima  supplier  dan
memiliki  akses  transaksi  kepada  user. Sementara  itu,  user  dapat  melihat  barang mana  saja  yang ada  di  persediaan di  menu stok  barang  .  Cukup  ketik  nama  barang  di bagian search untuk  menemukan  barang dengan  mudah,  lalu  selanjutnya  transaksi pembelian barang.

## Use Case Diagram
Use  Case menggambarkan  sifat  interaksi antara  admin  dan  user. Use  Case diagram pencarian  dapat  ditunjukkan  pada  gambar 5.
Gambar  5. Use Case Diagram
Pada  gambar  5.  dalam use  case  diagram menggunakan dua sistem, yaitu Admin dan user.  Keduanya  memiliki  peran  dan  hak akses  masing-masing  yang  disesuaikan dengan kemampuan sistem. Admin mempunyai  hak  akses  dalam  pengelolaan sistem  user.  Saat  mengelola  sistem  user, setiap  user  yang  relavan  harus  terdaftar  di sistem.  Tugas  ini  dikelola  oleh  admin.
Tujuan  dari  pengelolaan  user  oleh  admin adalah  agar  data  user  yang  terdaftar  di dalam sistem lebih terkontrol dengan jelas.
Kemudian user sebagai konsumen memiliki hak akses dalam proses pemesanan barang, bisa juga untuk melihat penyimpanan  stok  barang  yang  ada.  User juga dapat mencari barang yang diperlukan di aplikasi.

## 3. HASIL DAN PEMBAHASAN

## Implementasi Sistem
Pada  penelitian  ini  dibuatlah  sebuah aplikasi  persediaan  barang  sebagai  sarana penyimpanan  barang  untuk  memudahkan pencarian  barang  sesuat  yang  dibutuhkan. Sistem persediaan barang ini menggunakan bahasa PHP, dan Javascript.
1. Halaman Login Gambar  6.  menunjukkan  tampilan
halaman  login  untuk  memasukkan username dan password untuk  masuk ke dalam sistem.

## Gambar  6. Tampilan Login
2. Menu Dashboard
Pada  Gambar  7.  berikut  terdapat  menu dashboard, data pengguna untuk menambah  dan  mengubah  user,  menu data  barang  yang  terdapat  submenu daftar  barang  dan  ubah  data  barang, delete,  supplier,  barang  masuk,  barang keluar, dan data transaksi untuk request barang ke pihak supplier.

## Gambar  7. Tampilan Dashboard
3. Menu Data User
Pada  Gambar  8.  merupakan  menu pengguna  admin  dapat  melihat  daftar pengguna-pengguna yang sudah terdaftar.
Gambar  8. Tampilan Menu Data User
4. Menu Persediaan Barang Pada  Gambar  9.  merupakan  menu barang  daftar  barang  yang  ada  di perusahaan. Admin juga dapat menambah persediaan stok barang.

## Gambar  9. Tampilan Menu Barang
5. Menu Supplier
Pada  Gambar  10.  sebagai  admin  dapat melihat jumlah data dari pihak supplier.

## Gambar  10. Tampilan Menu Supplier
6. Menu Laporan Barang Masuk
Pada  Gambar  11.  terdapat  menu laporan  barang  masuk  dari  pihak supplier sesuai
tanggal yang cantumkan.

## Gambar  11. Menu Barang Masuk
7. Menu Laporan Barang Keluar Pada  Gambar  12.  merupakan  laporan barang yang keluar yang sudah dipakai oleh  pengguna  sesuai  tanggal  yang dicantumkan.

## Gambar  12. Menu Barang Keluar

## Hasil Pengujian Algoritma
Pada  pengujian  ini  dilakukan  dengan membandingkan  dua  algoritma,  yaitu algoritma binary  search dan sequential
search  untuk  menampilkan  hasil  waktu dengan  menggunakan microtime untuk pencarian data barang sebagai berikut :
Gambar  13. Pencarian Binary Search
Pada  Gambar  13.  pencarian binary  search dengan  pencarian  kode  barang  3235401 dan  nama  barang  AC  mendapatkan  waktu pencarian sebesar 0.02873 ms.
Gambar  14. Pencarian Sequential Search
Pada  gambar  14.  pencarian sequential search dengan  pencarian  kode  barang 3235401 dan nama barang AC mendapatkan  waktu  pencarian  sebesar 0.06474 ms. Kedua  algoritma  yang  diuji  menggunakan microtime untuk membandingkan kecepatan pencarian  kedua  algoritma tersebut. Microtime berfungsi yang memungkinkan para  pengguna  untuk menghasilkan nilai kecepatan waktu dalam pencarian.  Pengujian  ini  menggunakan device  personal  penulis  sendiri  dengan database  sebanyak  500  data.  Hal  tersebut ditunjukkan pada Tabel 1. Hasil  pengujian dari penelitian ini adalah sebagai berikut.
Tabel 1. Hasil Pengujian Algoritma Pengujian Nama Barang Binary Search Sequential Search 1 10G Ethernet 0.04729 ms 0.11539 ms 2 3 4 5 … 46 47 48
49 50 4G Fiber channel Antena Antena 1575 Antena Sectoral …. Multi fiber Cables Obeng Penangkal petir Rectifier Safety Helmet TOTAL 0.03224 ms 0.04730 ms 0.03133 ms 0.02672 ms …. 0.01911 ms 0.01576 ms 0.01896 ms 0.01568 ms 0.04529 ms 0.0402524 ms 0.01634 ms 0.01974 ms 0.05918 ms 0.57305 ms …. 0.04628 ms 0.05376 ms 0.05265 ms 0.04346 ms 0.053476 ms 0.0519893 ms
Pada  tabel  1.  hasil  dari  pengujian  ini dengan melakukan perbandingan algoritma antara binary search dan sequential search dalam  50  kali  pengujian  dari  500  data. Waktu rata-rata pencarian algoritma binary search sebesar  0.0402524  ms  lebih  cepat dibanding sequential search sebesar 0.0519893 ms.

## Perbandingan Algoritma
Pengujian  yang  sudah  dilakukan  dapat disimulasikan  dalam  sebuah  grafik  agar dapat  mudah  dipahami.  Dalam  grafik  ini yang  dimaksud dibagi  dalam 2 jenis,  yaitu grafik  perbandingan best  case dan  grafik perbandingan worst case , dapat ditunjukkan  pada  gambar  15  dan  gambar 16 sebagai berikut.
Gambar  15. Best Case
Gambar  15  adalah  grafik  perbandingan yang  didapat  dari  hasil  pengujian,  bisa dilihat juga kecepatan pada setiap pengujian.  Jenis best  case ini  terjadi pencarian  terdiri  dari  data  awal.  pengujian dilakukan  sebanyak  10  kali,  dengan menghasilkan  waktu  paling  cepat  adalah binary search sebesar 0.0157 ms, sedangkan  waktu  terlama  pada sequential search mendapatkan waktu sebesar 0.11539 ms.
Gambar  16. Worst Case
Gambar  16  adalah  grafik  perbandingan yang  didapat  dari  hasil  pengujian,  bisa dilihat juga kecepatan pada setiap pengujian.  Jenis worst  case ini  terjadi pencarian  terdiri  dari  data  awal.  Pengujian dilakukan  10  kali,  dengan  menghasilkan waktu  yang  paling  cepat  adalah binary search sebesar  0.01576  ms,  sedangkan waktu  terlama  pada sequential  search sebesar 0.07233 ms.

## Kompleksitas Waktu Binary Search
Kompleksitas  algoritma  ini  tergantung pada  jumlah  data  dan  data  yang  dimiliki adalah  data  yang  sudah  terurut.  Untuk kompleksitas jika kata kunci yang dimasukkan  berada  mid  list,  maka  itu kasus terburuknya. Tapi kasus terburuknya adalah  kata  kunci  yaitu  data  terendah  atau tertinggi  dari  data  yang  diberikan,  serta kemungkinan  tidak  ditemukannya  data
0 0,05 0,1 0,15 Binary Search Binary Sequential 0 0,01 0,02 0,03 0,04 0,05 0,06 0,07 0,08 Sequential Search Binary Sequential
e-ISSN: 2549 - 2837
dalam  proses pencarian  yang  membutukan waktu. Left Mid Right 0 250 500 Gambar 17. Proses Kompleksitas Waktu Gambar 17 merupakan Proses Kompleksitas  Waktu :  Untuk binary search ,  penulis  melakukan  pengujian sebanyak sepuluh kali termasuk pada worst case dan best case , dengan  waktu rata-rata pada worst  case sebesar  0.0157  ms  dan best  case  mendapatkan  waktu  sebesar 0.01576 ms.

## Kompleksitas Waktu Sequential Search
Kompleksitas  algoritma sequential  search bergantung  pada  jumlah  perbandingan yang  terjadi  dalam  satu  siklus  saat pencarian  data.  Di  bawah  ini  adalah  hasil pengujian  yang  dilakukan,  kompleksitas waktu  yang  untuk  pencarian  data  adalah sebagai berikut :
Proses  Kompleksitas  Waktu :  Untuk Sequential  Search ,  penulis  melakukan pengujian  sebanyak  sepuluh  kali  termasuk pada worst  case dan best  case ,  dengan waktu  rata-rata  pada worst  case sebesar 0.11539  ms,  dan  best  case  mendapatkan waktu sebesar 0.07233 ms.

## 4. SIMPULAN
Aplikasi  ini  dapat  membantu  perusahaan atau  pengguna  yang  membutuhkan  akses ke  sistem  jika  pengguna  ingin  mencari barang yang diperlukan dengan cepat. Dari pengujian  yang  sudah  dilakukan  oleh penulis,  terlihat  jelas  bahwa  penggunaan kedua algoritma ini dalam proses pencarian data sangat berpengaruh terhadap pencarian karna  memiliki  data yang  cukup banyak.  Pada  hasil  pengujian  untuk melakukan  perbandingan  algoritma binary search dan sequential search dalam 50 kali pengujian  dari  500  data  dengan  proses
pencarian  data  yang  sudah  berurutan. Kesimpulannya bahwa menggunakan algoritma binary  search memiliki  waktu tercepat dibandingkan algoritma sequential search .  Dengan  menghasilkan  waktu  pada binary search 0.0402524 ms dan sequential search 0.0519893 ms.

## DAFTAR PUSTAKA
[1] A.  D.  Frayudha  and  S.  Purwanti, “Sistem  Inventory  Stok  Barang
Optimalisasi  Media  Penyimpanan pada PT Multi Usaha Sejahtera Jaya Menggunakan  Metode Goldbach
Codes ,” Elinvo (Electronics,
Informatics,  Vocat.  Educ. ,  vol.  5,
No.  1,  pp.  52–63,  2020,  doi: 10.21831/elinvo.v5i1.31298. [2] T.  R,  Sientia.  R,  Puspitasari.  F, “Sistem Informasi Persediaan
Produk  Telkomsel  dengan  Metode FIFO,” Sensitek ,  September  2016, pp. 2016–2019, 2018.
[3] A.  Andri,  “Penerapan  Algoritma
Pencarian Binary Search dan QuickSort pada  Aplikasi  Kamus Bahasa  Palembang  Berbasis  Web,”
J.  Inform.  J.  Pengemb.  IT ,  Vol.  4,
No.  1,  pp.  70–74,  2019,  doi:
10.30591/jpit.v4i1.1104. [4] L. Sitorus, “Algoritma dan Pemrograman,”  Yogyakarta:  Andi, 2015. [5] N.  Imamah  and  M.  I.  Bahari, “Perbandingan Algoritma Sequential  Search  dan  Algoritma Binary Search pada Aplikasi Kamus
Bahasa Indonesia Menggunakan PHP  dan  JQuery,” J.  Inform. ,  vol. 08, pp. 1–6, 2021.
[6] I.  M.  Habibi,  S.  Andryana,  and  S. Ningsih,  “Algoritma Binary  Search dan Sequential Search pada Aplikasi Koperasi  Sekolah  Online  Berbasis Web,” J. Sist. Siber Sos. , Vol. 1, No.
2, pp. 63–72, 2022.
[7] Y.  Religia,  “Analisis Algoritma
Sequential Search dan Binary Search pada Big  Data ,” Pelita Teknol.  J.  Ilm.  Inform.  Arsit.  dan
Lingkung. ,  Vol.  14,  No.  1,  pp.  74–
79, 2019. [8] M. H. Pristyawan,
“Analisis Algoritma Sequential  Search untuk Mencari  Data  Mahasiswa  Teknik Informatika  pada  Sekolah  Tinggi Teknologi  Pelita  Bangsa,”  Skripsi,
Sekolah  Tinggi  Teknologi  Pelita Bangsa, 2018.
[9] R.  Y.  Darmawantoro,  Y.  R.  W. Utami, and K. Kustanto, “Implementasi Binary  Search untuk
Data  Obat  di  Apotek,” J.  Teknol.
Inf.  dan  Komun. ,  vol.  10,  No.  1,
2022,doi:10.30646/tikomsin.v10i1.6
07.
[10]  O. Onsardi,  M. Muntahanah, and  R.
Toyib,  “Penerpan  Algoritma Binary Search dalam Pencarian Data Potensi  Investasi  di  Kabupaten Seluma  dengan  Smartphone,” JSAI
(Journal  Sci.  Appl.  Informatics) , Vol.  3,  No.  3,  pp.  129–136,  2020, doi: 10.36085/jsai.v3i3.1160.