• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI 2.1 Android - Implementasi Algoritma Pencocokan String Boyer – Moore Dalam Pembuatan Contact Manager Pada Platform Android

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 2 LANDASAN TEORI 2.1 Android - Implementasi Algoritma Pencocokan String Boyer – Moore Dalam Pembuatan Contact Manager Pada Platform Android"

Copied!
13
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Android

Android adalah suatu sistem operasi yang didesain sebagai platform open source untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi . Android menyediakan platform yang terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri. Android menyediakan semua tools dan framework untuk mengembangkan aplikasi dengan mudah dan cepat. Dengan adanya Android SDK ( Software Developement Kit ) pengembang aplikasi dapat memulai pembuatan aplikasi pada platform Android menggunakan bahasa pemrograman Java (Eko, 2012).

2.2 Sejarah Android

Android Inc. didirikan oleh Andy Rubin, Rich Milner, Nick Sears dan Chris White pada tahun 2003 di Palo Alto, California, USA. Pada Agustus 2005 Google membeli Android Inc. Kemudian untuk mengembangkan Android dibentuklah Open Handset Alliance konsorsium dari 34 perusahaan hardware, software dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualqomm, T-Mobile dan Nividia. Saat ini sudah banyak bermunculan vendor-vendor untuk smartphone yang memakai OS Android ,yaitu diantaranya : HTC, Motorola, Samsung, LG, HKC, Huawei, Archos, Webstation Camangi, Dell, Nexus, SciPhone, WayteQ, Sony Ericsson, Acer, Philips, T-Mobile, Nexian, IMO, Asus dan lainnya vendor yang memproduksi smartphone

(2)

nama makanan hidangan penutup (Desseert). Selain itu juga nama nama OS Android memiliki huruf awal berurutan sesuai abjad (Evalyna, 2012).

2.3 Versi-versi Android

Tabel 2.1. Versi-versi Android

2.3.1 Android versi 1.1

Android versi 1.1 ini dilengkapi dengan pembaruan estetis pada aplikasi, jam, alarm, voice search (pencarian suara), pengiriman dengan Gmail, dan pemberitahuan email.

2.3.2 Android versi 1.5 Cupcake

Google kembali merilis telepon seluler dengan mengunakan Android dan SDK (Software Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan modus kamera, meng-upload video Youtube dan gambar ke Picasa langsung dari telepon, dukungan Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan dengan sistem.

(3)

2.3.3 Android versi 1.6 Donut

Donut dirilis dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol applet VPN.Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus; kamera, camcorder dan galeri yang dintegrasikan, CDMA/EVDO, 802.1x, VPN, Gestures, dan Text-to-speech engine, kemampuan dial kontak,teknologi text to change speech (tidak tersedia pada semua ponsel, pengadaan resolusi VWGA).

2.3.4 Android versi 2.0/2.0.1/2.1 Eclair

Perubahan yang dilakukan 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.

2.3.5 Android versi 2.2 Froyo

Perubahan-perubahan umumnya terhadap versi-versi sebelumnya antara lain dukungan Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat, 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.

2.3.6 Android versi 2.3 Gingerbread

(4)

2.3.7 Android versi 3.0 Honeycomb

Android Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Honeycomb juga mendukung multi prosesor dan juga akselerasi perangkat keras (hardware) untuk grafis. Tablet pertama yang dibuat dengan menjalankan Honeycomb adalah Motorola Xoom. Perangkat tablet dengan platform Android 3.0 akan segera hadir di Indonesia. Perangkat tersebut bernama Eee Pad Transformer produksi dari Asus.

2.3.8 Android versi 4.0 Ice Cream Sandwich

Ice Cream Sandwich membawa fitur Honeycomb untuk smartphone dan menambahkan fitur baru termasuk 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 (Near Field Communication).

2.3.9 Android versi 4.1 Jelly Bean

Kelebihan dari android Jelly Bean adalah Akses lebih cepat.Dapat mematikan pemberitahuan pada aplikasi tertentu Shortcut serta widget dapat disusun ulang atau diubah ukurannya sesuai keinginan. Aplikasi pada kamera ditambah.Dapat menambahkan widget aplikasi tanpa harus root terlebih dulu.

2.3.10 Android versi 4.4 Kitkat

Pada versi Kitkat ini ada beberapa pembaharuan yaitu :

1. Pembaruan antarmuka dengan bar status dan navigasi transparan pada layar depan.

2. Optimasi kinerja pada perangkat dengan spesifikasi yang lebih rendah 3. Kerangka kerja pencetakan

(5)

6. Perluasan fungsionalitas bagi layanan pendengar notifikasi

7. API umum untuk mengembangkan dan mengelola klien pesan teks, kemampuan untuk menentukan aplikasi SMS standar.

8. Kerangka kerja baru untuk transisi UI

9. Kerangka kerja akses penyimpanan untuk mengambil konten dan dokumen dari sumber lain

10.Sensor batching, Step Detector, dan Counter API

11.Peningkatan tampilan mode layar penuh, tombol perangkat lunak dan status bar bisa diakses dari tepi dengan cara menggesek

12.Penyeimbang audio, pemantauan audio, dan peningkatan suara audio 13.Perekam aktivitas layar yang terintegrasi

14.Inframerah

15.Peningkatan aksesibilitas API

16.Mesin virtual eksperimental baru, ART.

17.Dukungan Bluetooth Message Access Profile (MAP).

2.4 Eclipse

Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform independent). Berikut ini adalah sifat dari Eclipse: Multi-platform, Mulit-language 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 (Heru, 2013).

