BAB 2 LANDASAN TEORI. Pada bab ini akan dibahas tentang teori-teori dan konsep dasar yang mendukung pembahasan dari sistem yang akan dibuat.

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

PENERAPAN ALGORITMA DISTANCE UNTUK FITUR AUTOCOMPLETE PADA APLIKASI KATALOG PERPUSTAKAAN DI UNIVERSITAS ALMUSLIM

PENCOCOKAN DNA NR_ DAN DNA DI MENGGUNAKAN ALGORITMA BOYER MOORE

PENERAPAN STRING MATCHING DENGAN ALGORITMA BOYER MOORE PADA APLIKASI FONT ITALIC UNTUK DETEKSI KATA ASING

BAB 2 LANDASAN TEORI

Analisis Algoritma Knuth Morris Pratt dan Algoritma Boyer Moore dalam Proses Pencarian String

PENYELESAIAN LUAS BANGUN DATAR DAN VOLUME BANGUN RUANG DENGAN KONSEP DETERMINAN

Penerapan Masalah Transportasi

IMPLEMENTASI ALGORITMA BOYER-MOORE PADA PERMAINAN WORD SEARCH PUZZLE

BAB 1 PENDAHULUAN Latar Belakang

BAB III 3. METODOLOGI PENELITIAN

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

Solusi Sistem Persamaan Linear Fuzzy

HASIL KALI TITIK DAN PROYEKSI ORTOGONAL SUATU VEKTOR (Aljabar Linear) Oleh: H. Karso FPMIPA UPI

BUKU AJAR METODE ELEMEN HINGGA

PENGGUNAAN ALGORITMA KUHN MUNKRES UNTUK MENDAPATKAN MATCHING MAKSIMAL PADA GRAF BIPARTIT BERBOBOT

Seminar Nasional Aplikasi Teknologi Informasi 2004 Yogyakarta, 19 Juni 2004

PENERAPAN FUZZY STRING MATCHING

EKONOMETRIKA PERSAMAAN SIMULTAN

BAB III LIMIT DAN FUNGSI KONTINU

Untuk pondasi tiang tipe floating, kekuatan ujung tiang diabaikan. Pp = kekuatan ujung tiang yang bekerja secara bersamaan dengan P

Korelasi Pasar Modal dalam Ekonofisika

BAB II TINJAUAN PUSTAKA

Bab 5 RUANG HASIL KALI DALAM

BEBERAPA SIFAT JARAK ROTASI PADA POHON BINER TERURUT DAN TERORIENTASI

Pattern Matching dalam Aplikasi Pencarian Jodoh

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB 2 LANDASAN TEORI

Penerapan Pencocokan String pada Aplikasi Kamusku Indonesia

BAB 2 LANDASAN TEORI

BAB RELATIVITAS Semua Gerak adalah Relatif

ANALISIS PERBANDINGAN ALGORITMA BOYER-MOORE, KNUTH- MORRIS-PRATT, DAN RABIN-KARP MENGGUNAKAN METODE PERBANDINGAN EKSPONENSIAL

Perbandingan Penggunaan Algoritma BM dan Algoritma Horspool pada Pencarian String dalam Bahasa Medis

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

Aplikasi String Matching Pada Fitur Auto-Correct dan Word-Suggestion

Perbandingan Algoritma String Matching yang Digunakan dalam Pencarian pada Search Engine

Penerapan Pencocokan String dalam Aplikasi Duolingo

KEPUTUSAN INVESTASI (CAPITAL BUDGETING) MANAJEMEN KEUANGAN 2 ANDRI HELMI M, S.E., M.M.

BAB 2 LANDASAN TEORI

Perbandingan dan Pengujian Beberapa Algoritma Pencocokan String

Implementasi Algoritma Levenshtein Pada Sistem Pencarian Judul Skripsi/Tugas Akhir

Integrasi 2. Metode Integral Kuadratur Gauss 2 Titik Metode Integral Kuadratur Gauss 3 Titik Contoh Kasus Permasalahan Integrasi.

3. RUANG VEKTOR. dan jika k adalah sembarang skalar, maka perkalian skalar ku didefinisikan oleh

