ANALISIS ALGORITMA SEQUENTIAL SEARCH DAN

ANALISIS ALGORITMA SEQUENTIAL SEARCH DAN BINARY
SEARCH PADA BIG DATA
Muhamad Fatkhur Rohim, Retno Hapsari, Yoga Religia, Dwi Prasetyo
Fakultas Ilmu Komputer, Universitas Dian Nuswantoro, Semarang 50131
fatkhurrohim.muhamad@gmail.com, retnohapsari16@gmail.com,
religia19@gmail.com, dwiprasetyo919@gmail.com

Abstrak
Pemakaian data berkembang pesat pada jaman yang dipenuhi dengan berbagai
teknologi yang ada. Dimulai dari banyaknya kemudahan yang bisa dinikmati sehari –
hari hingga memanfaatkannya untuk berbagai bidang contohnya untuk analisis suatu
bisnis. Perkembangan teknologi tersebut sangat mempengaruhi jumlah pemakaian data
kita saat ini. Adanya fasilitas teknologi yang mumpuni memudahkan orang dalam
pencarian (searching) informasi dalam berbagai bentuk data yang ada. Akan tetapi pada
masalah pencarian data akan menimbulkan masalah dikemudian hari apabila data
tersebut dalam jumlah yang besar atau lebih dikenal dengan big data . Big data tidak
hanya mengarah pada jumlah memori yang tersimpan akan tetapi atribut-atribut yang
melekat pada suatu data. Perlu penanganan yang lebih dalam mengelola big data
terutama pada saat pencarian suatu kata atau kalimat tertentu sehingga waktu untuk
memproses tidak memakan waktu yang terlalu lama. Algoritma Searching merupakan
sebuah proses untuk memeriksa sekumpulan elemen (daftar elemen) untuk menemukan
sebuah elemen tertentu. Dari berbagai macam algoritma Searching yang ada, dalam
penelitian ini kami bermaksud untuk memberikan gambaran perbandingan antara dua
jenis algoritma Searching yaitu Sequential search dan Binary search dalam menangani
big data. Penelitian ini akan menunjukkan analisis kenerja dari kedua algoritma tersebut
dalam sebuah data yang besar (big data). Dari hasil analisis dan percobaan dapat
disimpulkan bahwa algoritma binary search memiliki kompleksitas waktu yang lebih
cepat dibanding dengan sequential search.
Kunci : Sequential search, Binary search, kompleksitas waktu, big data

PENDAHULUAN
Algoritma dan struktur data berperan

efisiensi yang baik selama algoritma itu

sangat

berjalan. Untuk data

besar

dalam

pembangunan

yang sedikit

sebuah perangkat lunak, baik dalam

mungkin perbedaannya belum terlalu

pembuatan

desain

serta

besar, namun saat ini perkembangan

implementasinya.

Sebuah

algoritma

data juga semakin berkembang yang

adalah

satu

set

intruksi

untuk

biasa disebut big data . Big data adalah

melakukan tugas atau fungsi tertentu

sekumpulan data yang sangat besar bisa

sehingga

tercapai

tujuan

yang

terdiri dari data text, numerik ataupun

dengan

proses

jalan

multimedia

diinginkan

menghabiskan waktu tertentu.
Kompleksitas

dari

yang

disimpan

dalam

sebuah database tertentu.
sebuah

Ada beberapa algoritma yang

algoritma menggunakan fungsi g(n)

bisa

yang memberikan batas atas dari jumlah

pencarian,

operasi yang berada dalam algoritma

sequential search, yaitu algoritma yang

tersebut saat sebuah masukan sebanyak

dasar dan simpel dari pencarian, dimana

n. Kompleksitas sendiri dibagi menjadi

menggunakan metode pencarian data

dua, yang pertama kompleksitas waktu

dari paling awal hingga paling akhir

adalah jumlah waktu yang diperlukan

dari sebuah list sampai data ditemukan.