2.5 Struktur Data dan Algoritma

(6)

untuk memanipulasi data.Sebagai contoh,algoritma diperlukan untuk memasukan data ke dalam suatu struktur data atau untuk mencari suatu data yang tersimpan dalam stuktur data.

Struktur data array atau biasa disebut larik adalah stutur data yang berguna untuk menyimpan sejumlah data yang bertipe sama.Namun berbeda dengan himpunan,array bisa berisi nilai yang sama sementara himpunan tidak.Array Satu dimensi tidak lain adalah kumpulan elemen-elemenidentik yang tersusun dalam satu baris. Elemen-elemen tersebut memiliki tipe data yang sama, tetapi isi dari elemen tersebut boleh berbeda.Array dua dimensi sering digambarkan sebagai sebuah matriks, merupakan perluasan dari array satu dimensi.Jika array satu dimensi hanya terdiri dari sebuah baris dan beberapa kolom elemen, maka array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang bertipe sama.(Abdul, 2011)

2.6 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.6.1Kelebihan Algoritma Boyer-Moore :

(7)

2.6.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 (Darmawan, 2008).

Tabel 2.2.Contoh algoritma Boyer-Moore

Teks S U N D A R I

Pattern S U N T O R O

Pada contoh diatas, dengan melakukan pencocokan dari posisi paling akhir/kanan pattern dapat dilihat bahwa karakter “O” pada pattern “SUNTORO” tidak cocok dengan karakter “I” pada teks “SUNDARI” , dan karakter “I” tidak pernah ada dalam pattern “SUNTORO” yang dicari sehingga pattern “SUNTORO” dapat digeser melewati teks “SUNDARI” sehingga posisinya menjadi:

Tabel 2.3.Contoh pergeseran algoritma Boyer-Moore

Teks S U N D A R I

Pattern S U N T O R O

Dalam contoh terlihat 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 (Guidio, 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) (Guidio, 2014) Secara sistematis, langkah-langkah yang dilakukan algoritma Boyer-Moore pada saat mencocokkan pattern adalah:

(8)

 Dari kanan ke kiri, algoritma ini akan mencocokkan karakter per karakter

 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.6.3 Pencarian Dengan Algoritma Boyer-Moore

1. 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).

2. 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 . 3. 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.

(9)