OPTIMALISASI FITUR-FITUR PADA APLIKASI PRESENTASI UNTUK MENINGKATKAN KUALITAS PENYAMPAIAN PESAN BERBASIS HCI

Analisis Peluruhan Flourine-18 menggunakan Sistem Pencacah Kamar Pengion Capintec CRC-7BT S/N 71742

BAB 2 TINJAUAN PUSTAKA. mendorong pengembangan yang sukses, dan suatu desain didasarkan kepada

PENGGUNAAN ALGORITMA APOSTOLICO-CROCHEMORE PADA PROSES PENCARIAN STRING DI DALAM TEKS

Bab 5 RUANG HASIL KALI DALAM

ALJABAR LINEAR (Vektor diruang 2 dan 3) Disusun Untuk Memenuhi Tugas Mata Kuliah Aljabar Linear Dosen Pembimbing: Abdul Aziz Saefudin, M.

PERBANDINGAN ALGORITMA KNUTH-MORRIS-PRATT, STRING MATCHING ON ORDERED ALPHABET, dan BOYER-MOORE dalam PENCARIAN UNTAI DNA

BAB I PENDAHULUAN Latar belakang

BAB III PENDEKATAN TEORI

BAB II TINJAUAN PUSTAKA

CHAPTER 6. INNER PRODUCT SPACE

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN Latar Belakang

Aplikasi String Matching pada Plugin SMS Blocker untuk Validasi Pesan

PENELUSURAN LINTASAN DENGAN JARINGAN SARAF TIRUAN

Integra. asi 2. Metode Integral Kuadr. ratur Gauss 2 Titik

Pengenalan Pola. Ekstraksi dan Seleksi Fitur

(a) (b) Gambar 1. garis singgung

Trihastuti Agustinah

BAB 2 LANDASAN TEORI

Aplikasi Algoritma Pencocokan String pada Mesin Pencari Berita

PENDUGAAN JUMLAH PENDUDUK MISKIN DI KOTA SEMARANG DENGAN METODE SAE

Algoritma String Matching pada Mesin Pencarian

PRAKTIKUM OPERASI TEKNIK KIMIA II MODUL 5 BILANGAN REYNOLD

ANALISIS PENGENDALIAN KUALITAS TERHADAP PROSES WELDING ( PENGELASAN N ) PADA PEMBUATAN KAPAL CHEMICAL TANKER / DUPLEK M Di PT.

Penggunaan Algoritma Knuth-Morris-Pratt untuk Pengecekan Ejaan

KAJIAN PENGGUNAAN KOMPRESOR AKSIAL

BUPATI SIDOARJO PERATURAN BUPATI SIDOARJO NOMOR 44 TAHUN 2009 TENTANG. PENGELOLAAN PINJAMAN JANGKA PENDEK PADA BADAN LA YANAN UMUM DAERAH

BAB 2 TINJAUAN PUSTAKA

lim 0 h Jadi f (x) = k maka f (x)= 0 lim lim lim TURUNAN/DIFERENSIAL Definisi : Laju perubahan nilai f terhadap variabelnya adalah :

FEEDFORWARD FEEDBACK CONTROL SEBAGAI PENGONTROL SUHU MENGGUNAKAN PROPORSIONAL - INTEGRAL BERBASIS MIKROKONTROLLER ATMEGA 8535

BAB 2 LANDASAN TEORI

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

Hasil Kali Titik. Dua Operasi Vektor. Sifat-sifat Hasil Kali Titik. oki neswan (fmipa-itb)

PERBANDINGAN ALGORITMA KNUTH MORRIS PRATT DAN BOYER MOORE PADA APLIKASI KAMUS BAHASA INDONESIA-KOREA BERBASIS ANDROID SKRIPSI

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

FAKULTAS DESAIN dan TEKNIK PERENCANAAN

BAB 2 LANDASAN TEORI. Analisis jalur yang dikenal dengan path analysis dikembangkan pertama pada tahun 1920-an oleh

Implementasi Pencocokan String Tidak Eksak dengan Algoritma Program Dinamis

BAB IV HASIL PENELITIAN DAN PEMBAHASAN

