suatu masalah dengan menggunakan algoritma. Ukuran yang dimaksud mengacu ke jumlah langkah-langkah perhitungan dan waktu tempuh pemrosesan.
Kompleksitas waktu merupakan hal penting untuk mengukur efisiensi suatu algoritma.
Kompleksitas waktu dari suatu algoritma yang terukur sebagai suatu fungsi ukuran masalah. Kompleksitas waktu dari algoritma berisi ekspresi
bilangan dan jumlah langkah yang dibutuhkan sebagai fungsi dari ukuran permasalahan. Kompleksitas ruang berkaitan dengan sistem memori yang
dibutuhkan dalam eksekusi program. Untuk mengukur kebutuhan waktu sebuah algoritma yaitu dengan
mengeksekusi langsung algoritma tersebut pada sebuah komputer, lalu dihitung berapa lama durasi waktu yang dibutuhkan untuk menyelesaikan sebuah
persoalan dengan n yang berbeda-beda. Kemudian dibandingkan hasil komputasi algoritma tersebut dengan notasi kompleksitas waktunya untuk mengetahui
efisiensi algoritmanya Nugraha, D.W. 2012. Kompleksitas algoritma diukur berdasarkan kinerjanya dengan
menghitung waktu eksekusi suatu algoritma. Menurut Cormen et al. 2009 waktu eksekusi algoritma dapat diklasifikasikan menjadi tiga kelompok besar, yaitu
best-case kasus terbaik, average-case kasus rata-rata dan worst-case kasus terjelek.
Pada pemrograman yang dimaksud dengan kasus terbaik, kasus terjelek dan kasus rata-rata suatu algoritma adalah besar kecilnya atau banyak sedikitnya
sumber-sumber yang digunakan oleh suatu algoritma. Makin sedikit makin baik, makin banyak makin jelek Subandijo. 2011.
2.3. Kamus
Menurut Kamus Besar Bahasa Indonesia, pengertian kamus adalah buku acuan yang memuat kata dan ungkapan yang biasanya disusun menurut abjad berikut
keterangan maknanya, pemakaiannya dan terjemahannya. Kamus juga dapat digunakan sebagai buku rujukan yang menerangkan makna kata – kata yang
berfungsi untuk membantu seseorang mengenal perkataan baru.
Universitas Sumatera Utara
2.4. Android
Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat layar bergerak seperti smartphone atau komputer tablet. Android menyediakan
platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak.
Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah
Open Handset alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm,
T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset alliance menyatakan mendukung pengembangan
standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Andorid di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar
terbuka perangkat seluler. Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau
Google Mail Services GMS dan kedua adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open
Handset Distribution OHD.
2.4.1 Versi Android Tabel 2.9
Versi-versi Android
Versi Tanggal Rilis
Nama Kode API
Android 1.0 23September
2008 API Level l
Android 1.1 9 Februari
2009 API Level 2
Android 1.5 30 April 2009
Cupcake API Level 3
Android 1.6 15September
2009 Donut
API Level 4 Android 2.0
26 Oktober 2009
Eclair API Level 5
Android 2.0.1 3 Desember
2009 Eclair
API Level 6 Android 2.1
12 Januari 2010
Eclair API Level 7
Android 2.2 - 2.2.3
20 Mei 2010 Froyo
API Level 8 Android 2.3
- 2.3.2 6 Desember
2010 Gingerbread
API Level 9 Android 2.3.3
- 2.3.7 22 Februari
2011 Gingerbread
API Level 10 Android 3.0
22 Februari 2011
Honeycomb API Level 11
Android 3.1 10 Mei 2011
Honeycomb API Level 12
Android 3.2 18 Juli 2011
Honeycomb API Level 13
Android 4.0 - 4.0.2
19 Oktober 2011
IceCream Sandwich
API Level 14 Android 4.0.3
- 4.0.4 16Desember
2011 IceCream
API Level 15 Android 4.1
9 Juli 2012 Jelly Bean
API Level 16
Universitas Sumatera Utara
Versi Tanggal Rilis
Nama Kode API
Android 4.2 13November
2012 Jelly Bean
API Level 17 Android 4.3
24 Juli 2013 Jelly Bean
API Level 18 Android 4.4
31 Oktober 2013
Kitkat API Level 19
Android 5.0 25 Juni 2014
Lolipop API Level 21
Android 6.0 28 Mei 2015
Marshmallow API Level 23
Tabel 2.9 menjelaskan versi android beserta nama, tanggal rilis dan API nya.
Gambar 2.3
Logo-logo android
dari versi
1.0 –
6.0 sumber : https:indoberita.com
Gambar 2.3 menunjukkan logo – logo android dimulai dari android versi 1.0
yang diwakili gambar Alpha, android versi 1.1 yang diwakili gambar Beta, android versi 1.2 – 1.5 yang diwakili gambar Cupcake, android versi 1.6 yang
diwakili gambar Donut, android versi 2.0 – 2.1 yang diwakili gambar Eclair, android versi 2.2 – 2.2.3 yang diwakili gambar Froyo, android versi 2.3 – 2.4 yang
diwakili gambar Gingerbread, android versi 3.0 – 3.2 yang diwakili gambar Honeycomb, android versi 4.0 yang diwakili gambar Ice Cream Sandwich,
android versi 4.1 – 4.3 yang diwakili gambar Jelly Bean, android versi 4.4 yang diwakili gambar KitKat, android versi 5.0 yang diwakili gambar Lolipop, dan
android versi 6.0 yang diwakili gambar Marshmallow.
Universitas Sumatera Utara
2.5. Penelitian yang Relevan
Berikut ini beberapa penelitian yang terkait dengan Algoritma Not So Naive dan Algoritma Skip Search :
1. Bhandari, J. Kumar, A. 2013 Menjelaskan tentang korelasi antara
Suffix to Prefix rule, Two Window Rule dan Non-Tandem Rule dari Exact String Matching. Yang dimana cara kerja dari Two Window Rule adalah
dengan membuat dua jendela terlebih dahulu, yang panjang tiap jendelanya sesuai dengan panjang patternpola dan diletakan di teks
yang akan dicocokan, dimana posisi salah satu huruf dari teks diapit oleh dua jendela. Sehingga panjang jendela di teks sebesar 2m-1. Algoritma
yang mengunakan Two Window Rule dalam fase pencariannya adalah Algoritma Skip Search, Algoritma Alpa Skip Search dan Algoritma
Wide-Window. 2.
Naser et al., 2012 Menyatakan bahwa Algoritma Skip Search bertingkah seperti Algoritma Knuth Morris Pratt dimana pemindaian
jendela karakter dimulai dari kiri ke kanan sementara algoritma menggunakan wadah yang bisa kita sebut sebagai ember untuk
menentukan posisi awal dari jendela di dalam teks saat melakukan pengecekan. Wadah yang digunakan dalam Algoritma Skip Search berisi
lokasi paling kiri dari semua alphabet yang terdapat dalam patternpola. Proses pre-processing yang dilakukan algortima Skip Search berguna
untuk mengurangi komparasi karakter yang akan dilakukan di proses pencarian.
3. Cantone, D. Faro, S. 2004 Menjelaskan bahwa Algoritma Not So
Naive merupakan variasi simpel dari Algoritma Naive yang ternyata cukup efisien dalam beberapa kasus. Proses searching dari Algoritma
Not So Naive dilakukan dengan mencocokan teks dan pola dari kiri ke kanan. Namun, Algoritma Not So Naive mempunyai dua kasus yang
jikalau terpenuhi maka akhir dari pencocokan, pola bisa bergeser sebanyak 2 posisi ke kanan, daripada 1 posisi yang terdapat di Algoritma
Naive.
Universitas Sumatera Utara
BAB 1
PENDAHULUAN
1.1 Latar Belakang