Cara menghitung tabel occurence heuristic : Contoh pattern : SUNTORO

Panjang karakter : 7

Tabel 2.4.Occurence Heuristic

Index 0 1 2 3 4 5 6

Pattern S U N T O R O

Occurence Heuristic

Langkah-langkah pemberian nilainya adalah sebagai berikut : 1. Lakukan perhitungan, OH = ( length -1 –index)

length = panjang karakter =7

2. Karakter pertama adalah “S” dengan Index = 0 OH = (7 - 1 - 0 = 6) maka nilai karakter “S” = 6 3. Karakter kedua adalah “U” dengan index = 1

OH = (7 - 1 - 1 = 5) maka nilai karakter “U” = 5 4. Karakter ketiga adalah “N” dengan index = 2

OH = (7 - 1 - 2 = 4) maka nilai karakter “N” = 4 5. Karakter keempat adalah “T” dengan index = 3

OH = (7 - 1 - 3 = 3) maka nilai karakter “T” = 3 6. Karakter kelima adalah “O” dengan index = 4

OH = (7 - 1 - 4 = 2) maka nilai karakter “O” = 2 7. Karakter keenam adalah “R” dengan index = 5

OH = (7 - 1 - 5 = 1) maka nilai karakter “R” = 1 8. Karakter ketujuh adalah “O” dengan index = 6

OH = (7 - 1 - 6 = 0) maka nilai karakter “O” = 0

Tabel 2.5. Hasil pencarian Occurence Heuristic

Index 0 1 2 3 4 5 6

Pattern S U N T O R O

Occurence Heuristic 6 5 4 3 2 1 0

(10)

Jika ada karakter yang berulang ambil nilai OH terkecil,dalam kasus ini adalah karakter “O” yang bernilai 2 dan 0.maka jadikan karakter “O” bernilai 0.

Tabel 2.6.Hasil akhir pencarian Occurence Heuristic

Index 0 1 2 3 4 5 6

Pattern S U N T O R O

Occurence Heuristic 6 5 4 3 0 1 0

Cara menghitung tabel match heuristic : contoh pattern : SUNTORO Panjang karakter : 7 karakter

Tabel 2.7.Match Heuristic

Index 0 1 2 3 4 5 6

Pattern S U N T O R O

Match Heuristic

Langkah-langkah pemberian nilainya adalah sebagai berikut :

1. Berikan nilai 1 ( nilai default MH ) pada index terbesar, dalam kasus ini index terbesar adalah “O”.

2. Bandingkan karakter kedua,jika karakter “O” sudah ditemukan/sudah cocok, tetapi karakter sebelum “O” bukan “R”,maka check apakah karakter yang sudah cocok pada teks ada pada pattern berikutnya, Jika ada sejajarkan karakter tersebut dengan karakter yang sudah cocok ,dan beri nilai pergeseranya ke tabel MH, pada kasus ini “O”sudah cocok.

Teks S U N T O L O

(11)

Teks S U N T O L O

Pattern 1 2 S U N T O R O

3. Lanjutkan langkah ke dua untuk karakter berikutnya sampai akhir pattern, ketidakcocokan pattern maka bandingkan karakter yang sudah cocok dengan karakter yang belum dibandingkan pada pattern, jika ada maka sejajarkan karakter tersebut,jika tidak maka pergeseranya sejauh panjang karakter, dan beri nilai pergeserannya ke tabel MH.

Tabel 2.8.Hasil akhir pencarian Match Heuristic

Index 0 1 2 3 4 5 6

Pattern S U N T O R O

Match Heuristic 7 7 7 7 7 2 1

Contoh pencarian dengan algoritma Boyer Moore :

 Jika karakter yang dibanding tidak ada pada pattern maka nilai pergeserannya sepanjang jumlah pattern.

 Untuk pergeseran bandingkan nilai OH dan MH ambil nilai terbesar sebagai keputusan pergeseran.

(12)