Volume VI No 1, Juni 2017 pissn : eissn : X. Tersedia online di

Penerapan String Matching pada Fitur Auto Correct dan Fitur Auto Text di Smart Phones

ANALISA PERBANDINGAN ALGORITMA BRUTE FORCE DAN BOYER MOORE DALAM PENCARIAN WORD SUGGESTION MENGGUNAKAN METODE PERBANDINGAN EKSPONENSIAL

WALIKOTA BANJARMASIN

UNIVERSITAS INDONESIA

II. DASAR TEORI I. PENDAHULUAN

NAMA : KELAS : theresiaveni.wordpress.com

SIMULASI PADA MODEL PENYEBARAN PENYAKIT TUBERKULOSIS SRI REJEKI PURI WAHYU PRAMESTHI DOSEN PENDIDIKAN MATEMATIKA IKIP WIDYA DARMA SURABAYA

BAB II TINJAUAN PUSTAKA

WALIKOTA BANJARMASIN PROVINSI KALIMANTAN SELATAN PERATURAN DAERAH KOTA BANJARMASIN NOMOR TAHUN 2016 TENTANG

PENERAPAN ALGORITMA BOYER MOORE PADA POSTING TWITTER TMC POLDA METRO JAYA UNTUK MELAPORKAN KONDISI LALULINTAS DAN RUTE JALAN KOTA JAKARTA

KAJIAN PEMODELAN MATEMATIKA TERHADAP PENYEBARAN VIRUS AVIAN INFLUENZA TIPE-H5N1 PADA POPULASI UNGGAS

IT CONSULTANT UNIVERSITAS MURIA KUDUS (ITC - UMK)

Aplikasi Algoritma Pencarian String Dalam Sistem Pembayaran Parkir

Transkripsi:

BAB 2 LANDASAN TEORI Pada bab ini akan dibahas tentang teori-teori dan konsep dasar yang mendkng pembahasan dari sistem yang akan dibat. 2.1. Katalog Perpstakaan Katalog perpstakaan adalah sat media yang dibthkan oleh perpstakaan agar dapat memdahkan pengnjng dalam memperoleh informasi mengenai koleksi apa saja yang dimiliki oleh perpstakaan. Ada beberapa pengertian tentang katalog perpstakaan, antara lain yait : a. Gates (1989) menyatakan bahwa katalog perpstakaan adalah sat daftar yang sistematis dari bk dan bahan-bahan lain dalam sat perpstakaan, dengan informasi deskriptif mengenai pengarang, jdl, penerbit, tahn terbit, bentk fisik, sbjek, dan ciri khas bahan. b. Slistyo-Baski (1991) menyatakan bahwa katalog perpstakaan adalah senarai dokmen yang dimiliki sebah perpstakaan ata kelompok perpstakaan 2.2. Fitr ata Layanan Atocomplete

Atocomplete merpakan pola yang pertama kali mncl dalam bantan fngsi aplikasi dekstop, dimana penggna mengentrikan teks ke dalam kotak kemdian saran pengetikan akan mncl secara otomatis. Atocomplete memecahkan beberapa masalah mm pada pengetikan (Morville & Callender, 2010) yait : a. Mengetik membthkan wakt. b. Penggna tidak dapat mengeja kata dengan baik. c. Penggna sering salah ata lpa ketika mengetikkan kata-kata, slit mengingat istilah yang tepat. Atocomplete bekerja ketika penggna menlis hrf pertama ata beberapa hrf/karakter dari sebah kata, program yang melakkan prediksi akan mencari sat ata lebih kemngkinan kata sebagai pilihan. Jika kata yang dimaksd ada dalam pilihan kata prediksi maka kata yang dipilih tersebt akan disisipkan pada teks (Ksma, 2012). Saat ini atocomplete tidak hanya terdapat pada dekstop, tetapi terdapat jga pada web browser, email-programs, search engine interface, sorce code editors, database qery tools, word processor, dan command line interpreters (Ksma, 2012). Ilstrasi penggnaan layanan atocomplete dapat dilihat pada gambar 2.1. Gambar 2.1. Ilstrasi Penggnaan Atocomplete 2.3. Fitr ata layanan Atocorrect Ato Correct adalah fitr yang bergna ntk memberikan sgesti kata (sggestion). Dengan mengetikkan beberapa hrf ata selrh hrf maka sistem akan mencari kedalam database