komputer saat menjalankan algoritma

Selain itu ada algoritma pencarian

tersebut.

yaitu

binary, yaitu sebauh list yang sudah

kompleksitas ruang, yaitu jumlah ruang

terurut kemudian dibagi menjadi dua

memori komputer yang dibutuhkan saat

bagian.

algoritma itu melakukan proses dari

membandingkan inputan dengan nilai

awal sampai selesai.

tengah, selanjutnya dibandingkan ke

yang

Yang

kedua

digunakan
salah

untuk

melakukan

satunya

Awalnya

adalah

adalah

Data Searching adalah proses

kanan atau ke kiri sesuai dengan urutan

ada

listnya.

dan

pembangunan

dibutuhkan

sebuah

dalam

aplikasi,

ada

Oleh karena itu, dengan masalah

banyak algoritma yang bisa diterapkan

adanya data yang besar kami ingin

namun tidak semua algoritma memiliki

menguji kecepatan waktu proses dan

algoritma

pencarian

dapat

menggunakan

algoritma

menghentikan

kompleksitas
dengan

dilakukan

dengan

cara
dengan

looping

menggunakan BREAK apabila data yang

sequential dan algoritma binary.

dicari sudah ketemu.
TINJAUAN PUSTAKA
A. Sequential Search
Sequential search adalah cara

B. Binary Search

untuk pencarian data dalam array 1

Binary Search adalah cara untuk

dimensi. Data yang akan dicari nanti

pencarian data pada array yang sudah

akan ditelusuri dalam semua elemen-

terurut. karena salah satu syarat dalam

elemen array dari awal sampai akhir,

binary search adalah data sudah dalam

dan data yang dicari tersebut tidak perlu

keadaan terurut. dengan kata lain

diurutkan terlebih dahulu.

apabila data belum dalam keadaan

Terdapat 2 kemungkinan yang
akan terjadi dalam waktu pencarian data

terurut, pencarian binary tidak dapat
dilakukan.

Sequential Search, diantaranya yaitu :

1.

Kemungkinan

Terbaik

Binary Search ini dilakukan

(Best

untuk :

Case)



Memperkecil

jumlah

operasi

yang dicari terletak pada index

perbandingan

yang

harus

array yang paling depan, sehingga

dilakukan

waktu

dicari dengan data yang ada di

Best case akan terjadi apabila data

yang

dibutuhkan

untuk

antara

data

yang

mencari data sedikit.

dalam tabel, khususnya untuk

0. Kemungkinan Terburuk (Worse

jumlah data yang sangat besar

Case)

ukurannya.

Worse case akan terjadi apabila



Beban komputasi lebih kecil

data yang dicari terletak pada index

karena pencarian dilakukan dari

array yang paling akhir, sehingga

depan, belakang dan tengah.

waktu

yang

dibutuhkan

untuk

mencari data akan sangat lama.
Untuk meningkatkan efisiensi
pencarian data pada Sequential Search



Prinsip

dasarnya

adalah

melakukan proses pembagian
ruang

pencarian

berulang-ulang

sampai

secara
data

ditemukan

atau

sampai

beberapa lusin TeraByte sampai ke

pencarian tidak dapat dibagi lagi

beberapa PetaByte tergantung jenis

(berarti ada kemungkinan data

Industri. Isi dari Big Data adalah

tidak dtiemukan)

Transaksi+interaksi dan observasi atau
bisa

di

bilang

segalanya

yang

berhubungan dengan jaringan internet,
C. Big Data

jaringan

Menurut (Dumbill, 2012) , Big

komunikasi,

dan

jaringan

satelit.

Data adalah data yang melebihi proses

kapasitas dari kovensi sistem database
yang ada. Data terlalu besar dan terlalu
cepat atau tidak sesuai dengan struktur
arsitektur database yang ada. Untuk
mendapatkan nilai dari data, maka harus
memilih

jalan

altenatif

untuk

