Perbandingan Algoritma Boyer Moore dan Brute Force Dalam Pembuatan Kamus Bahasa Mandarin – Indonesia – Inggris Platform Android
6
BAB 2
TINJAUAN PUSTAKA
2.1 Algoritma Boyer-Moore
Algoritma Boyer-Moore adalah salah satu algoritma pencarian string, dipublikasikan
oleh Robert S. Boyer, dan J. Strother Moore pada tahun 1977. Algoritma ini dianggap
sebagai algoritma yang paling efisien pada aplikasi umum.Tidak seperti algoritma
pencarian string yang ditemukan sebelumnya, algoritma Boyer-Moore mulai
mencocokkan karakter dari sebelah kanan pattern (pola yang di cari). Ide dibalik
algoritma ini adalah bahwa dengan memulai pencocokkan karakter dari kanan, dan
bukan dari kiri, maka akan lebih banyak informasi yang didapat. (Helmi, 2013)
2.1.1 Kelebihan Algoritma Boyer-Moore :
Tidak seperti pencarian string lainnya Brute Force, Knuth-Morris-Pratt yang
mempunyai cara kerja membandingkan satu – persatu karakter dari kiri ke kanan.
Boyer-Moore membandingkan karakter dari kanan ke kiri dan
memiliki loncatan
karakter yang besarsehingga mempercepat pencarian string karena dengan hanya
memeriksa sedikit karakter, dapat langsung diketahui bahwa string yang dicari tidak
ditemukan dan dapat digeser ke posisi berikutnya.
2.1.2 Kelemahan Algoritma Boyer-Moore :
Algoritma Boyer-Moore mencocokan Pattern dari kanan ke kiri oleh sebab itu
kelemahan dari algoritma ini adalah ketika semua karakter memiliki kesamaan atau
cocok
dan hanya karakter terakhir atau karakter paling kiri yang berbeda maka
pencarian ini akan memerlukan waktu yang sedikit lama (Utomo, 2008).
Tabel 2.1.Contoh algoritma Boyer-Moore
Universitas Sumatera Utara
7
Teks
G
R
A
C
E
Pattern
H
A
L
I
M
Pada tabel 2.1, dengan melakukan pencocokan dari posisi paling akhir/kanan pattern
dapat dilihat bahwa karakter “M” pada pattern “HALIM” tidak cocok dengan karakter
“E” pada teks “GRACE” , dan karakter “E” tidak pernah ada dalam pattern “HALIM”
yang dicari sehingga pattern “HALIM” dapat digeser melewati teks “GRACE”
sehingga posisinya menjadi:
Tabel 2.2.Contoh pergeseran algoritma Boyer-Moore
Teks
G
R
Pattern
A
C
E
H
A
L
I
M
Tabel 2.2 menunjukkan bahwa algoritma Boyer-Moore memiliki pergeseran karakter
yang besar sehingga mempercepat pencarian pattern karena dengan hanya memeriksa
sedikit karakter, dapat langsung diketahui bahwa pattern yang dicari tidak ditemukan
dan dapat digeser ke posisi berikutnya (Ginting, 2014)
Algoritma Boyer-Moore menggunakan dua buah tabel untuk mengolah informasi saat
terjadi kegagalan pencocokan pattern.Tabel pertama disebut bad character shitf juga
sering disebut occurrence heuristic (OH). Tabel kedua disebut dengan istilah good
suffix shift juga disebut match heuristic (MH) (Charras, 2014)
Secara sistematis, langkah-langkah yang dilakukan algoritma Boyer-Moore pada saat
mencocokkan pattern adalah:
Algoritma boyer-moore mulai mencocokkan pattern pada karakter paling
akhir/kanan.
Universitas Sumatera Utara
8
Dari kanan ke kiri, algoritma ini akan mencocokkan karakter per karakter
pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi
berikut dipenuhi:
a. Karakter di pattern dan di teks yang
dibandingkan tidak cocok
(mismatch).
b. Semua karakter di pattern cocok, kemudian
algoritma akan
memberitahukan penemuan di posisi ini.
Algoritma kemudian menggeser pattern dengan mengambil nilai terbesar dari
penggeseran good-suffix dan penggeseran bad-character , lalu mengulangi
langkah 2 sampai pattern berada di ujung teks. (Ramadhansyah,2013)
2.1.3 Pencarian Dengan Algoritma Boyer-Moore
Buat tabel pergeseran pattern yang dicari (P) dengan pendekatan Match
Heuristic (MH) dan Occurence Heuristic (OH), untuk menentukan jumlah
pergeseran yang akan dilakukan jika mendapat karakter tidak cocok pada
proses pencocokan dengan teks (T).
Jika dalam proses pembandingan terjadi ketidakcocokan antara pasangan
karakter pada pattern dan karakter teks, pergeseran dilakukan dengan memilih
salah satu nilai pergeseran dari dua tabel, dan memiliki nilai pergeseran paling
besar dari tabel Match Heuristic dan Occurence Heuristic .
Dua kemungkinan penyelesaian dalam melakukan pergeseran pattern, Jika
karakter yang tidak cocok, tidak ada pada pattern maka pegeseran adalah
sebanyak jumlah karakter pada pattern. dan jika karakter yang tidak cocok, ada
pada pattern, maka banyaknya pergeseran bergantung dari nilai pada tabel
Match Heuristic dan Occurence Heuristic.
o Jika karakter pada teks yang sedang dibandingkan cocok dengan
karakter pada pattern, maka posisi karakter pada pattern dan teks
diturunkan sebanyak 1 posisi, kemudian lanjutkan dengan pencocokan
pada
posisi
tersebut
dan
seterusnya.
Jika
kemudian
terjadi
ketidakcocokan karakter pattern dan teks, maka pilih nilai pergeseran
terbesar dari tabel match heuristic dan nilai tabel occurence heuristic .
Universitas Sumatera Utara
9
Jika semua karakter telah cocok, artinya pattern telah ditemukan di dalam teks.
(Ramadhansyah,2013)
Cara menghitung tabel occurence heuristic :
Contoh pattern
: MOORE
Panjang karakter
:5
Tabel 2.3.occurence heuristic
Index
0
1
2
3
4
Pattern
M
O
O
R
E
Occurence Heuristic
Langkah-langkah pemberian nilainya adalah sebagai berikut :
1. Lakukan perhitungan, OH = ( length -1 –index)
length = panjang karakter= 5
2. Karakter pertama adalah “M” dengan Index = 0
OH = (5 - 1 - 0 = 4)maka nilai karakter “M” = 4
3. Karakter kedua adalah “O” dengan index = 1
OH = (5 - 1 - 1 = 3)maka nilai karakter “O” = 3
4. Karakter ketiga adalah “O” dengan index = 2
OH = (5 - 1 - 2 = 2)maka nilai karakter “O” = 2
5. Karakter keempat adalah “R” dengan index = 3
OH = (5 - 1 - 3 = 1)maka nilai karakter “R” = 1
6. Karakter kelima adalah “E” dengan index = 4
OH = (5 - 1 - 4 = 0)maka nilai karakter “E” = 0
Universitas Sumatera Utara
10
Tabel 2.4.Hasil pencarian Occurence Heuristic
Index
0
1
2
3
4
Pattern
M
O
O
R
E
Occurence Heuristic
4
3
2
1
0
7. Jika ada karakter yang berulang ambil nilai OH terkecil, dalam kasus ini ada
karakter “O” yang bernilai 3 dan 2, maka jadikan karakter “O” bernilai 2.
Dapat dilihat pada tabel 2.5.
Tabel 2.5. Hasil akhir pencarian Occurence Heuristic
Index
0
1
2
3
4
Pattern
M
O
O
R
E
Occurence Heuristic
4
2
2
1
0
2.2 Algoritma Brute Force
Algoritma Brute Force adalah algoritma untuk mencocokkan pattern dengan semua
teks antara 0 dan n-m untuk menemukan keberadaan pattern dalam teks (Riyanarto
Sarno, Yeni Anistyasari, dan Rahimi Fitri, 2012). Di dalam pencocokkan string,
terdapat istilah teks dan pattern. Teks merupakan kata yang dicari dan dicocokkan
dengan pattern. Sedangkan pattern merupakan kata yang diinputkan untuk dicocokkan.
Secara rinci, langkah – langkah yang dilakukan algoritma ini saat mencocokkan string
adalah:
1. Algoritma Brute Force mulai mencocokkan pattern dari awal teks.
2. Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter pattern
dengan karakter pada teks yang bersesuaian, sampai salah satu kondisi berikut
terpenuhi :
a. Karakter di pattern dan di teks yang dibandingkan tidak cocok.
b. Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan
penemuan di posisi ini.
Universitas Sumatera Utara
11
3. Algoritma kemudian terus menggeser pattern sebesar satu ke kanan, dan
mengulangi langkah ke -2 sampai pattern berada di ujung teks.
2.2.1
Kelemahan dan Kelebihan Algoritma Brute Force
Algoritma Brute Force juga memiliki kelebihan dan kelemahan. Adapun kelebihan
dari algoritma Brute Force yaitu:
1. Algoritma Brute Force dapat digunakan untuk memecahkan hampir sebagian
besar masalah
2. Algoritma Brute Force sederhana dan mudah dimengerti
3. Algoritma Brute Force menghasilkan algoritma yang layak untuk beberapa
masalah penting seperti pencarian, pengurutan, pencocokkan string , atau
perkalian matriks
4. Algoritma Brute Force menghasilkan algoritma baku (standard) untuk tugastugas komputasi penjumlahan / perkalian n buah bilangan, menentukan
elemen minimum atau maksimum di dalam tabel (list).
Sedangkan kelemahan dari algoritma Brute Force yaitu sebagai berikut:
1. Algoritma Brute Force jarang menghasilkan algoritma yang manjur
2. Beberapa algoritma Brute Force lambat, sehingga tidak dapat diterima
3. Tidak sekonstuktif/sekreatif teknik pemecahan masalah lainnya
Contoh penggunakan algoritma Brute Force untuk pencarian pattern dalam teks:
Teks
= GRACE HALIM
Pattern
= HALIM
Contoh implementasi pencarian pattern pada teks proses ke 1
Teks
G
R
A
C
E
Pattern
H
A
L
I
M
Index
0
1
2
3
4
5
H
A
L
I
M
6
7
8
9
10
Universitas Sumatera Utara
12
Tidak cocok, geser pattern sebanyak satu langkah ke kanan menuju indeks berikutnya.
Contoh implementasi pencarian pattern pada teks proses ke 2
Teks
G
Pattern
Index
0
R
A
C
E
H
A
L
I
M
1
2
3
4
5
H
A
L
I
M
6
7
8
9
10
Tidak cocok, geser pattern sebanyak satu langkah ke kanan menuju indeks berikutnya.
Contoh implementasi pencarian pattern pada teks proses ke 3
Teks
G
R
Pattern
Index
0
1
A
C
E
H
H
A
L
I
M
2
3
4
5
6
A
L
I
M
7
8
9
10
Tidak cocok, geser pattern sebanyak satu langkah ke kanan menuju indeks berikutnya.
Contoh implementasi pencarian pattern pada teks proses ke 4
Teks
G
R
A
Pattern
Index
0
1
2
C
E
H
A
3
4
H
A
L
I
M
5
6
7
L
I
M
8
9
10
Tidak cocok, geser pattern sebanyak satu langkah ke kanan menuju indeks berikutnya.
Contoh implementasi pencarian pattern pada teks proses ke 5
Teks
G
R
A
C
Pattern
Index
0
1
2
3
E
H
A
L
H
A
L
I
M
4
5
6
7
8
I
M
9
10
Tidak cocok, geser pattern sebanyak satu langkah ke kanan menuju indeks berikutnya.
Contoh implementasi pencarian pattern pada teks proses ke 6
Universitas Sumatera Utara
13
Teks
G
R
A
C
E
Pattern
Index
0
1
2
3
4
H
A
L
I
H
A
L
I
M
5
6
7
8
9
M
10
Tidak cocok, geser pattern sebanyak satu langkah ke kanan menuju indeks berikutnya.
Contoh implementasi pencarian pattern pada teks proses ke 7
Teks
G
R
A
C
E
Pattern
Index
0
1
2
3
4
5
H
A
L
I
M
H
A
L
I
M
6
7
8
9
10
Pattern cocok, pencarian berhenti pada indeks ke 6.
2.3 Bahasa Mandarin
Penelitian tentang Analisis Homograf aksara Cina dan Analisis bahasa
berdasarkan unsur semantik sudah pernah diteliti sebelumnya oleh peneliti lain,
seperti : Tesis Ridwan Azhar (1998) yang berjudul “Analisis Semantik Bahasa
Melayu Dialek Bandar Khalipah” dilakukan untuk memperoleh gambaran deskriptif
analisis semantik Bahasa Melayu Dialek Bandar Khalipah. Penelitian dilakukan
berdasarkan semantik leksikal dan sematik kalimat menurut teori dan konsep
semantik. Hasil penelitian yang disajikan menggunakan pendekatan semantik
struktural yang mendeskripsikan bahasa dengan kerangka teori analisis makna.
Pembahasaan semantik bahasa Melayu dialek Bandar Khalipah, mencakup : kata,
kata turunan, ciri-ciri makna leksikal, hubungan makna leksikal, makna kalimat, dan
hubungan makna kalimat.
Disertasi SunQiang 孙强 dari Universitas Sichuan (2007) berjudul “Penelitian
Homograf Aksara Cina Modern” yang membandingkan kosa kata homograf pada
masa lalu dengan masa sekarang. Penelitian ini dilakukan dengan metode library
research (penelitian perpustakaan) yaitu dengan mengumpulkan kosakata homograf
yang terdapat didalam kamus “现代汉语词典 (第五版)” xiàn dài hàn yŭ cí diăn (dì
Universitas Sumatera Utara
14
wŭ băn).
Skripsi Wedhawati dari Balai Bahasa Yogyakarta (2005) berjudul“Konfigurasi
Medan Leksikal Verbal Indonesia yang berkomponen Makna(+suara+makna)”.
Dalam penelitian medan leksikal ini yang ditelaah sejumlah medanleksikal verbal
yang berkomponen makna dalam Bahasa Indonesia. Medan leksikalitu terbentuk dari
butir-butir leksikal verbal simpelks yang bersifat internal danintralingual. Butir-butir
leksikalverbal adalah butir-butir leksikal yang relasasinya
dalam ujaran atau kalimat termasuk kelas kata verba.
Skripsi Risatyah dari Universitas Negri Malang (2010) berjudul “Pengajaran
Bahasa Inggris Berbasis Leksikon untuk Meningkatkan kemampuan Pembelajaran
Usia Muda dalam Memproduksi Classroom Lekxico-grammatical Units di 3 to 6
CEC Kawi Malang”. Dalam penelitian ini mengacu pada teori pengajaran bahasa
Inggris berbasis leksikon, Classroom lekxico-grammatical units diperkenalkan melalu
cerita. Penelitian ini menggunakan pengajaran Bahasa Inggris Berbasis Leksikon
pada pembelajar tingkat yang lebih tinggi untuk meningkatkan ketrampilan berbicara.
Universitas Sumatera Utara
15
2.4 Sejarah Android
Android merupakan sebuah sistem operasi, middleware dan aplikasi utama untuk
perangkat mobile device yang direlease oleh Google. Android SDK (Software
Development
Kit)
menyediakan
Tools
dan
API
yang
diperlukan
untuk
mengembangkan aplikasi pada platform Android dengan menggunakan bahasa
pemrograman Java dengan tujuan membuat sebuah standar terbuka untuk perangkat
telepon selular (mobile device ). Android bukan linux, akan tetapi Android dibangun
diatas Linux Kernel yaitu versi 2.6.Android menyertakan libraries C/C++ yang
digunakan oleh berbagai komponen dari sistem operasi Android.
Android Inc. didirikan oleh Andy Rubin, Rich Milner , Nick Sears dan Chris
Whitepada tahun 2003 di Palo Alto, California, USA. Pada Agustus 2005 Google
membeliAndroid Inc. Kemudian untuk mengembangkanAndroid dibentuklah Open
HandsetAlliance
konsorsium
dari
34
perusahaan
hardware,
software
dan
telekomunikasi,termasuk Google, HTC, Intel, Motorola, Qualqomm, T-Mobile dan
Nividia .Saat inisudah banyak bermunculan vendor-vendor untuk smartphone yang
memakai OS Android. (Chistie, 2012)
Kelebihan Android :
a. Lengkap (Complete Platform) : Android dikatakan lengkap karena Android
menyediakan tools untuk membangun software yang sangat lengkap dibanding
dengan platform lain.
b. Terbuka (Open Source Platform) : Platform Android diciptakan dibawah
lisensi open source , dimana para pengembang bebas untuk mengembangkan
aplikasi pada platform ini.
c. Bebas (Free Platform) : Android adalah platform mobile yang tidak memiliki
batasan dalam mengembangkan aplikasinya. Tidak ada lisensi dalam
mengembangkan aplikasi Android. Android dapat didistribusikan dan
diperdagangkan dalam bentuk apapun. (Eko, 2012)
2.5 Jenis-jenis OS Android
Universitas Sumatera Utara
16
1.
Android versi 1.
Gambar 2.1. Android versi 1.1
Pada gambar 2.1. Andoid versi 1.1 di rilis pada 9 Maret 2009 oleh
Google. Android versi ini dilengkapi disupport oleh Google Mail Service dengan
pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara),
pengirimanpesan dengan Gmail, dan pemberitahuan email.
2.
Android versi 1.5 Cup Cake
Gambar 2.2 Android versi 1.5 Cup Cake
Pada gambar 2.2. Android Cup Cake di rilis pada pertengahan Mei 2009,
masih oleh Google Inc. Android ini dilengkapi softwaredevelopment kit dengan
berbagai pembaharuan termasuk penambahan beberapa fitur antara lain yakni
kemampuan merekam dan menonton video dengan modus kamera, mengunggah video
ke Youtube, upload gambar ke Picasa langsung dari telepon, serta mendapat dukungan
Bluetooth A2DP.
Universitas Sumatera Utara
17
3.
Android versi 1.6 Donut
Gambar 2.3. Android versi 1.6 Donut
Pada gambar 2.3. Android Donut di rilis pada September 2009 menampilkan
proses pencarian yang lebih baik dibandingkan versi-versi sebelumnya. Selain itu
Android Donut memiliki fitur-fitur tambahan seperti galeri yang memungkinkan
pengguna untuk memilih foto yang akan dihapus, kamera, camcorder dan galeri yang
dintegrasikan text-to-speech engine , kemampuan dial kontak, dan teknologi text to
change speech. Android Donut juga dilengkapi baterai indikator, dan kontrol applet
VPN.
4. Android versi 2.0/2.1 Eclair
Gambar 2.4. Android versi 2.0/2.1 Eclair
Pada gambar 2.4. Android Eclair dirilis pada 3 Desember 2009. Perubahan
yang ada antara lain adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2,
perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru,
dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1. Android Eclair
merupakan Android pertama yang mulai dipakai oleh banyak smartphone, fitur utama
Eclair yaitu perubahan total struktur dan tampilan user interface .
Universitas Sumatera Utara
18
5. Android versi 2.2 Froyo (Frozen Yogurt)
Gambar 2.5. Android versi 2.2 Froyo
Pada gambar 2.5. Android Froyo dirilis pada 20 mei 2012. Adroid versi ini
memiliki kecepatan kinerja dan aplikasi 2 sampai 5 kali dari versi-versi sebelumnya.
Selain itu ada penambahan fitur-fitur baru seperti dukungan Adobe Flash 10.1,
intergrasi V8 JavaScript engine yang dipakai Google Chrome yang mempercepat
kemampuan rendering pada browser , pemasangan aplikasi dalam SD Card,
kemampuan WiFi Hotspot portabel, dan kemampuan auto update dalam aplikasi
Android Market.
6.
Android versi 2.3 Gingerbread
Gambar 2.6. Android versi 2.3 Gingerbread
Pada gambar 2.6. Andoid Gingerbread di rilis pada 6 Desember 2010.
Perubahan-perubahan umum yang didapat dari Android versi ini antara lain
peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste, layar
antar muka (User Interface ) didesain ulang, dukungan format video VP8 dan WebM,
efek audio baru (reverb, equalization, headphone virtualization, dan bass boost),
dukungan kemampuan Near Field Communication (NFC), dan dukungan jumlah
kamera yang lebih dari satu.
7.
Android versi 3.0/3.1 Honeycomb
Universitas Sumatera Utara
19
Gambar 2.7. Android versi 3.0/3.1 Honeycomb
Pada gambar 2.7. Android Honeycomb di rilis pada awal 2012. Merupakan
versi Android yang dirancang khusus untuk device dengan layar besar seperti Tablet
PC. Fitur baru yang ada pada Android Honeycomb antara lain yaitu dukungan
terhadap prosessor multicore dan grafis dengan hardware acceleration . User Interface
pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Tablet pertama
yang memakai Honeycomb adalah tablet Motorola Xoom yang dirilis bulan Februari
2011. Selain itu sebuah perangkat keras produksi Asus bernama Eee Pad Transformer
juga menggunakan OS Android honeycomb.
8. Android versi 4.0 ICS (Ice Cream Sandwich)
Gambar 2.8. Android versi 4.0 Ice Cream Sandwich
Pada gambar 2.8. Android Ice Cream Sandwich diumumkan secara resmi pada
10 Mei 2011 di ajang Google I/O Developer Conference (San Francisco), pihak
Google mengklaim Android Ice Cream Sandwich akan dapat digunakan baik di
smartphone ataupun tablet. Android Ice Cream Sandwich membawa fitur Honeycomb
untuk smartphone serta ada penambahan fitur baru seperti membuka kunci dengan
pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol, terpadu kontak
jaringan sosial, perangkat tambahan fotografi, mencari email secara offline, dan
berbagi informasi dengan menggunakan NFC. Ponsel pertama yang menggunakan
sistem operasi ini adalah Samsung Galaxy Nexus.
9.
Android versi 4.1 Jelly Bean
Universitas Sumatera Utara
20
Gambar 2.9. Android versi 4.1 Jelly Bean
Pada gambar 2.9. Android Jelly Bean juga diluncurkan pada acara Google I/O
10 Mei 2011 yang lalu. Android versi ini membawa sejumlah keunggulan dan fitur
baru, diantaranya peningkatkan input keyboard, desain baru fitur pencarian, UI yang
baru dan pencarian melalui Voice Search yang lebih cepat. Versi ini juga dilengkapi
Google Now yang dapat memberikan informasi yang tepat pada waktu yang tepat
pula. Salah satu kemampuannya adalah dapat mengetahui informasi cuaca, lalu-lintas,
ataupun hasil pertandingan olahraga. Sistem operasi Android Jelly Bean 4.1 pertama
kali digunakan dalam produk tablet Asus, yakni Google Nexus 7.
10. Android versi 4.4 KitKat
Gambar 2.10. Android versi 4.4 KitKat
Pada gambar 2.10. Awalnya android versi ini di isukan bernama Key Lime Pie .
Namun pada tanggal oktober 2013 google merilis kitkat sebagai generasi android
berikutnya. Android versi ini memiliki banyak fitur & semakin memanjakan para
pengguna android. Diantaranya : Immersive mode , Akses kontak langsung dari
aplikasi telepon, google now launcher , dan pastinya memiliki interface UI yang baru.
Universitas Sumatera Utara
21
11. Android versi 5.0 Lolipop
Gambar 2.11. Android versi 5.0 Lolipop
Pada gambar 2.11. Android Lollipop adalah versi stabil terbaru dari sistem operasi
Android yang dikembangkan oleh Google, yang pada saat ini mencakup versi antara
5.0 dan 5.1. Diresmikan pada 25 Juni 2014 saat Google I / O, dan tersedia secara resmi
melalui over-the-air (OTA) update pada tanggal 12 November 2014, untuk memilih
perangkat yang menjalankan distribusi Android dilayani oleh Google (seperti
perangkat Nexus dan Google Play edition). Kode sumbernya dibuat tersedia pada 3
November 2014.
Salah satu perubahan yang paling menonjol dalam rilis Lollipop adalah user
interface yang didesain ulang dan dibangun dengan yang dalam bahasa desain disebut
sebagai "material design ". Perubahan lain termasuk perbaikan pemberitahuan, yang
dapat diakses dari lockscreen dan ditampilkan pada banner di bagian atas screen.
Google juga membuat perubahan internal untuk platform, dengan Android Runtime
(ART) secara resmi menggantikan Dalvik untuk meningkatkan kinerja aplikasi, dan
dengan perubahan yang ditujukan untuk meningkatkan dan mengoptimalkan
penggunaan baterai, yang dikenal secara internal sebagai Project Volta .
2.6 Eclipse
Eclipse
adalah
sebuah
IDE
(Integrated
Development
Environment )
untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform
Universitas Sumatera Utara
22
(platformindependent). Berikut ini adalah sifat dari Eclipse: Multi-platform, Mulitlanguage
dan Multi-role.Sejarah Eclipse awalnya dikembangkan oleh IBM
(International
Business
Machines )
untuk
menggantikan
perangkat
lunak
pengembangan IBM Visual Age for Java 4.0. Produk Eclipse ini diluncurkan oleh
IBM pada tanggal 5 November 2001. IBM menginvestasikan US$ 40 juta untuk
pengembangannya. Sejak 5 November 2001.
2.7 SQLite
SQLite merupakan sebuah Database yang bersifat ACID-compliant dan memiliki
ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite merupakan
proyek yang bersifat public domain yang dikerjakan oleh D. Richard Hipp. SQLite adalah
sebuah open source database yang telah ada cukup lama, cukup stabil, dan sangat
terkenal pada perangkat kecil, termasuk Android. Android menyediakan database
relasional yang ringan untuk setiap aplikasi menggunakan SQLite. Aplikasi dapat
mengambil keuntungan dari itu untuk mengatur relational database engine untuk
menyimpan data secara aman dan efiesien. Untuk Android, SQLite dijadikan satu di
dalam Android runtime, sehingga setiap aplikasi Android dapat membuat basis data
SQLite. Karena SQLite menggunakan antarmuka SQL, cukup mudah untuk digunakan
orang orang dengan pengalaman lain yang berbasis databases. Terdapat beberapa
alasan mengapa SQLite sangat cocok untuk pengembangan aplikasi Android, yaitu:
Database dengan konfigurasi nol. Artinya tidak ada konfigurasi database untuk para
developer. Ini membuatnya relatif mudah digunakan. Tidak memiliki server. Tidak
ada proses database SQLite yang berjalan. Pada dasarnya satu set libraries
menyediakan fungsionalitas database. Single-file database. Ini membuat keamanan
database secara langsung. Open source. Hal ini membuat developer mudah dalam
pengembangan aplikasi.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
Universitas Sumatera Utara
BAB 2
TINJAUAN PUSTAKA
2.1 Algoritma Boyer-Moore
Algoritma Boyer-Moore adalah salah satu algoritma pencarian string, dipublikasikan
oleh Robert S. Boyer, dan J. Strother Moore pada tahun 1977. Algoritma ini dianggap
sebagai algoritma yang paling efisien pada aplikasi umum.Tidak seperti algoritma
pencarian string yang ditemukan sebelumnya, algoritma Boyer-Moore mulai
mencocokkan karakter dari sebelah kanan pattern (pola yang di cari). Ide dibalik
algoritma ini adalah bahwa dengan memulai pencocokkan karakter dari kanan, dan
bukan dari kiri, maka akan lebih banyak informasi yang didapat. (Helmi, 2013)
2.1.1 Kelebihan Algoritma Boyer-Moore :
Tidak seperti pencarian string lainnya Brute Force, Knuth-Morris-Pratt yang
mempunyai cara kerja membandingkan satu – persatu karakter dari kiri ke kanan.
Boyer-Moore membandingkan karakter dari kanan ke kiri dan
memiliki loncatan
karakter yang besarsehingga mempercepat pencarian string karena dengan hanya
memeriksa sedikit karakter, dapat langsung diketahui bahwa string yang dicari tidak
ditemukan dan dapat digeser ke posisi berikutnya.
2.1.2 Kelemahan Algoritma Boyer-Moore :
Algoritma Boyer-Moore mencocokan Pattern dari kanan ke kiri oleh sebab itu
kelemahan dari algoritma ini adalah ketika semua karakter memiliki kesamaan atau
cocok
dan hanya karakter terakhir atau karakter paling kiri yang berbeda maka
pencarian ini akan memerlukan waktu yang sedikit lama (Utomo, 2008).
Tabel 2.1.Contoh algoritma Boyer-Moore
Universitas Sumatera Utara
7
Teks
G
R
A
C
E
Pattern
H
A
L
I
M
Pada tabel 2.1, dengan melakukan pencocokan dari posisi paling akhir/kanan pattern
dapat dilihat bahwa karakter “M” pada pattern “HALIM” tidak cocok dengan karakter
“E” pada teks “GRACE” , dan karakter “E” tidak pernah ada dalam pattern “HALIM”
yang dicari sehingga pattern “HALIM” dapat digeser melewati teks “GRACE”
sehingga posisinya menjadi:
Tabel 2.2.Contoh pergeseran algoritma Boyer-Moore
Teks
G
R
Pattern
A
C
E
H
A
L
I
M
Tabel 2.2 menunjukkan bahwa algoritma Boyer-Moore memiliki pergeseran karakter
yang besar sehingga mempercepat pencarian pattern karena dengan hanya memeriksa
sedikit karakter, dapat langsung diketahui bahwa pattern yang dicari tidak ditemukan
dan dapat digeser ke posisi berikutnya (Ginting, 2014)
Algoritma Boyer-Moore menggunakan dua buah tabel untuk mengolah informasi saat
terjadi kegagalan pencocokan pattern.Tabel pertama disebut bad character shitf juga
sering disebut occurrence heuristic (OH). Tabel kedua disebut dengan istilah good
suffix shift juga disebut match heuristic (MH) (Charras, 2014)
Secara sistematis, langkah-langkah yang dilakukan algoritma Boyer-Moore pada saat
mencocokkan pattern adalah:
Algoritma boyer-moore mulai mencocokkan pattern pada karakter paling
akhir/kanan.
Universitas Sumatera Utara
8
Dari kanan ke kiri, algoritma ini akan mencocokkan karakter per karakter
pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi
berikut dipenuhi:
a. Karakter di pattern dan di teks yang
dibandingkan tidak cocok
(mismatch).
b. Semua karakter di pattern cocok, kemudian
algoritma akan
memberitahukan penemuan di posisi ini.
Algoritma kemudian menggeser pattern dengan mengambil nilai terbesar dari
penggeseran good-suffix dan penggeseran bad-character , lalu mengulangi
langkah 2 sampai pattern berada di ujung teks. (Ramadhansyah,2013)
2.1.3 Pencarian Dengan Algoritma Boyer-Moore
Buat tabel pergeseran pattern yang dicari (P) dengan pendekatan Match
Heuristic (MH) dan Occurence Heuristic (OH), untuk menentukan jumlah
pergeseran yang akan dilakukan jika mendapat karakter tidak cocok pada
proses pencocokan dengan teks (T).
Jika dalam proses pembandingan terjadi ketidakcocokan antara pasangan
karakter pada pattern dan karakter teks, pergeseran dilakukan dengan memilih
salah satu nilai pergeseran dari dua tabel, dan memiliki nilai pergeseran paling
besar dari tabel Match Heuristic dan Occurence Heuristic .
Dua kemungkinan penyelesaian dalam melakukan pergeseran pattern, Jika
karakter yang tidak cocok, tidak ada pada pattern maka pegeseran adalah
sebanyak jumlah karakter pada pattern. dan jika karakter yang tidak cocok, ada
pada pattern, maka banyaknya pergeseran bergantung dari nilai pada tabel
Match Heuristic dan Occurence Heuristic.
o Jika karakter pada teks yang sedang dibandingkan cocok dengan
karakter pada pattern, maka posisi karakter pada pattern dan teks
diturunkan sebanyak 1 posisi, kemudian lanjutkan dengan pencocokan
pada
posisi
tersebut
dan
seterusnya.
Jika
kemudian
terjadi
ketidakcocokan karakter pattern dan teks, maka pilih nilai pergeseran
terbesar dari tabel match heuristic dan nilai tabel occurence heuristic .
Universitas Sumatera Utara
9
Jika semua karakter telah cocok, artinya pattern telah ditemukan di dalam teks.
(Ramadhansyah,2013)
Cara menghitung tabel occurence heuristic :
Contoh pattern
: MOORE
Panjang karakter
:5
Tabel 2.3.occurence heuristic
Index
0
1
2
3
4
Pattern
M
O
O
R
E
Occurence Heuristic
Langkah-langkah pemberian nilainya adalah sebagai berikut :
1. Lakukan perhitungan, OH = ( length -1 –index)
length = panjang karakter= 5
2. Karakter pertama adalah “M” dengan Index = 0
OH = (5 - 1 - 0 = 4)maka nilai karakter “M” = 4
3. Karakter kedua adalah “O” dengan index = 1
OH = (5 - 1 - 1 = 3)maka nilai karakter “O” = 3
4. Karakter ketiga adalah “O” dengan index = 2
OH = (5 - 1 - 2 = 2)maka nilai karakter “O” = 2
5. Karakter keempat adalah “R” dengan index = 3
OH = (5 - 1 - 3 = 1)maka nilai karakter “R” = 1
6. Karakter kelima adalah “E” dengan index = 4
OH = (5 - 1 - 4 = 0)maka nilai karakter “E” = 0
Universitas Sumatera Utara
10
Tabel 2.4.Hasil pencarian Occurence Heuristic
Index
0
1
2
3
4
Pattern
M
O
O
R
E
Occurence Heuristic
4
3
2
1
0
7. Jika ada karakter yang berulang ambil nilai OH terkecil, dalam kasus ini ada
karakter “O” yang bernilai 3 dan 2, maka jadikan karakter “O” bernilai 2.
Dapat dilihat pada tabel 2.5.
Tabel 2.5. Hasil akhir pencarian Occurence Heuristic
Index
0
1
2
3
4
Pattern
M
O
O
R
E
Occurence Heuristic
4
2
2
1
0
2.2 Algoritma Brute Force
Algoritma Brute Force adalah algoritma untuk mencocokkan pattern dengan semua
teks antara 0 dan n-m untuk menemukan keberadaan pattern dalam teks (Riyanarto
Sarno, Yeni Anistyasari, dan Rahimi Fitri, 2012). Di dalam pencocokkan string,
terdapat istilah teks dan pattern. Teks merupakan kata yang dicari dan dicocokkan
dengan pattern. Sedangkan pattern merupakan kata yang diinputkan untuk dicocokkan.
Secara rinci, langkah – langkah yang dilakukan algoritma ini saat mencocokkan string
adalah:
1. Algoritma Brute Force mulai mencocokkan pattern dari awal teks.
2. Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter pattern
dengan karakter pada teks yang bersesuaian, sampai salah satu kondisi berikut
terpenuhi :
a. Karakter di pattern dan di teks yang dibandingkan tidak cocok.
b. Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan
penemuan di posisi ini.
Universitas Sumatera Utara
11
3. Algoritma kemudian terus menggeser pattern sebesar satu ke kanan, dan
mengulangi langkah ke -2 sampai pattern berada di ujung teks.
2.2.1
Kelemahan dan Kelebihan Algoritma Brute Force
Algoritma Brute Force juga memiliki kelebihan dan kelemahan. Adapun kelebihan
dari algoritma Brute Force yaitu:
1. Algoritma Brute Force dapat digunakan untuk memecahkan hampir sebagian
besar masalah
2. Algoritma Brute Force sederhana dan mudah dimengerti
3. Algoritma Brute Force menghasilkan algoritma yang layak untuk beberapa
masalah penting seperti pencarian, pengurutan, pencocokkan string , atau
perkalian matriks
4. Algoritma Brute Force menghasilkan algoritma baku (standard) untuk tugastugas komputasi penjumlahan / perkalian n buah bilangan, menentukan
elemen minimum atau maksimum di dalam tabel (list).
Sedangkan kelemahan dari algoritma Brute Force yaitu sebagai berikut:
1. Algoritma Brute Force jarang menghasilkan algoritma yang manjur
2. Beberapa algoritma Brute Force lambat, sehingga tidak dapat diterima
3. Tidak sekonstuktif/sekreatif teknik pemecahan masalah lainnya
Contoh penggunakan algoritma Brute Force untuk pencarian pattern dalam teks:
Teks
= GRACE HALIM
Pattern
= HALIM
Contoh implementasi pencarian pattern pada teks proses ke 1
Teks
G
R
A
C
E
Pattern
H
A
L
I
M
Index
0
1
2
3
4
5
H
A
L
I
M
6
7
8
9
10
Universitas Sumatera Utara
12
Tidak cocok, geser pattern sebanyak satu langkah ke kanan menuju indeks berikutnya.
Contoh implementasi pencarian pattern pada teks proses ke 2
Teks
G
Pattern
Index
0
R
A
C
E
H
A
L
I
M
1
2
3
4
5
H
A
L
I
M
6
7
8
9
10
Tidak cocok, geser pattern sebanyak satu langkah ke kanan menuju indeks berikutnya.
Contoh implementasi pencarian pattern pada teks proses ke 3
Teks
G
R
Pattern
Index
0
1
A
C
E
H
H
A
L
I
M
2
3
4
5
6
A
L
I
M
7
8
9
10
Tidak cocok, geser pattern sebanyak satu langkah ke kanan menuju indeks berikutnya.
Contoh implementasi pencarian pattern pada teks proses ke 4
Teks
G
R
A
Pattern
Index
0
1
2
C
E
H
A
3
4
H
A
L
I
M
5
6
7
L
I
M
8
9
10
Tidak cocok, geser pattern sebanyak satu langkah ke kanan menuju indeks berikutnya.
Contoh implementasi pencarian pattern pada teks proses ke 5
Teks
G
R
A
C
Pattern
Index
0
1
2
3
E
H
A
L
H
A
L
I
M
4
5
6
7
8
I
M
9
10
Tidak cocok, geser pattern sebanyak satu langkah ke kanan menuju indeks berikutnya.
Contoh implementasi pencarian pattern pada teks proses ke 6
Universitas Sumatera Utara
13
Teks
G
R
A
C
E
Pattern
Index
0
1
2
3
4
H
A
L
I
H
A
L
I
M
5
6
7
8
9
M
10
Tidak cocok, geser pattern sebanyak satu langkah ke kanan menuju indeks berikutnya.
Contoh implementasi pencarian pattern pada teks proses ke 7
Teks
G
R
A
C
E
Pattern
Index
0
1
2
3
4
5
H
A
L
I
M
H
A
L
I
M
6
7
8
9
10
Pattern cocok, pencarian berhenti pada indeks ke 6.
2.3 Bahasa Mandarin
Penelitian tentang Analisis Homograf aksara Cina dan Analisis bahasa
berdasarkan unsur semantik sudah pernah diteliti sebelumnya oleh peneliti lain,
seperti : Tesis Ridwan Azhar (1998) yang berjudul “Analisis Semantik Bahasa
Melayu Dialek Bandar Khalipah” dilakukan untuk memperoleh gambaran deskriptif
analisis semantik Bahasa Melayu Dialek Bandar Khalipah. Penelitian dilakukan
berdasarkan semantik leksikal dan sematik kalimat menurut teori dan konsep
semantik. Hasil penelitian yang disajikan menggunakan pendekatan semantik
struktural yang mendeskripsikan bahasa dengan kerangka teori analisis makna.
Pembahasaan semantik bahasa Melayu dialek Bandar Khalipah, mencakup : kata,
kata turunan, ciri-ciri makna leksikal, hubungan makna leksikal, makna kalimat, dan
hubungan makna kalimat.
Disertasi SunQiang 孙强 dari Universitas Sichuan (2007) berjudul “Penelitian
Homograf Aksara Cina Modern” yang membandingkan kosa kata homograf pada
masa lalu dengan masa sekarang. Penelitian ini dilakukan dengan metode library
research (penelitian perpustakaan) yaitu dengan mengumpulkan kosakata homograf
yang terdapat didalam kamus “现代汉语词典 (第五版)” xiàn dài hàn yŭ cí diăn (dì
Universitas Sumatera Utara
14
wŭ băn).
Skripsi Wedhawati dari Balai Bahasa Yogyakarta (2005) berjudul“Konfigurasi
Medan Leksikal Verbal Indonesia yang berkomponen Makna(+suara+makna)”.
Dalam penelitian medan leksikal ini yang ditelaah sejumlah medanleksikal verbal
yang berkomponen makna dalam Bahasa Indonesia. Medan leksikalitu terbentuk dari
butir-butir leksikal verbal simpelks yang bersifat internal danintralingual. Butir-butir
leksikalverbal adalah butir-butir leksikal yang relasasinya
dalam ujaran atau kalimat termasuk kelas kata verba.
Skripsi Risatyah dari Universitas Negri Malang (2010) berjudul “Pengajaran
Bahasa Inggris Berbasis Leksikon untuk Meningkatkan kemampuan Pembelajaran
Usia Muda dalam Memproduksi Classroom Lekxico-grammatical Units di 3 to 6
CEC Kawi Malang”. Dalam penelitian ini mengacu pada teori pengajaran bahasa
Inggris berbasis leksikon, Classroom lekxico-grammatical units diperkenalkan melalu
cerita. Penelitian ini menggunakan pengajaran Bahasa Inggris Berbasis Leksikon
pada pembelajar tingkat yang lebih tinggi untuk meningkatkan ketrampilan berbicara.
Universitas Sumatera Utara
15
2.4 Sejarah Android
Android merupakan sebuah sistem operasi, middleware dan aplikasi utama untuk
perangkat mobile device yang direlease oleh Google. Android SDK (Software
Development
Kit)
menyediakan
Tools
dan
API
yang
diperlukan
untuk
mengembangkan aplikasi pada platform Android dengan menggunakan bahasa
pemrograman Java dengan tujuan membuat sebuah standar terbuka untuk perangkat
telepon selular (mobile device ). Android bukan linux, akan tetapi Android dibangun
diatas Linux Kernel yaitu versi 2.6.Android menyertakan libraries C/C++ yang
digunakan oleh berbagai komponen dari sistem operasi Android.
Android Inc. didirikan oleh Andy Rubin, Rich Milner , Nick Sears dan Chris
Whitepada tahun 2003 di Palo Alto, California, USA. Pada Agustus 2005 Google
membeliAndroid Inc. Kemudian untuk mengembangkanAndroid dibentuklah Open
HandsetAlliance
konsorsium
dari
34
perusahaan
hardware,
software
dan
telekomunikasi,termasuk Google, HTC, Intel, Motorola, Qualqomm, T-Mobile dan
Nividia .Saat inisudah banyak bermunculan vendor-vendor untuk smartphone yang
memakai OS Android. (Chistie, 2012)
Kelebihan Android :
a. Lengkap (Complete Platform) : Android dikatakan lengkap karena Android
menyediakan tools untuk membangun software yang sangat lengkap dibanding
dengan platform lain.
b. Terbuka (Open Source Platform) : Platform Android diciptakan dibawah
lisensi open source , dimana para pengembang bebas untuk mengembangkan
aplikasi pada platform ini.
c. Bebas (Free Platform) : Android adalah platform mobile yang tidak memiliki
batasan dalam mengembangkan aplikasinya. Tidak ada lisensi dalam
mengembangkan aplikasi Android. Android dapat didistribusikan dan
diperdagangkan dalam bentuk apapun. (Eko, 2012)
2.5 Jenis-jenis OS Android
Universitas Sumatera Utara
16
1.
Android versi 1.
Gambar 2.1. Android versi 1.1
Pada gambar 2.1. Andoid versi 1.1 di rilis pada 9 Maret 2009 oleh
Google. Android versi ini dilengkapi disupport oleh Google Mail Service dengan
pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara),
pengirimanpesan dengan Gmail, dan pemberitahuan email.
2.
Android versi 1.5 Cup Cake
Gambar 2.2 Android versi 1.5 Cup Cake
Pada gambar 2.2. Android Cup Cake di rilis pada pertengahan Mei 2009,
masih oleh Google Inc. Android ini dilengkapi softwaredevelopment kit dengan
berbagai pembaharuan termasuk penambahan beberapa fitur antara lain yakni
kemampuan merekam dan menonton video dengan modus kamera, mengunggah video
ke Youtube, upload gambar ke Picasa langsung dari telepon, serta mendapat dukungan
Bluetooth A2DP.
Universitas Sumatera Utara
17
3.
Android versi 1.6 Donut
Gambar 2.3. Android versi 1.6 Donut
Pada gambar 2.3. Android Donut di rilis pada September 2009 menampilkan
proses pencarian yang lebih baik dibandingkan versi-versi sebelumnya. Selain itu
Android Donut memiliki fitur-fitur tambahan seperti galeri yang memungkinkan
pengguna untuk memilih foto yang akan dihapus, kamera, camcorder dan galeri yang
dintegrasikan text-to-speech engine , kemampuan dial kontak, dan teknologi text to
change speech. Android Donut juga dilengkapi baterai indikator, dan kontrol applet
VPN.
4. Android versi 2.0/2.1 Eclair
Gambar 2.4. Android versi 2.0/2.1 Eclair
Pada gambar 2.4. Android Eclair dirilis pada 3 Desember 2009. Perubahan
yang ada antara lain adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2,
perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru,
dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1. Android Eclair
merupakan Android pertama yang mulai dipakai oleh banyak smartphone, fitur utama
Eclair yaitu perubahan total struktur dan tampilan user interface .
Universitas Sumatera Utara
18
5. Android versi 2.2 Froyo (Frozen Yogurt)
Gambar 2.5. Android versi 2.2 Froyo
Pada gambar 2.5. Android Froyo dirilis pada 20 mei 2012. Adroid versi ini
memiliki kecepatan kinerja dan aplikasi 2 sampai 5 kali dari versi-versi sebelumnya.
Selain itu ada penambahan fitur-fitur baru seperti dukungan Adobe Flash 10.1,
intergrasi V8 JavaScript engine yang dipakai Google Chrome yang mempercepat
kemampuan rendering pada browser , pemasangan aplikasi dalam SD Card,
kemampuan WiFi Hotspot portabel, dan kemampuan auto update dalam aplikasi
Android Market.
6.
Android versi 2.3 Gingerbread
Gambar 2.6. Android versi 2.3 Gingerbread
Pada gambar 2.6. Andoid Gingerbread di rilis pada 6 Desember 2010.
Perubahan-perubahan umum yang didapat dari Android versi ini antara lain
peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste, layar
antar muka (User Interface ) didesain ulang, dukungan format video VP8 dan WebM,
efek audio baru (reverb, equalization, headphone virtualization, dan bass boost),
dukungan kemampuan Near Field Communication (NFC), dan dukungan jumlah
kamera yang lebih dari satu.
7.
Android versi 3.0/3.1 Honeycomb
Universitas Sumatera Utara
19
Gambar 2.7. Android versi 3.0/3.1 Honeycomb
Pada gambar 2.7. Android Honeycomb di rilis pada awal 2012. Merupakan
versi Android yang dirancang khusus untuk device dengan layar besar seperti Tablet
PC. Fitur baru yang ada pada Android Honeycomb antara lain yaitu dukungan
terhadap prosessor multicore dan grafis dengan hardware acceleration . User Interface
pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Tablet pertama
yang memakai Honeycomb adalah tablet Motorola Xoom yang dirilis bulan Februari
2011. Selain itu sebuah perangkat keras produksi Asus bernama Eee Pad Transformer
juga menggunakan OS Android honeycomb.
8. Android versi 4.0 ICS (Ice Cream Sandwich)
Gambar 2.8. Android versi 4.0 Ice Cream Sandwich
Pada gambar 2.8. Android Ice Cream Sandwich diumumkan secara resmi pada
10 Mei 2011 di ajang Google I/O Developer Conference (San Francisco), pihak
Google mengklaim Android Ice Cream Sandwich akan dapat digunakan baik di
smartphone ataupun tablet. Android Ice Cream Sandwich membawa fitur Honeycomb
untuk smartphone serta ada penambahan fitur baru seperti membuka kunci dengan
pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol, terpadu kontak
jaringan sosial, perangkat tambahan fotografi, mencari email secara offline, dan
berbagi informasi dengan menggunakan NFC. Ponsel pertama yang menggunakan
sistem operasi ini adalah Samsung Galaxy Nexus.
9.
Android versi 4.1 Jelly Bean
Universitas Sumatera Utara
20
Gambar 2.9. Android versi 4.1 Jelly Bean
Pada gambar 2.9. Android Jelly Bean juga diluncurkan pada acara Google I/O
10 Mei 2011 yang lalu. Android versi ini membawa sejumlah keunggulan dan fitur
baru, diantaranya peningkatkan input keyboard, desain baru fitur pencarian, UI yang
baru dan pencarian melalui Voice Search yang lebih cepat. Versi ini juga dilengkapi
Google Now yang dapat memberikan informasi yang tepat pada waktu yang tepat
pula. Salah satu kemampuannya adalah dapat mengetahui informasi cuaca, lalu-lintas,
ataupun hasil pertandingan olahraga. Sistem operasi Android Jelly Bean 4.1 pertama
kali digunakan dalam produk tablet Asus, yakni Google Nexus 7.
10. Android versi 4.4 KitKat
Gambar 2.10. Android versi 4.4 KitKat
Pada gambar 2.10. Awalnya android versi ini di isukan bernama Key Lime Pie .
Namun pada tanggal oktober 2013 google merilis kitkat sebagai generasi android
berikutnya. Android versi ini memiliki banyak fitur & semakin memanjakan para
pengguna android. Diantaranya : Immersive mode , Akses kontak langsung dari
aplikasi telepon, google now launcher , dan pastinya memiliki interface UI yang baru.
Universitas Sumatera Utara
21
11. Android versi 5.0 Lolipop
Gambar 2.11. Android versi 5.0 Lolipop
Pada gambar 2.11. Android Lollipop adalah versi stabil terbaru dari sistem operasi
Android yang dikembangkan oleh Google, yang pada saat ini mencakup versi antara
5.0 dan 5.1. Diresmikan pada 25 Juni 2014 saat Google I / O, dan tersedia secara resmi
melalui over-the-air (OTA) update pada tanggal 12 November 2014, untuk memilih
perangkat yang menjalankan distribusi Android dilayani oleh Google (seperti
perangkat Nexus dan Google Play edition). Kode sumbernya dibuat tersedia pada 3
November 2014.
Salah satu perubahan yang paling menonjol dalam rilis Lollipop adalah user
interface yang didesain ulang dan dibangun dengan yang dalam bahasa desain disebut
sebagai "material design ". Perubahan lain termasuk perbaikan pemberitahuan, yang
dapat diakses dari lockscreen dan ditampilkan pada banner di bagian atas screen.
Google juga membuat perubahan internal untuk platform, dengan Android Runtime
(ART) secara resmi menggantikan Dalvik untuk meningkatkan kinerja aplikasi, dan
dengan perubahan yang ditujukan untuk meningkatkan dan mengoptimalkan
penggunaan baterai, yang dikenal secara internal sebagai Project Volta .
2.6 Eclipse
Eclipse
adalah
sebuah
IDE
(Integrated
Development
Environment )
untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform
Universitas Sumatera Utara
22
(platformindependent). Berikut ini adalah sifat dari Eclipse: Multi-platform, Mulitlanguage
dan Multi-role.Sejarah Eclipse awalnya dikembangkan oleh IBM
(International
Business
Machines )
untuk
menggantikan
perangkat
lunak
pengembangan IBM Visual Age for Java 4.0. Produk Eclipse ini diluncurkan oleh
IBM pada tanggal 5 November 2001. IBM menginvestasikan US$ 40 juta untuk
pengembangannya. Sejak 5 November 2001.
2.7 SQLite
SQLite merupakan sebuah Database yang bersifat ACID-compliant dan memiliki
ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite merupakan
proyek yang bersifat public domain yang dikerjakan oleh D. Richard Hipp. SQLite adalah
sebuah open source database yang telah ada cukup lama, cukup stabil, dan sangat
terkenal pada perangkat kecil, termasuk Android. Android menyediakan database
relasional yang ringan untuk setiap aplikasi menggunakan SQLite. Aplikasi dapat
mengambil keuntungan dari itu untuk mengatur relational database engine untuk
menyimpan data secara aman dan efiesien. Untuk Android, SQLite dijadikan satu di
dalam Android runtime, sehingga setiap aplikasi Android dapat membuat basis data
SQLite. Karena SQLite menggunakan antarmuka SQL, cukup mudah untuk digunakan
orang orang dengan pengalaman lain yang berbasis databases. Terdapat beberapa
alasan mengapa SQLite sangat cocok untuk pengembangan aplikasi Android, yaitu:
Database dengan konfigurasi nol. Artinya tidak ada konfigurasi database untuk para
developer. Ini membuatnya relatif mudah digunakan. Tidak memiliki server. Tidak
ada proses database SQLite yang berjalan. Pada dasarnya satu set libraries
menyediakan fungsionalitas database. Single-file database. Ini membuat keamanan
database secara langsung. Open source. Hal ini membuat developer mudah dalam
pengembangan aplikasi.
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
Universitas Sumatera Utara