apakah ada kata yang memenhi kriteria dari hrf-hrf yang dimaskkan ntk mencari jdl bk,penerbit bahkan pengarang dari bk tersebt. Ilstrasi penggnaan fitr atocorrect dapat dilihat pada gambar 2.2 Gambar 2.2. Ilstrasi Penggnaan Atocorrect 2.4. Approximate String Matching Approximate string matching merpakan pencocokan string dengan dasar kemiripan dari segi penlisannya (jmlah karakter dan ssnan karakter), tingkat kemiripan ditentkan dengan jah tidaknya beda penlisan da bah string yang dibandingkan tersebt (Haryanto, 2011). Operasi mengbah string ini bisa berpa mengbah sat hrf ke hrf yang lain, menghaps sat hrf dari string, ata memaskkan sat hrf ke dalam string. Operasi-operasi ini dignakan ntk menghitng jmlah perbedaan yang diperlkan ntk pertimbangan kecocokan sat string dengan string smber, jmlah perbedaan tersebt diperoleh dari penjmlahan sema pengbahan yang terjadi dari masing-masing operasi. Penggnaan perbedaan tersebt diaplikasikan dalam berbagai macam algoritma, seperti Hamming, Levenshtein, Damera-Levenshtein, Jaro-Winkler, Wagner-Fischer, dan lain-lain (Hsain, 2013). Operasi penghitngan tersebt melipti tiga operasi string seperti di bawah ini (Adiwidya, 2009). 2.4.1. Operasi penghapsan Operasi penghapsan dilakkan dengan menghaps karakter pada indeks tertent ntk menyamakan string smber (S) dengan string target (T), misalnya S= matching dan T= match. Penghapsan dilakkan ntk karakter i pada lokasi ke-6, penghapsan karakter n

pada lokasi ke-7, penghapsan karakter g pada lokasi ke-8. Operasi penghapsan tersebt mennjkkan tranformasi S ke T, ilstrasinya adalah sebagai berikt : 1 2 3 4 5 6 7 8 T = m a t c h - - - S = m a t c h i n g 2.4.2. Operasi penyisipan Operasi penyisipan dilakkan dengan menyisipkan karakter pada indeks tertent ntk menyamakan string smber (S) dengan string target (T), misalnya S= cerdas dan T= kecerdasan. Operasi penyisipan dapat dilakkan dengan menyisipkan e pada posisi 2, menyisipkan c pada posisi 3, menyisipkan a pada posisi 8 dan menyisipkan n pada posisi 9. Yang dapat diilstrasikan sebagai berikt: K e c e r d a s a n K - - e r d a s - - 1 2 3 4 5 6 7 8 9 T = K e c e r d a s a n S = K - - e r d a s - - e c a n 2.4.3. Operasi penkaran Operasi penkaran dilakkan dengan menkar karakter pada indeks tertent ntk menyamakan string smber (S) dengan string target (T), misalnya S= compter dan T= kompter. String S ditranformasikan menjadi T dengan melakkan penggantian (sbstitsi) pada posisi ke-1. Hrf C ditkar menjadi K. Prosesnya dapat diilstrasikan sebagai berikt:

