Anda di halaman 1dari 6

ANALISIS ALGORITMA SEQUENTIAL SEARCH DAN BINARY

SEARCH PADA BIG DATA

Muhamad Fatkhur Rohim1, Retno Hapsari2, Yoga Religia3, Dwi Prasetyo4


Fakultas Ilmu Komputer, Universitas Dian Nuswantoro, Semarang
fatkhurrohim.muhamad@gmail.com1, retnohapsari16@gmail.com2,
religia19@gmail.com3, dwiprasetyo919@gmail.com4

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

I. PENDAHULUAN
Algoritma dan struktur data diinginkan dengan proses jalan
berperan sangat besar dalam menghabiskan waktu tertentu.
pembangunan sebuah perangkat lunak, Kompleksitas dari sebuah
baik dalam pembuatan desain serta algoritma menggunakan fungsi g(n)
implementasinya. Sebuah algoritma yang memberikan batas atas dari
adalah satu set intruksi untuk jumlah operasi yang berada dalam
melakukan tugas atau fungsi tertentu algoritma tersebut saat sebuah masukan
sehingga tercapai tujuan yang sebanyak n. Kompleksitas sendiri
dibagi menjadi dua, yang pertama kompleksitas algoritma pencarian
kompleksitas waktu adalah jumlah dengan menggunakan algoritma
waktu yang diperlukan komputer saat sequential dan algoritma binary.
menjalankan algoritma tersebut. Yang
kedua yaitu kompleksitas ruang, yaitu II. TINJAUAN PUSTAKA
jumlah ruang memori komputer yang 2.1. Sequential Search
dibutuhkan saat algoritma itu Sequential search adalah cara
melakukan proses dari awal sampai untuk pencarian data dalam array 1
selesai. dimensi. Data yang akan dicari nanti
Data Searching adalah proses akan ditelusuri dalam semua elemen-
yang ada dan dibutuhkan dalam elemen array dari awal sampai akhir,
pembangunan sebuah aplikasi, ada dan data yang dicari tersebut tidak
banyak algoritma yang bisa diterapkan perlu diurutkan terlebih dahulu.
namun tidak semua algoritma memiliki Terdapat 2 kemungkinan yang
efisiensi yang baik selama algoritma itu akan terjadi dalam waktu pencarian
berjalan. Untuk data yang sedikit data Sequential Search, diantaranya
mungkin perbedaannya belum terlalu yaitu :
besar, namun saat ini perkembangan 1. Kemungkinan Terbaik
data juga semakin berkembang yang Kemungkinan Terbaik (Best case)
biasa disebut big data. Big data adalah akan terjadi apabila data yang dicari
sekumpulan data yang sangat besar bisa terletak pada index array yang
terdiri dari data text, numerik ataupun paling depan, sehingga waktu yang
multimedia yang disimpan dalam dibutuhkan untuk mencari data
sebuah database tertentu. sedikit.
Ada beberapa algoritma yang bisa 2. Kemungkinan Terburuk
digunakan untuk melakukan pencarian, Kemungkinan Terburuk (Worse
salah satunya adalah sequential search, case) akan terjadi apabila data yang
yaitu algoritma yang dasar dan simpel dicari terletak pada index
dari pencarian, dimana menggunakan array yang paling akhir, sehingga
metode pencarian data dari paling awal waktu yang dibutuhkan untuk
hingga paling akhir dari sebuah list mencari data akan sangat lama.
sampai data ditemukan. Selain itu ada
algoritma pencarian binary, yaitu Untuk meningkatkan efisiensi
sebauh list yang sudah terurut pencarian data pada Sequential Search
kemudian dibagi menjadi dua bagian. dapat dilakukan dengan cara
Awalnya adalah membandingkan menghentikan looping dengan
inputan dengan nilai tengah, menggunakan BREAK apabila data
selanjutnya dibandingkan ke kanan atau yang dicari sudah ketemu.
ke kiri sesuai dengan urutan listnya.
Oleh karena itu, dengan masalah 2.2. Binary Search
adanya data yang besar kami ingin Binary Search adalah cara untuk
menguji kecepatan waktu proses dan pencarian data pada array yang sudah
terurut. karena salah satu syarat dalam mengenai bagaimana organisasi harus
binary search adalah data sudah dalam didesain, diorganisir dan dikelola.
keadaan terurut. dengan kata lain Big Data mengacu pada dataset
apabila data belum dalam keadaan yang ukurannya diluar kemampuan dari
terurut, pencarian binary tidak dapat database software tools untuk meng-
dilakukan. Binary Search ini dilakukan capture, menyimpan, me-manage dan
untuk : menganalisis.Ukuran big data sekitar
 Memperkecil jumlah operasi beberapa lusin TeraByte sampai ke
