Perbandingan Algoritma String Matching Not So Naive dan Skip Search Pada Platform Android

BAB 1

PENDAHULUAN

1.1

Latar Belakang

Dewasa kini, teknologi telah menjadi kebutuhan pokok bagi setiap manusia.
Teknologi berkembang secara pesat dalam lingkungan masyarakat. Dengan
adanya teknologi, manusia dapat mengakses informasi secara mudah. Tidak
hanya dari segi teknologi, psikologis dari manusia sebagai pengguna teknologi ini
juga telah mengalami perkembangan. Kita, sebagai manusia, ada baiknya atau
dianjurkan untuk mempelajari perkembangan tersebut. Psikologi merupakan
suatu ilmu yang diterapkan bagi keseluruhan kehidupan manusia. Ilmu ini sendiri
mempelajari perkembangan yang terjadi pada manusia, dari segi interaksi (antara
individu dengan individu, individu dengan kelompok serta kelompok dengan
kelompok), perkembangan psikologis, dan masih banyak lagi. Ilmu psikologi juga
mempunyai fungsi untuk menjelaskan apa, bagaimana, dan mengapa suatu
tingkah laku bisa terjadi.
Berdasarkan fungsi ilmu psikologi tersebut muncul istilah-istilah psikologi.

Karena itu, sekarang ini banyak sekali beredar kamus istilah psikologi dalam
bentuk buku, namun dalam penggunaan buku ini memiliki cukup banyak
kesulitan karena pengguna harus mencari arti dan istilah psikologi secara manual,
sulit untuk dibawa kemana - mana dan tidak dapat diperbaharui setiap saat sesuai
dengan kebutuhan dan perkembangan pada saat ini, sehingga dibutuhkan sebuah
media baru yang praktis dan efektif seperti smartphone.
Smartphone dapat mengoperasikan berbagai macam aplikasi seperti aplikasi
kamus. Ini dikarenakan smartphone memiliki sistem operasi seperti di komputer.
Sistem operasi pada smartphone cukup bervariasi seperti IOS, Windows Mobile,
Android, dan lainnya. Oleh karena itu pada penelitian ini penulis berfokus pada

Universitas Sumatera Utara

2

sistem operasi Android, yang marak digunakan di Indonesia. Android adalah
sistem operasi berbasis Linux yang dirancang untuk perangkat layar sentuh
seperti smartphone atau komputer tablet. Dalam aplikasi kamus berbasis android,
istilah psikologi yang ingin dicari tidaklah dicari secara manual (dalam artian kata
per kata atau huruf per huruf). Namun, ada sebuah fitur dalam aplikasi yang

membantu pencarian kata. Fitur yang dimaksud adalah algoritma pencocokan
kata yang diimplementasikan ke dalam aplikasi. Oleh karena itu, penulis akan
memanfaatkan algoritma Skip Search dan Not So Naive untuk mempermudah dan
mempercepat pencarian kata dalam aplikasi lalu membandingkan performa kedua
algoritma tersebut.
Algoritma Not So Naive merupakan algoritma yang digunakan untuk
melakukan proses pencocokan string. Algoritma ini merupakan variasi simpel
dari algoritma Naive namun menjadi lebih efisien untuk beberapa kasus. Seperti
algoritma Naive, algoritma ini memiliki fase pencarian dengan mengecek teks dan
pola dari kiri ke kanan. Namun, Algoritma Not So Naive mengidentifikasi terlebih
dahulu dua kasus yang dimana di setiap akhir fase pencocokan pergeseran bisa
dilakukan sebanyak 2 posisi ke kanan, tidak seperti algoritma Naive yang hanya
sebanyak 1 posisi. (Cantone & Faro, 2004).
Algoritma Skip Search adalah algoritma pencarian string yang juga
digunakan untuk melakukan proses pencocokan string. Algoritma ini bekerja
dengan mengambil konsep membuat tempat penampungan sementara yang kita
istilahkan sebagai wadah di fase pra-prosesnya. Wadah ini akan berisi informasi
tentang semua posisi alfabet yang ada di teks dalam pola. Algoritma ini mulai
mencatat/menyimpan posisi alfabet dimulai dari posisi kiri pertama pola tersebut.
Algoritma ini meneliti teks karakter ke-m untuk menghilangkan kemungkinan

kembali ke titik awal pencarian (Naser, 2010). Lalu pencocokan akan dimulai dari
posisi yang sudah ditentukan (In a specific order) (Charas & Lecroq, 2004).
Dikarenakan kedua algoritma memiliki cara pengecekan yang berbeda dimana
algoritma not so naive mengunakan konsep dari kiri ke kanan (from left to right)
sedangkan algoritma skip search menggunakan konsep dari posisi yang sudah
ditentukan (in a specific order), maka pada penelitian ini penulis akan
membandingkan kedua algoritma tersebut, manakah algoritma yang lebih baik
dari segi kompleksitas algoritma (O) dan proses waktu yang dibutuhkan.