1 2 3 4 5 6 7 8 T = k o m p t e r S = c o m p t e r k 2.5. Algoritma Levenshtein Distance Algoritma Levenshtein Distance ditemkan oleh Vladimir Levenshtein, seorang ilman asal Rsia pada tahn 1965 (Janowski, 2010), algoritma ini sering jga disebt dengan Edit Distance (Hsain,2013). Yang dimaksd dengan distance adalah jmlah modifikasi yang dibthkan ntk mengbah sat bentk string ke bentk string yang lain, sebagai contoh hasil penggnaan algoritma ini, string kompter dan compter memiliki distance 1 karena hanya perl dilakkan sat operasi saja ntk mengbah sat string ke string yang lain. Dalam kass da string di atas, string compter dapat menjadi kompter hanya dengan melakkan sat penkaran karakter c menjadi k (Andhika, 2010). Algoritma Levenshtein Distance dignakan secara las dalam berbagai bidang, misalnya mesin pencari, pengecek ejaan (spell checking), pengenal pembicaraan (speech recognition), pengcapan dialek, analisis DNA, pendeteksi pemalsan, dan lain-lain. Algoritma ini menghitng jmlah operasi string paling sedikit yang diperlkan ntk mentransformasikan sat string menjadi string yang lain (Adiwidya, 2009). Algoritma Levenshtein Distance bekerja dengan menghitng jmlah minimm pentranformasian sat string menjadi string lain yang melipti penghapsan, penyisipan, dan penkaran (Hsain, 2013). Selisih perbedaan antar string dapat diperoleh dengan memeriksa apakah sat string smber sesai dengan string target. Nilai selisih perbedaan ini disebt jga Edit distance/ jarak Levenhstein. Jarak Levenshtein antar string s dan string t tersebt adalah fngsi D yang memetakan (s,t) ke sat bilangan real nonnegatif, sebagai contoh diberikan da bah string s = s(1)s(2)s(3)...s(m) dan t = t(1)t(2)t(3)...t(n) dengan s = m dan t = n sepanjang alfabet V berkran r sehingga s dan t anggota dari V*. S(j) adalah karakter pada posisi ke-j pada string s dan t(i) adalah karakter pada posisi ke-i pada string t. Sehingga jarak Levenshtein dapat didefinisikan sebagai (Harahap, 2013).

D ( s, t) adalah banyaknya operasi minimm dari operasi penghapsan, penyisipan dan penkaran ntk menyamakan string s dan t. Pada implementasi pencocokan antar string, ketiga operasi tersebt dapat dilakkan sekaligs ntk menyamakan string smber dengan string target seperti pada contoh berikt ini. Jika diberikan string smber (S) = pemrograman dan T = algoritma merpakan string target, dengan s = 11, t = 9, maka proses pencocokan string dapat diilstrasikan sebagai berikt : 1 2 3 4 5 6 7 8 9 10 11 T = a l g o r i t m a - - S = p e m p r o s e s a n a l g o i t m a Pada contoh di atas terlihat bahwa proses penkaran karakter p pada indeks ke-1, e pada indeks ke-2, m pada indeks ke-3, p pada indeks ke-4, o pada indeks ke-6, s pada indeks ke-7, e pada indeks ke-8, penyisipan karakter g pada indeks ke-3 dan proses penghapsan karakter a pada indeks ke-9, dan n pada indeks ke-11. Maka jarak Levenshtein antara S dan T adalah sebagai berikt ini.

= d( s1, t1 ) + d( s2, t2 ) + d( s3, t3 ) + d( s4, t4 ) + d( s5, t5 ) + d( s6, t6 ) + d( s7, t7 ) + d( s8, t8 ) + d( s9, t9 ) + d( s10, t10 ) + d( s11, t11 ) + d( s12, t12 ) = d( a, p ) + d( l, e ) + d( g, - ) + d( o, m ) + d( r, r ) + d( i, o) + d( t, g ) + d( m, r) + d( a, a ) + d( -, m )+ d( -, a) + d(-, n) = 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 = 10 Sehingga jarak Levenshtein antara string T = pemprosesan dan T = algoritma adalah D(s, t) = 10. 2.6. Algoritma Boyer Moore Algoritma Boyer Moore termask algoritma string matching yang paling efisien dibandingkan algoritma-algoritma string matching lainnya. Karena sifatnya yang efisien, banyak dikembangkan algoritma string matching dengan bertmp pada konsep algoritma Boyer Moore, beberapa di antaranya adalah algoritma Trbo BM dan algoritma Qick Search.( Chiqita. 2012). Algoritma Boyer Moore menggnakan metode pencocokan string dari kanan ke kiri yait men-scan karakter pattern dari kanan ke kiri dimlai dari karakter paling kanan. Algoritma Boyer Moore menggnakan da fngsi shift yait good-sffix shift dan bad-