Tabel 2.9. Nilai Occurence Heuristic dan Match Heuristic

Index 0 1 2 3 4 5 6

Pattern S U N T O R O

Occurence Heuristic 6 5 4 3 0 1 0

Match Heuristic 7 7 7 7 7 2 1

Contoh implementasi pencarian pada teks proses ke-1

Teks S U N D A R I B U K A N S U N T O R O Pattern S U N T O R O

Index 0 1 2 3 4 5 6 OH = I (Teks) =7

MH = index [6] (Pattern) = 1

7 > 1 dengan begitu pattern digeser 7 karakter

Contoh implementasi pencarian pada teks proses ke-2

Teks S U N D A R I B U K A N S U N T O R O

Pattern S U N T O R O

Index 0 1 2 3 4 5 6

OH = spasi = 7

MH = index [6] (Pattern) = 1

7 > 1 dengan begitu pattern digeser 7 karakter

Contoh implementasi pencarian pada teks proses ke-3

Teks S U N D A R I B U K A N S U N T O R O

Pattern S U N T O R O

Index 0 1 2 3 4 5 6

(13)

2.7 Relevansi

Adapun penelitian yang relevan dengan penelitian yang diangkat penulis adalah sebagai berikut:

1. Dalam Jurnal Techne Jurnal Ilmiah Elektroteknika – Perbandingan Algoritma String Searching Brute Force,Knuth Morris Pratt,Boyer Moore,dan Karp Rabin pada teks Alkitab bahasa Indonesia. Hasilnya untuk proses pencarian pola dalam teks Alkitab (lebih dari 26 alphabet algoritma Boyer Moore yang paling cepat dibandingkan dangan Brute Force,Knuth Morris Pratt,Karp Rabin.

2. Dalam Jurnal Ultimatics – Studi Perbandingan Implementasi Algoritma Boyer-Moore, Turbo Boyer-Moore, dan Tuned Boyer-Moore dalam Pencarian String.

Dari hasil penelitian yang didapat, bisa disimpulkan bahwa algoritma Boyer-Moore memiliki waktu pencarian tercepat dari tiga varian Boyer-Boyer-Moore yang telah ditentukan. Algoritma Turbo Boyer-Moore merupakan algoritma tercepat kedua dan yang paling lambat adalah Tuned Boyer-Moore.

3. Dalam Jurnal Informasi dan Teknologi Ilmiah (INTI) – Penerapan Algoritma Boyer Moore Pada Aplikasi Pengajuan Judul Skripsi Bebasis Web. Hasilnya dari simulasi yang dilakukan, dapat disimpulkan bahwa Algoritma Boyer Moore cocok digunakan untuk melakukan pencarian string tetapi tidak cocok digunakan untuk mengambil informasi dari kecocokan string berdasarkan satu kata atau lebih.

Gambar

Tabel 2.1. Versi-versi Android
Tabel 2.2.Contoh algoritma  Boyer-Moore
Tabel 2.5. Hasil pencarian Occurence Heuristic
Tabel 2.7.Match Heuristic
+3

Referensi

Dokumen terkait

This research have purpose to examine empirically the effect on Net Profit Margin and Liquidity (Current Ratio) to Stock Price on Sub Sector Pharmaceutical Company

Dengan berlakunya Peraturan Menteri ini, Keputusan Direktur Jenderal Pendidikan Tinggi Nomor 11/DIKTI/Kep./2006 tentang Panduan Akreditasi Berkala ilmiah serta

[r]

Dalam Peraturan ini, yang dimaksud dengan pendidikan inklusif adalah sistem penyelenggaraan pendidikan yang memberikan kesempatan kepada semua peserta didik

[r]

[r]

Based on the result of the research, the writer investigates that there is a significant difference between The Use of Block Style Method and Point by Point

Tujuan dari penelitian ini adalah untuk mengetahui faktor – faktor yang berhubungan dengan pemilihan penolong persalinan oleh tenaga kesehatan pada ibu hamil di