perbandingan yang harus dilakukan beberapa PetaByte tergantung jenis
antara data yang dicari dengan data Industri. Isi dari Big Data adalah
yang ada di dalam tabel, khususnya Transaksi+interaksi dan observasi atau
untuk jumlah data yang sangat bisa di bilang segalanya yang
besar ukurannya. berhubungan dengan jaringan internet,
 Beban komputasi lebih kecil karena jaringan komunikasi, dan jaringan
pencarian dilakukan dari depan, satelit.
belakang dan tengah.
 Prinsip dasarnya adalah melakukan
proses pembagian ruang pencarian
secara berulang-ulang sampai data
ditemukan atau sampai pencarian
tidak dapat dibagi lagi (berarti ada
kemungkinan data tidak dtiemukan)

2.3. Big Data


Menurut (Dumbill, 2012) , Big
Data adalah data yang melebihi proses
kapasitas dari kovensi sistem database Gambar 2.1 Transaksi pada Big Data
yang ada. Data terlalu besar dan terlalu
cepat atau tidak sesuai dengan struktur Big data dapat di artikan kedalam
arsitektur database yang ada. Untuk 9 karakter (IBM) menurut responden
mendapatkan nilai dari data, maka sehingga disimpulkan oleh IBM, Big
harus memilih jalan altenatif untuk data adalah data yang memiliki scope
memprosesnya. informasi yang sangat besar, model
Big data menurut Richard adalah informasi yang real-time, memiliki
sekumpulan data (data set) yang volume yang besar, dan berasalkan
besarnya jauh melebihi kemampuan social media data jadi dapat
database software tools pada umumnya disimpulkan bahwa Big data adalah
untuk melakukan capture, menyimpan dataset yang memiliki volume besar
mengelola dan menganalisis. Tujuan dan salah satu isinya berdasarkan social
big data adalah untuk menciptakan nilai media data, dan informasi dari Big data
tambah danmemberikan implikasi selalu yang terbaru (latestdata)
sehingga model informasi nya real-
time, dan scope informasi nya tidak Metode yang akan digunakan
terfocus pada industri-indrustri kecil dalam penelitian ini akan melalui
saja atau industri-indrustri besar saja beberapa tahapan yaitu :
melainkan semuanya baik industry 1) Mengetahui kompleksitas secara
kecil maupun besar. teoritis antara dua algoritma yang
akan dilakukan komparasi.
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:
2.2 Gambar Penjelasan Big Data (IBM) a. Processor Intel core i5, v5
b. Ram 4 GB
III. METODE PENELITIAN c. Harddisk 500 GB
Pada penelitian ini akan dilakukan d. Operating system Elementary
beberapa tahapan yang meliputi latar OS freya
belakang penelitian, analisis kebutuhan, e. Source code menggunakan
metode yang digunakan, implementasi, bahasa python.
pengujian, analisis pengujian dan hasil.
adapun tahapan dari penelitian ini dapat IV. HASIL EKSPERIMEN
dilihat pada gambar 3.1 4.1 Kompleksitas Sequential Search
Kompleksitas algoritma search
adalah tergantung dari jumlah
perbandingan yang terjadi dalam
perulangan saat melakukan pencarian
data dalam sebuah list. Misalkan ada n
elemen di dalam list. berikut adalah
notasi dalam bentuk larik.
Berikut adalah ekspresi jumlah
rata - rata perbandingan yang ada pada
algoritma sequential search adalah
sebuah kasus yang berhasil: Kasus
terbaik ialah elemen yang dicari berada
diposisi pertama pada list, jadinya
hanya melakukan sekali perbandingan
dengan notasi f (n) = O(1). Kasus rata
rata ialah elemen yang dicari berada di
tengah-tengah list, dengan notasi f (n) =
Gambar 3.1 Tahapan Penelitian
O[(n +1)/ 2]. Dan kasus terburuk ialah
elemen yang dicari berada diakhir list, case dan best case, dengan waktu lama
sehingga ia melakukan pencarian atau proses worst case didapat rata rata
komparasi data sampai selesai atau 0,000115 ms, dan lama waktu proses
sebanyak list itu. dalam keadaan best case ialah 0,000103
ms.
 Lama Waktu Process Sequential