v character shift ntk mengambil langkah beriktnya setelah terjadi ketidakcocokan antara karakter pattern dan karakter teks yang dicocokkan ( Sagita Vina, 2012). 1. Deskripsi kerja algoritma Boyer Moore Untk menjelaskan konsep dari good-sffix shift dan bad-character shift diperlkan contoh kass, seperti kass ketidakcocokan ditengah pencocokan karakter pada teks dan pattern. Karakter pattern x[i]=a tidak cocok dengan karakter teks y[i+j]=b saat pencocokan pada posisi j. Maka x[i+l.. m-1]= y[i+j+1.. j+m-1]= dan x[i] y[i+j]. 2. Good-sffix shift Konsep dari fngsi good-sffix shift adalah sebagai berikt: 1. Good-sffix shift adalah pergeseran yang dibthkan dari x[i]=a ke karakter lain yang letaknya lebih kiri dari x[i] dan terletak di sebelah kiri segmen. Kass ini ditnjkkan pada Gambar 2.3. y a b x c shift x Gambar 2.3 Good-sffix shift, terjadi lagi didahli karakter c berbeda dari a 2. Jika tidak ada segmen yang sama dengan, maka dicari yang merpakan sffiks terpanjang. Kass ini ditnjkkan pada Gambar 2.4 b a

y x shift x Gambar 2.4 Good-sffix shift, hanya sffix dari yang terjadi lagi di pattern x 3. Bad-character shift Berdasarkan contoh kass di atas, bad-character adalah karakter pada teks yait y [i+j] yang tidak cocok dengan karakter pada pattern. Konsep dari fngsi bad-character shift adalah sebagai berikt: 1. Jika bad-character y[i+j] terdapat pada pattern di posisi terkanan k yang lebih kiri dari x[i] maka pattern digeser ke kanan sejah i-k. Kass ini ditnjkkan pada Gambar 2.5. y x b a shift x b Contains no b Gambar 2.5 Bad-character shift, b terdapat di pattern x 2. Jika bad-character y[i+j] tidak ada pada pattern sama sekali, maka pattern digeser ke kanan sejah i. Kass ini dit tnjkkan pada Gambar 2.6. y b a Contains no b

x shift x Gambar 2.6 Bad-character shift, b tidak ada di pattern x 3. Jika bad-character y[i+j] terdapat pada pattern di posisi terkanan k yang lebih kanan dari x[i] maka pattern seharsnya digeser sejah i-k yang hasilnya negatif (pattern digeser kembali ke kiri). Maka bila kass ini terjadi. akan diabaikan. Pada kass ketidakcocokan di atas, algoritma akan membandingkan langkah yang diambil oleh fngsi good-sffix shift dan bad-character shift di mana langkah yang paling besar yang akan dignakan. 2.6.1 Cara kerja algoritma Boyer Moore Cara kerja dari algoritma Boyer Moore adalah sebagai berikt: 1. Menjalankan prosedr prebmbc dan prebmgs ntk mendapatkan inisialisasi. a. Menjalankan prosedr prebmbc. Fngsi dari prosedr ini adalah ntk menentkan berapa besar pergeseran yang dibthkan ntk mencapai karakter tertent pada pattern dari karakter pattern terakhir/terkanan. Hasil dari prosedr prebmbc disimpan pada tabel BmBc. b. Menjalankan prosedr prebmgs. Sebelm menjalankan isi prosedr ini, prosedr sffix dijalankan terlebih dl pada pattern. Fngsi dari prosedr sffix adalah memeriksa kecocokan sejmlah karakter yang dimlai dari karakter terakhir/terkanan dengan sejmlah karakter yang dimlai dari setiap karakter