memprosesnya.
Big data menurut Richard adalah
sekumpulan
besarnya

data

jauh

(data

set)

yang

Gambar 2.1 Transaksi pada Big Data

melebihikemampuan

database software tools pada umumnya

Big

data

dapat

di

artikan

capture,

kedalam 9 karakter (IBM) menurut

dan

responden sehingga disimpulkan oleh

menganalisis. Tujuan big data adalah

IBM, Big data adalah data yang

untuk

tambah

memiliki scope informasi yang sangat

mengenai

besar, model informasi yang real-time,

bagaimana organisasi harus didesain,

memiliki volume yang besar, dan

diorganisir dan dikelola.

berasalkan social media data jadi dapat

untuk

melakukan

menyimpan,mengelola

menciptakan

danmemberikan

nilai

implikasi

Big Data mengacu pada dataset

disimpulkan bahwa Big data adalah

yang ukurannya diluar kemampuan dari

dataset yang memiliki volume besar dan

database software tools untuk meng-

salah satu isinya berdasarkan social

capture, menyimpan, me-manage dan

media data, dan informasi dari Big data

menganalisis.Ukuran big data sekitar

selalu yang terbaru (latestdata) sehingga
model informasi nya real-time, dan

scope informasi nya tidak terfocus pada
industri-indrustri

kecil

saja

atau

industri-indrustri besar saja melainkan
semuanya baik industry kecil maupun
besar.

2.2 Gambar Penjelasan Big Data (IBM)

METODE PENELITIAN
Pada
dilakukan

penelitian
beberapa

meliputi

latar

analisis

kebutuhan,

Gambar 3.1 Tahapan Penelitian

ini

akan

tahapan

yang

Metode yang akan digunakan

penelitian,

dalam penelitian ini akan melalui

belakang

metode

yang

digunakan, implementasi, pengujian,

beberapa tahapan yaitu :
1.

Mengetahui kompleksitas secara

analisis pengujian dan hasil. adapun

teoritis antara dua algoritma yang

tahapan dari penelitian ini dapat dilihat

akan dilakukan komparasi.

pada gambar 3.1

2.

Menggunakan data sampel data
transaksi perpindahan barang di
perusahaan ABC sebanyak 150000
record.

3.

Menghitung lama waktu proses
yang berjalan saat proses pencarian
dengan menggunakan spesifikasi
komputer sebagai berikut:

a.

Processor Intel core i5, v5

berada

b.

Ram 4 GB

melakukan pencarian atau komparasi

c.

Harddisk 500 GB

data sampai selesai atau sebanyak list

d.

Operating system Elementary OS

itu.

freya
e.

Source code menggunakan bahasa



diakhir

list,

sehingga

ia

Lama Waktu Process Sequential
Search

python.

Untuk mengukur lama waktu sequential
search

adalah

melakukan

pengujian

sebanyak lima kali. Yaitu menguji

HASIL EKSPERIMEN
.

kami

Kompleksitas Sequential Search

dalam keadaan worst case, dan best

Kompleksitas algoritma search

case. Rata - rata lama proses worst case

tergantung

perbandingan

yang

dari

jumlah

ialah 0,014357 ms, sedangkan rata - rata

terjadi

dalam

lama proses untuk keadaan best case

perulangan saat melakukan pencarian

ialah 0,000942 ms.

data dalam sebuah list. Misalkan ada n
elemen di dalam list. berikut adalah

B. Kompleksitas Binary Search

notasi dalam bentuk larik.

Kompleksitas algoritma binary search
ialah tergantung dari banyaknya data,

Berikut adalah ekspresi jumlah rata -

dan data yang dimiliki adalah data yang

rata

sudah terurut, pada penelitian ini data

perbandingan

yang

algoritma sequential

ada

search

pada
adalah

terurut

secara

ascending,

untuk

kompleksitasnya jika keyword yang

sebuah kasus yang berhasil:

dimasukkan adalah sebagai mid value
Kasus terbaik ialah elemen yang dicari