Universitas Sumatera Utara

3

1.2 Rumusan Masalah
Berdasarkan uraian dari latar belakang diatas, rumusan masalah yang akan
dibahas adalah bagaimana perbandingan algoritma Skip Search dan Not So Naive
dalam pencarian / pencocokan kata (string matching) dengan kompleksitas
algoritma (O) dan running time sebagai parameter pembanding.

1.3 Batasan Penelitian

Adapun batasan penelitian dalam penelitian ini adalah sebagai berikut :
1. Objek yang digunakan sebagai kasus penelitian ini adalah kamus istilah
psikologi.
2. Aplikasi yang dirancang ini untuk mencari arti dari istilah psikologi secara
offline.
3. Mengingat banyaknya kata yang terdapat didalam kamus maka penulis
membatasi kata yang diinputkan yaitu 300 kata.
4. Parameter pembanding yang digunakan adalah running time, kompleksitas (O)
algoritma dan banyaknya komparasi.
5. Aplikasi ini dirancang untuk smartphone android versi 5.0 (Lolipop) dan versi
diatasnya dengan menggunakan bahasa pemrograman Java (Eclipse Java IDE).
6. Aplikasi ini dirancang untuk mencari Istilah Psikologi – Definisi dan juga
sebaliknya Definisi – Istilah Psikologi.

1.4 Tujuan Penelitian
Adapun tujuan penelitian dalam tugas akhir ini adalah :
1. Mengetahui algoritma mana yang memiliki kompleksitas algoritma lebih baik
diantara Not So Naive dan Skip Search untuk proses pencarian kata.
2. Mengetahui


perbandingan

kecepatan

waktu

pencarian

kata

dengan

menggunakan algoritma Not So Naive dan Skip Search

1.5 Manfaat Penelitian
Manfaat dari penelitian ini adalah untuk mengetahui algoritma pencarian mana
yang lebih baik diantara algoritma Skip Search dan Not So Naive pada kamus
istilah psikologi dengan platform android.

Universitas Sumatera Utara


4

1.6 Metodologi Penelitian
Tahapan penelitian yang dilakukan dalam penelitian ini adalah :
1. Studi Literatur
Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam
penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang
diperlukan untuk penulisan skripsi ini. Referensi yang digunakan dapat berupa
buku, jurnal, artikel, paper, makalah baik berupa media cetak maupun media
internet mengenai Algoritma pencarian string khususnya untuk algoritma Skip
Search dan algoritma Not So Naive.
2. Analisis dan Perancangan
Pada tahap ini digunakan untuk mengolah data dari hasil studi literatur yang
kemudian dilakukan analisis dan perancangan sistem. Kemudian sistem
dirancang dengan membuat gambaran sistem menggunakan flowchart, UML,
dan user interface.
3. Implementasi
Pada tahap ini perancangan diimplementasikan dalam pembuatan suatu
aplikasi berbasis android dengan menggunakan Bahasa Pemrograman Java

4. Pengujian
Pada tahap ini dilakukan pengujian kinerja sistem dan kebenaran hasil
perbandingan yang dilakukan dengan dua algoritma pencarian string yang
berbeda.
5. Dokumentasi
Pada tahap ini pendokumentasian dilakukan selama penelitian dalam bentuk
skripsi.

1.7 Sistematika Penulisan
Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama, yaitu:

BAB 1 PENDAHULUAN
Bab ini menjelaskan latar belakang judul skripsi ”Perbandingan
Algoritma String Matching Not So Naive dan Skip Search pada Platform

Universitas Sumatera Utara

5

Android”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat

penelitian, metode penelitian dan sistematika penulisan.

BAB 2 LANDASAN TEORI
Bab ini berisi tentang penjelasan singkat mengenai Algoritma,
Algoritma Not So Naive, Algoritma Skip Search, Sting Matching,
Kamus, dan Android.

BAB 3 ANALISIS DAN PERANCANGAN
Bab ini menjelaskan tentang analisis terhadap masalah penelitian dan
perancangan terhadap sistem yang akan dibangun, cara kerja sistem
disertai pembuatan flowchart, Unified Modeling Language (UML),
Design Interface.

BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi tentang pembuatan sistem dan coding sesuai dengan analisis
dan perancangan, kemudian melakukan pengujian sistem serta membahas
hasil dari sistem.

BAB 5 KESIMPULAN DAN SARAN
Bab ini memuat kesimpulan dari seluruh uraian bab maupun sub-bab

yang sebelumnya beserta saran berdasarkan hasil pengujian yang
diharapkan dapat bermanfaat untuk penelitian yang akan datang.

Universitas Sumatera Utara