Search 4.3. Grafik Komparasi
Untuk mengukur lama waktu 4.3.1. Worse Case
sequential search kami melakukan
pengujian sebanyak lima kali. Yaitu
menguji dalam keadaan worst case, dan
best case. Rata - rata lama proses worst
case ialah 0,014357 ms, sedangkan rata
- rata lama proses untuk keadaan best
case ialah 0,000942 ms.

4.2. Kompleksitas Binary Search


Kompleksitas algoritma binary
search ialah tergantung dari banyaknya
data, dan data yang dimiliki adalah data
yang sudah terurut, pada penelitian ini Gambar 4.1 Worse Case
data terurut secara ascending, untuk
kompleksitasnya jika keyword yang 4.3.2. Best Case
dimasukkan adalah sebagai mid value
dari list maka itulah kasus terburuknya.
Namun kasus terburuknya ialah
keyword adalah data terendah atau
tertinggi dari data yang dimiliki serta
kemungkinan data tidak ditemukan
juga memiliki waktu yang lama untuk
proses pencarian.
Untuk notasi matematisnya ialah
dengan konsep membagi dua block
data dari n mnjadi setengah menjadi
log2n. Jadi proses pencarian bisa
Gambar 4.2 Best Case
direduksi menjadi setengah dari semua
log n.
V. KESIMPULAN DAN SARAN
Algoritma Searching merupakan
 Lama Waktu Process Binary Search
algoritma yang sangat penting dalam
Untuk binary search kami
pengelolaan sistem manajemen
melakukan pengujian sebanyak lima
database. Data yang besar (Big Data)
kali masing masing pada kondisi worst
perlu diolah untuk memudahkan dalam
pencarian data. Dari pembahasan “Stratified Multi-Ring Distributed
diatas, kami membandingkan beberapa Search Model for Big Data”. 2014.
algoritma searching seperti sequential [9] Wan Dingsheng, Xiao Yan, Zhang
search dan binary search dengan Pengcheng, Leung Hareton.
mengimplementasikan dalam berbagai “Hydrological Big Data Prediction
segi antara lain konsep, algoritma, Based On Similarity Search and
koding dan kompleksitas waktu. Dari Improved BP Neural Network”. 2015.
percobaan dengan menggunakan [10] Lim Hyesook, Lee Nara.“Survey
bahasa phyton, dapat disimpulkan and Proposal on Binary Search
algoritma sequential Search memiliki Algorithms for Longest Prefix Match”.
kompleksitas waktu lebih besar Vol.14 no.3. 2012
dibanding dengan binary search.

DAFTAR PUSTAKA
[1] Roy Debadrita Roy , Kudu Arnab,
“A Comparative Analysis of Three
Different Types of Searching
Algorithms in Data Structure”, Vol.3,
issue 5, 2014.
[2] BM. (n.d.). Analytics: The real-
world use of big data. Retrieved from
How innovative enterprises extract
value from uncertain data: http://www-
935.ibm.com/services/us/gbs/thoughtle
adership/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.

Anda mungkin juga menyukai