yang lebih kiri dari karakter terkanan tadi. Hasil dari prosedr sffix disimpan pada tabel sff. Jadi sff[i] mencatat panjang dari sffix yang cocok dengan segmen dari pattern yang diakhiri karakter ke-i. c. Dengan prosedr prebmgs, dapat diketahi berapa banyak langkah pada pattern dari sebeah segmen ke segmen lain yang sama yang letaknya lebih kiri dengan karakter di sebelah kiri segmen yang berbeda. Prosedr prebmgs menggnakan tabel sff ntk mengetahi sema pasangan segmen yang sama. Contoh pada Gambar 2.1, yait berapa langkah yang dibthkan dari a( = segmen, a = karakter di sebelah kiri ) ke c yang mempnyai segmen pada pattern dengan karakter di sebelah kiri segmen yait c berbeda dari a dan terletak lebih kiri dari a. Hasil dari prosedr prebmgs disimpan pada tabel BmGs. 2. Dilakkan proses pencarian string dengan menggnakan hasil dari prosedr prebmbc dan prebmgs yait tabel BmBc dan BmGs. Berikt ini diberikan contoh ntk menjelaskan proses inisialisasi dari algoritma Boyer Moore dengan pattern gcagagag yang akan dicari pada string gcatcgcagagagtatacagtacg. 1. Dengan prosedr prebmbc, didapatkan jmlah pergeseran pada pattern yang dibthkan ntk mencapai karakter a,c,g,t dari posisi terkanan. Berdasarkan contoh diketahi ntk mencapai masing-masing karakter tadi dibthkan pergeseran sebanyak 1, 6, 2 dan 8. 2. Dengan prosedr prebmgs, dijalankan prosedr sffix terlebih dl. Dengan prosedr sffix akan diketahi: sff[0] = 1, 1 karakter g posisi 7 cocok dengan 1 karakter g posisi 0. sff[1] = 0, karakter g posisi 7 tidak cocok dengan karakter c posisi 1.

sff[2] = 0, karakter g posisi 7 tidak cocok dengan karakter a posisi 2. sff[3] = 2, 2 karakter dimlai dari karakter g posisi 7 cocok dengan 2 karakter dimlai dari karakter g posisi 3, yang artinya karakter a,g posisi 6,7 cocok dengan karakter a,g posisi 2,3. sff[4] = 0, karakter g posisi 7 tidak cocok dengan karakter a posisi 4. sff[5] = 4, 4 karakter dimlai dari karakter g posisi 7 cocok dengan 4 karakter dimlai dari karakter 5, artinya karakter a,g,a,g posisi 4,5,6,7 cocok dengan karakter a,g,a,g posisi 2,3,4,5. sff[6] = 0,karakter g posisi 7 tidak cocok dengan karakter a posisi 6. sff[7] = 8, 8 karakter g,c,a,g,a,g,a,g posisi 0,1,2,3,4,5,6,7 cocok dengan 8 karakter g,c,a,g,a,g,a,g posisi 0,1,2,3,4,5,6,7. 3. Dengan prosedr BmGs akan didapatkan: 0 1 2 3 4 5 6 7 g c a g a g a g bmgs[0]= 7, karakter ke-0 g adalah karakter sebelah kiri segmen cagagag.tidak ada segmen cagagag lain dengan karakter sebelah kiri bkan g maka digeser 7 langkah. bmgs[1]= 7, karakter ke-1 c adalah karakter sebelah kiri segmen agagag. Tidak ada segmen agagag lain dengan karakter sebelah kiri bkan c maka digeser 7 langkah. bmgs[2]= 7, karakter ke-2 a adalah karakter sebelah kiri segmen gagag. Tidak ada segmen gagag lain dengan karakter sebelah kiri bkan a maka digeser 7 langkah.

bmgs[3]= 2. karakter ke-3 g adalah karakter sebelah kiri segmen agag. Karena ada segmen agag posisi 2,3,4,5 dengan karakter sebelah kiri bkan g yait c posisi 1 maka digeser 2 langkah. bmgs[4]= 7, karakter ke-4 a adalah karakter sebelah kiri segmen gag. Karena tidak ada seamen gag lain dengan karakter sebelah kiri bkan a maka digeser 7 langkah. bmgs[5]= 4. karakter ke-5 g adalah karakter sebelah kiri seamen ag. Karena ada segmen ag posisi 2,3 dengan karakter sebelah kiri bkan g yait c posisi 1 maka digeser 4 langkah. bmgs[6]= 7, karakter ke-6 a adalah karakter sebelah kiri segmen yait a posisi 7. Karena tidak ada segmen g dengan karakter sebelah kirinya bkan a maka digeser 7 langkah. bmgs[7]= 1, karakter ke-7 g adalah karakter sebelah kiri segmen dan karena segmen tidak ada maka digeser 1 langkah 2.6.2 Prosedr Algoritma Boyer Moore procedre prebmbc(in/ot x: string, m: integer, otpt BmBc: array of integer) { ASIZE = kran } i traversal [0..ASIZE - 1] BmBc[i] m i traversal [0..m - 2] BmBc[x[i] ] m - i - 1 Gambar 2.7 Prosedr prebmbc algoritma Boyer Moore procedre sffix (in/ot x: string, m: integer, otpt sff: array of integer)