dari list maka itulah kasus terburuknya.

berada diposisi pertama pada list,

Namun

jadinya

sekali

keyword adalah data terendah atau

perbandingan dengan notasi f (n) =

tertinggi dari data yang dimiliki serta

O(1). Kasus rata rata ialah elemen yang

kemungkinan data tidak ditemukan juga

dicari berada di tengah-tengah list,

memiliki waktu yang lama untuk proses

dengan notasi f (n) = O[(n +1)/ 2]. Dan

pencarian.

hanya

melakukan

kasus terburuk ialah elemen yang dicari

kasus

terburuknya

ialah

Untuk

notasi

matematisnya

ialah

dengan konsep membagi dua block data

2. Best Case

dari n mnjadi setengah menjadi log2n.
Jadi proses pencarian bisa direduksi
menjadi setengah dari semua log n.


Lama Waktu Process Binary
Search

Untuk binary search kami melakukan
pengujian sebanyak lima kali masing
masing pada kondisi worst case dan
best case, dengan waktu lama proses

Gambar 4.2 Best Case

worst case didapat rata rata 0,000115
ms, dan lama waktu proses dalam

KESIMPULAN DAN SARAN

keadaan best case ialah 0,000103 ms.

Algoritma Searching merupakan
algoritma yang sangat penting dalam

C. Grafik Komparasi

pengelolaan

1. Worse Case

database. Data yang besar (Big Data )

sistem

manajemen

perlu diolah untuk memudahkan dalam
pencarian

data.

Dari

pembahasan

diatas, kami membandingkan beberapa
algoritma searching seperti sequential
search

dan

binary

search

dengan

mengimplementasikan dalam berbagai
segi antara lain konsep, algoritma,
koding dan kompleksitas waktu. Dari
percobaan dengan menggunakan bahasa
Gambar 4.1 Worse Case

phyton, dapat disimpulkan algoritma
sequential

Search

kompleksitas

waktu

memiliki
lebih

dibanding dengan binary search.

besar

DAFTAR PUSTAKA

Multi-Ring Distributed Search Model

[1] Roy Debadrita Roy , Kudu Arnab,

for Big Data”. 2014.

“A Comparative Analysis of Three
Different

Types

of

Searching

Algorithms in Data Structure”, Vol.3,
issue 5, 2014.

world use of big data . Retrieved from

How innovative enterprises

extract

value from uncertain data: http://www935.ibm.com/services/us/gbs/thoughtlea
dership/ibv-big-data-at-work.html
Putri

“Memanfaatkan

Sujana
Big

Aprianti,
Data

untuk

Mendeteksi Emosi”, Vol.2, 2013
[4] Dumbill, E. Big Data Now Current
Perspective. O'Reilly Media. 2012.

[5]

Zoumpatianos

Kostas,

Ideros

Stratos, Palpanas Themis. “Indexing for
Interactive Exploration of Bid Data
Series”. 2011.
[6] Laxmi R., Saranya, S. Pujtha. “Data
Searching

Pengcheng,

and

Implementing

Fautolerance using Sector Sphere File
System”. ICAESM. 2012.
[7] English Thomas.” No More Lunch:
Analysis of Sequential Search”. 2004
[8] Cheng Weiqing, Yang Geng, Zhang
Shanshan, Zhang Shaobai. “Stratified

Leung

“Hydrological
Based

[2] BM. (n.d.). Analytics: The real-

[3]

[9] Wan Dingsheng, Xiao Yan, Zhang

On

Big

Hareton.

Data

Similarity

Prediction

Search

and

Improved BP Neural Network”. 2015.
[10] Lim Hyesook, Lee Nara.“Survey
and

Proposal

on

Binary

Search

Algorithms for Longest Prefix Match”.
Vol.14 no.3. 2012

Dokumen yang terkait

Dokumen baru

ANALISIS ALGORITMA SEQUENTIAL SEARCH DAN