Anda di halaman 1dari 8

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 besar dalam pembangunan berjalan. Untuk data 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
diinginkan dengan proses jalan multimedia yang disimpan dalam
menghabiskan waktu tertentu. sebuah database tertentu.
Kompleksitas dari sebuah Ada beberapa algoritma yang
algoritma menggunakan fungsi g(n) bisa digunakan untuk melakukan
yang memberikan batas atas dari jumlah pencarian, salah satunya adalah
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. Yang kedua yaitu binary, yaitu sebauh list yang sudah
kompleksitas ruang, yaitu jumlah ruang terurut kemudian dibagi menjadi dua
memori komputer yang dibutuhkan saat bagian. Awalnya adalah
algoritma itu melakukan proses dari membandingkan inputan dengan nilai
awal sampai selesai. tengah, selanjutnya dibandingkan ke
Data Searching adalah proses kanan atau ke kiri sesuai dengan urutan
yang ada dan dibutuhkan dalam listnya.
pembangunan sebuah 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
kompleksitas algoritma pencarian dapat dilakukan dengan cara
dengan menggunakan algoritma menghentikan looping dengan
sequential dan algoritma binary. menggunakan BREAK apabila data yang
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 terurut, pencarian binary tidak dapat
akan terjadi dalam waktu pencarian data dilakukan.
Sequential Search, diantaranya yaitu :
1. Kemungkinan Terbaik (Best Binary Search ini dilakukan
Case) untuk :
Best case akan terjadi apabila data  Memperkecil jumlah operasi
yang dicari terletak pada index perbandingan yang harus
array yang paling depan, sehingga dilakukan antara data yang
waktu yang dibutuhkan untuk dicari dengan data yang ada di
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  Prinsip dasarnya adalah
mencari data akan sangat lama. melakukan proses pembagian
Untuk meningkatkan efisiensi ruang pencarian secara
pencarian data pada Sequential Search berulang-ulang sampai 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 komunikasi, dan jaringan
Menurut (Dumbill, 2012) , Big 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 data (data set) yang Gambar 2.1 Transaksi pada Big Data

besarnya jauh melebihikemampuan


database software tools pada umumnya Big data dapat di artikan

untuk melakukan capture, kedalam 9 karakter (IBM) menurut

menyimpan,mengelola dan responden sehingga disimpulkan oleh

menganalisis. Tujuan big data adalah IBM, Big data adalah data yang

untuk menciptakan nilai tambah memiliki scope informasi yang sangat

danmemberikan implikasi 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

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 Gambar 3.1 Tahapan Penelitian


Pada penelitian ini akan
dilakukan beberapa tahapan yang Metode yang akan digunakan

meliputi latar belakang penelitian, dalam penelitian ini akan melalui

analisis kebutuhan, metode yang beberapa tahapan yaitu :

digunakan, implementasi, pengujian, 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 diakhir list, sehingga ia
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  Lama Waktu Process Sequential
python. Search
Untuk mengukur lama waktu sequential
search kami melakukan pengujian
HASIL EKSPERIMEN sebanyak lima kali. Yaitu menguji
. Kompleksitas Sequential Search dalam keadaan worst case, dan best
Kompleksitas algoritma search case. Rata - rata lama proses worst case
adalah tergantung dari jumlah ialah 0,014357 ms, sedangkan rata - rata
perbandingan yang 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 perbandingan yang ada pada sudah terurut, pada penelitian ini data
algoritma sequential search adalah terurut secara ascending, untuk
sebuah kasus yang berhasil: kompleksitasnya jika keyword yang
dimasukkan adalah sebagai mid value
Kasus terbaik ialah elemen yang dicari dari list maka itulah kasus terburuknya.
berada diposisi pertama pada list, Namun kasus terburuknya ialah
jadinya hanya melakukan 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.
kasus terburuk ialah elemen yang dicari
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 sistem manajemen
1. Worse Case database. Data yang besar (Big Data)
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
phyton, dapat disimpulkan algoritma
Gambar 4.1 Worse Case
sequential Search memiliki
kompleksitas waktu lebih besar
dibanding dengan binary search.
DAFTAR PUSTAKA Multi-Ring Distributed Search Model
[1] Roy Debadrita Roy , Kudu Arnab, for Big Data”. 2014.
“A Comparative Analysis of Three
[9] Wan Dingsheng, Xiao Yan, Zhang
Different Types of Searching
Pengcheng, Leung Hareton.
Algorithms in Data Structure”, Vol.3,
“Hydrological Big Data Prediction
issue 5, 2014.
Based On Similarity Search and
[2] BM. (n.d.). Analytics: The real- Improved BP Neural Network”. 2015.
world use of big data. Retrieved from
[10] Lim Hyesook, Lee Nara.“Survey
How innovative enterprises extract
and Proposal on Binary Search
value from uncertain data: http://www-
Algorithms for Longest Prefix Match”.
935.ibm.com/services/us/gbs/thoughtlea
Vol.14 no.3. 2012
dership/ibv-big-data-at-work.html

[3] Putri Sujana Aprianti,


“Memanfaatkan Big 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 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

Anda mungkin juga menyukai