sff [m 1] m g m 1 i traversal [m 2..0] if ( i > g and sff [i + m -1 f] < i g) then sff [i] sff [ i + m 1 f] else if (i < g) then g i f i while (g 0 and x[g] x [ g + m - 1 - f ] ) do g g - 1 f i while ( g 0 and x [g] x [g] + m - 1 - f ] ) do g g - 1 sff [ i ] f - g Gambar 2.7 Prosedr sffix algoritma Boyer Moore procedre prebmgs(in/ot x: string, m: integer, otpt BmGs: array of integer) sffix (x, m, sff) i traversal [0..m - 1] BmGs[i] m i traversal [m 1.. -1] if (I = - 1 or sff [i] = i + 1 ) then

j traversal [ 0.. m - 2 - i ) do if (BmGs [j] = m) then BmGs [j] m - 1 - i i traversal [0..m - 2] BmGs [m - 1 - sff [i] ] m - 1 - i Gambar 2.7 prosedr prebmgs algoritma Boyer Moore procedre BM(in/ot x,y: string, m,n: integer) { Preprocessing } prebmgs(x, m, BmGs) prebmbc(x, m, BmBc) { Searching } j 0 while ( j n m )do i traversal [m - 1..0] if (x[i] = y [ i + j ] ) then if ( i < 0 ) OUTPUT ( j ) j j + BmGs [ 0 ] else j j + MAX( BmGs [i], BmBc [ y [ i + j ] ] - m + 1 + i )

2.7 Penelitian Terdahl Pada bagian ini akan dijelaskan beberapa penelitian terdahl, layanan atocorrect dan atocomplete telah banyak dignakan pada penelitian terdahl. Seperti layanan atocomplete dan atocorrect pada teks editor (Chiqita, 2011), dengan menggnakan algoritma Boyer-Moore dan Dynamic Programming. Kemdian layanan atocorrect jga pernah diterapkan pada Smart Phones (Pradhana, 2012), dengan menggnakan kombinasi algoritma Brte Force, Boyer-Moore dan Knth-Morris Pratt. Untk lebih jelasnya, pada tabel 2.1 berikt akan dijelaskan penelitian-penelitian yang telah dibat sebelmnya. Tabel 2.1 Penelitian sebelmnya No. Jdl Pengarang Tahn Kelebihan Kekrangan Penerapan 1 Algoritma Boyer-Moore- Dynamic Programming ntk Layanan Ato-Complete dan Ato- Correct Christabella Chiqita B 2011 Algoritma Boyer-Moore lebih mangks dibandingkan dengan algoritma yang lain serta sangat tepat dignakan sebagai layanan atocomplete Tidak ada Pencocokan string 2 ntk fitr atocompletion pada text editor ata integrated development environment (IDE) Mhammad Wachid Ksma 2012 Algoritma brte force dapat diterapkan ntk membentk fitr atocomplete pada text editor dengan baik Cara kerja algoritma brte force berjalan lambat 3. Penerapan String Matching pada Fitr Ato Correct dan Fitr Ato Text di Smart Phones Fandi Pradhana 2014 Penerapan algoritma string matching seperti Brte Force, Boyer-Moore dan KMP pada fitr ato correct mamp memberikan hasil yang Wakt pengecekan membat sistem mejadi lambat benar-benar

Simlasi Algoritma Levenshtein Algoritma Levenshtein 4 Distance ntk fitr Atocomplete pada Yli Primadani 2014 Distance dapat bekerja maksimal pada fitr Tidak dilengkapi dengan fitr atocorrect aplikasi katalog atocomplete perpstakaan