• Tidak ada hasil yang ditemukan

Perbandingan Algoritma Morris - Pratt dan Algoritma Horspool Pada Aplikasi Kamus Istilah Telekomunikasi Berbasis Android Chapter III V

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Algoritma Morris - Pratt dan Algoritma Horspool Pada Aplikasi Kamus Istilah Telekomunikasi Berbasis Android Chapter III V"

Copied!
45
0
0

Teks penuh

(1)

BAB III

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Analisis sistem merupakan pengumpulan, penginterpretasi dan pendiagnosaan persoalan sehingga menjadi prasyarat untuk mendesain sistem dan spesifikasi untuk sebuah sistem yang baru atau sistem yang diperbaiki.

Analisis sistem harus menjelaskan bentuk-bentuk kerja sistem secara terperinci dan teliti sehingga memudahkan pengembangan sistem ketika melakukan desain sistem secara menyeluruh.

3.1.1. Analisis Masalah

Analisis masalah merupakan tahapan awal dalam analisis sistem, karena analisis masalah bertujuan untuk mengindetifikasi pokok-pokok masalah sehingga tercapai titik keputusan. Sebelumnya telah diuraikan latar belakang dari skripsi ini, masalah yang akan dibahas adalah bagaimana melakukan pencarian atau pencocokan untuk menemukan string pada teks dalam kamus istilah Telekomunikasi berbasis android dan meneliti perbandingan antara algoritma Morris - Pratt dengan algoritma Horspool

untuk pencocokan string. Dalam menganalisis, mengidentifikasi, dan menyelesaikan masalah memerlukan suatu cara yang saat ini sering digunakan yaitu Ishikawa diagram/diagram Ishikawa.

(2)

Gambar 3.1. Diagram Ishikawa untuk Analisis Masalah

Pada gambar 3.1. bagian paling kanan (kotak/ kepala ikan) adalah nama masalah yaitu bagaimana membuat aplikasi Kamus Istilah Telekomunikasi berbasis Android. Kemudian duri- duri yang mengarah ke tulang utama (garis horizontal yang menuju ke kepala ikan) merupakan kategori masalah. Kategori penyebab masalahnya yaitu pengguna, material, metode dan mesin. Keseluruhan detail tersebut mengarah ke bagian kepala yang merupakan topik utama dalam analisis masalah.

3.1.2. Analisis Kebutuhan

Analisis kebutuhan terbagi atas dua bagian, yaitu kebutuhan fungsional yang mendeskripsikan aktivitas sistem dan kebutuhan nonfungsional yang mendeskripsikan fitur, karakteristik dan batasan lainnya (Whitten, 2004).

3.1.2.1. Kebutuhan Fungsional

Kebutuhan fungsional pada aplikasi kamus Istilah Telekomunikasi ini adalah : 1. Aplikasi dapat mencocokan string dari kata yang dimasukkan oleh pengguna

2. Aplikasi dapat mencari kata dengan menggunakan algoritma Morris - Pratt dan algoritma Horspool

3. Aplikasi dapat memberikan hasil pencarian kata dan menampilkannya pada antarmuka sistem.

Belum ada metode algoritma Morris - Pratt dan Horspool yang membaca buku kamus

Bahan acuan dalam bentuk hardcopy

kurang efektif

(3)

3.1.2.2. Kebutuhan Nonfungsional

Kebutuhan nonfungsional pada aplikasi kamus Istilah Telekomunikasi ini adalah : 1. Performa

Perangkat lunak yang dibangun dapat menunjukkan hasil pencarian kata yang diinputkan oleh pengguna.

2. Mudah Dipahami dan Digunakan

Tampilan yang dibangun simple dan user friendly (ramah pengguna) sehingga pengguna tertarik dan mudah untuk memahami setiap desain tampilan

3. Hemat Biaya

Perangkat lunak yang dibangun hemat biaya karena dapat di share secara gratis dengan bluetooth atau aplikasi Share lainnya. Ukuran file aplikasi tidak terlalu besar sehingga jika diunduh pada Playstore tidak mengambil kuota terlalu banyak. 4. Panduan

Perangkat lunak yang dibangun memiliki panduan penggunaan. 5. Kontrol

Perangkat lunak yang dibangun akan menampilkan pemberitahuan “kata tidak ditemukan” apabila kata yang dimasukkan pengguna tidak terdapat di dalam database.

3.1.3. Analisis Proses

Sistem yang akan dibangun menggunakan algoritma Morris – Pratt dan algoritma

Horspool untuk proses pencocokan string. Sistem akan mencocokkan pattern yang dimasukkan oleh pengguna dan apabila pattern terdapat dalam database maka hasilnya akan ditampilkan.

3.2 Perancangan Sistem

Perancangan sistem merupakan teknik pemecahan masalah untuk merangkai kembali bagian – bagian komponen sehingga menjadi sistem yang lengkap dengan analisis sistem yang saling melengkapi (Whitten et al. 2004).

(4)

3.2.1 General Arsitektur Perancangan Sistem

General arsitektur perancangan sistem adalah penjelasan berupa gambaran sistem yang terdiri dari input data, processing data, dan output data yang dikeluarkan dari sistem. Berikut adalah gambaran perancangan sistem yang dapat dilakukan pengguna kepada sistem.

Tahap Perancangan

Tahap Pengujian

Gambar 3.2 General Arsitektur Perancangan Sistem Obervasi Literatur

Perancangan fungsi pencarian dengan Morris-Pratt

Perancangan fungsi pencarian dengan Horspool

Perhitungan kompleksitas algoritma

string tidak valid (tidak ada dalam kamus)

Analisis hasil pengujian running time dan kompleksitas

(5)

Penjelasan tahapan dalam general arsitektur perancangan sistem adalah sebagai berikut :

1. Tahap Perancangan

Pada tahap ini terdiri dari 4 fase yaitu :

a. Observasi Literatur Kata Istilah Telekomunikasi

Pada fase ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang diperlukan. Referensi yang digunakan dapat berupa buku, jurnal, artikel, paper, makalah, baik dari media cetak maupun media internet mengenai istilah telekomunikasi.

b. Menentukan Kata untuk dimasukkan kedalam Aplikasi

Kata-kata yang digunakan pada aplikasi ini adalah sebanyak 500 kata yang diambil berdasarkan abjad dengan jumlah kata yang disesuaikan. Kata-kata tersebut akan diambil dari Kamus Istilah Telekomunikasi Drs. Gouzali Saydam, BC.TT Penerbit Pustaka Reka Cipta.

c. Perancangan Database dari kata yang telah dipilih

Database yang digunakan adalah database SQlite yang akan terhubung dengan Android Studio. Perancangan class untuk algoritma string matching dilakukan di software Android Studio.

d. Perancangan Fungsi Pencarian dengan Morris-Pratt dan Horspool

Dalam perancangan fungsi pencarian dengan Algoritma Morris – Pratt

dan Horspool harus ditentukan Flowchart dan Pseudocode.

2. Tahap Pengujian Pada tahap ini terdiri dari 2 fase yaitu :

a. Skenario Pengujian Pada fase ini, dilakukan pengujian pencarian untuk

(6)

b. Pencatatan pada fase ini dengan mengecek dan membandingkan running time dan komplikesitas big (Ө) Morris-Pratt dengan Horspool sehingga dapat ditemukan hasil algoritma yang lebih efisien.

3. Analisis Hasil Pengujian Hasil pengujian setiap fase akan di analisis di tahap ini, sehingga dapat ditemukan algoritma mana yang lebih efektif serta efisien untuk setiap kata terpendek, kata terpanjang maupun secara keseluruhan.

4. Penarikan Kesimpulan Pada tahap ini, dilakukan penarikan kesimpulan berdasarkan hasil dari analisis hasil pengujian. Tahap ini adalah tahap akhir dimana kesimpulan ini dapat dijadikan suatu acuan terhadap penelitian yang akan dilakukan berikutnya.

3.2.2 Use-Case Diagram

Use-case diagram adalah alur yang merepresentasikan interaksi yang terjadi antara pengguna dan sistem. Diagram ini mendeskripsikan siapa saja yang dapat berinteraksi dengan sistem dan bagaimana cara mereka berinteraksi. Diagram ini divisualisasikan dengan actor, use case, dan relasinya sebagai suatu urutan tindakan yang memberikan nilai terukur untuk aktor. Sebuah use case digambarkan sebagai

ellips horizontal dalam suatu diagram use-case (Haviluddin, 2011).

Hubungan yang menyatakan suatu use-case merupakan perluasan (extend) dari suatu use-case lainnya digambarkan oleh garis putus-putus dengan tanda panah terbuka (Harahap, A. 2014). Tanda anak panah dimulai dari extension use-case dan menunjuk kepada use-case yang diperluas. Masing-masing garis extend relationship

disebut “<<extends>>”.

(7)

Gambar 3.3 Use-case Diagram

Diagram use-case pada gambar 3.3 menujukkan bahwa sistem berinteraksi kepada pengguna. Pengguna dalam gambar 3.3 dapat didefinisikan sebagai Actor yang berinteraksi dengan empat use-case. Pertama, pengguna akan memilih algoritma pencarian yaitu dengan pilihan Morris – Pratt atau Horspool. Kedua, pengguna memasukkan kata yang ingin dicari. Ketiga, sistem akan menampilkan hasil pencarian yang ditampilkan pada interface sistem, seperti yang dijelaskan sebelumnya pada analisis proses.

Includes pada use-case menunjukkan bahwa untuk menampilkan hasil pencarian kata hanya jika pengguna telah memasukkan kata. Untuk memperjelas use-case

(8)

Tabel 3.1 Tabel Skenario Use-case Memilih Algoritma Pencarian

Name Memilih algoritma pencarian

Actor Pengguna

Description Mendeskripsikan algoritma yang akan dipilih untuk

melakukan pencarian kata

Basic Flow Penguna memilih jenis algoritma pencarian

Alternate Flow User memilih algoritma Morris-Pratt atau Horspool sebagai algoritma pencocokan string yang dipilih

Pre Condition Pengguna ingin memilih jenis algoritma pencarian

Post Condition Pengguna telah memilih jenis algoritma pencarian

Tabel 3.2 Tabel Skenario Use-case Masukkan Kata

Name Memilih algoritma pencarian

Actor Pengguna

Description Mendeskripsikan proses kata yang akan dicari

Basic Flow Penguna menginputkan kata yang akan dicari

Alternate Flow -

Pre Condition Pengguna ingin menginputkan kata

Post Condition Pengguna telah menginputkan kata

3.2.3 Activity Diagram

Activity Diagram mendeskripsikan alur kerja (workflow), aktivitas sistem serta proses timbal balik antar sistem. (Setiady, et al. 2013)

(9)

Gambar 3.4 Activity Diagram

Activity Diagram pada gambar 3.4 menjelaskan interaksi antara pengguna dan sistem. Diawali dengan pengguna yang membuka aplikasi, lalu sistem menampilkan interface

sistem. Kemudian pengguna memilih algoritma pencarian dan sistem akan membaca algoritma yang sudah dipilih. Pengguna memasukkan kata yang ingin dicari dan sistem akan merespon serta melakukan proses pencarian terhadap inputankata. Dalam prosesnya, ada dua kondisi. Jika kata yang dicari ditemukan maka sistem akan memberikan hasil pencarian atau outputnya namun jika kata yang dicari tidak ditemukan maka sistem tidak akan menampilkan apapun dan meminta pengguna untuk memasukkan kembali kata yang dicari. Ketika kata yang dicari ditemukan, maka sistem berhasil dan selesai.

3.2.4 Sequence Diagram

Sequence Diagram mendeskripsikan perilaku objek seperti pesan yang dikirimkan dan diterima antar objek serta waktu hidup objek (Setiady, et al. 2013). Sequence diagram

(10)

Gambar 3.5 Sequence Diagram

3.2.5 Pseudocode

(11)

Untuk Pseudocode algoritma Morris – Pratt ditunjukkan oleh Gambar 3.6 berikut.

(12)

Untuk pseudocode algoritma Horspool ditunjukkan pada Gambar 3.7. berikut (Nasution, 2016).

(13)

3.2.6 Diagram Alir (Flowchart)

Flowchart atau diagram alir merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses dengan pernyataannya (Zarlis, 2008). Flowchart dari gambaran umum sistem ditunjukkan pada gambar 3.8 berikut ini.

Algoritma Ya Morris Pratt

Tidak Tidak

Algoritma

Horspool

Gambar 3.8 Flowchart Gambaran Umum Sistem Masukkan Pattern

Pencocokan pattern dengan menggunakan algoritma yang

telah dipilih

Output teks dan running time

Mulai

(14)

Adapun flowchart dari algoritma Morris-Pratt seperti gambar 3.9 berikut.

Masukkan pattern yang akan dicari

Fase preprosessing

Apakah Tidak

pattern

ditemukan ?

Ya

Gambar 3.9 Flowchart Algoritma Morris-Pratt

Bandingkan karakter per karakter

Output teks dan running time

Geser pattern

berdasarkan Table mpNext[i] Pencocok dengan Algoritma

Morris Pratt

Mulai

(15)

Adapun flowchart dari algoritma Horspool seperti gambar 3.10 berikut.

Apakah i <= panjang teks n – panjang

pattern m?

Apakah pattern

[panjang pattern m-1] = = Tidak c&& str.compare [pattern, teks + i,

panjang pattern m-1]= = 0?

Ya Tidak

Gambar 3.10 Flowchart Algoritma Horspool

preBmBc (pattern, BmBc); i = 0

c = teks y [ i + panjang pattern m – 1]

i++

i+= BmBc [c] Mulai

(16)

Adapun flowchart dari sistem pencarian istilah dengan algoritma Horspool seperti gambar 3.11 berikut.

Input pattern yang akan dicari

for i = 0 to

panjang pattern - 1

Apakah Tidak cocok?

Ya

Apakah semua karakter

cocok?

Ya

Tampilkan hasil Tidak

pencarian

Gambar 3.11 Flowchart Sistem Pencarian Istilah denganAlgoritma Horspool

Proses mencocokan karakter paling kanan pattern dengan teks

Proses mencocokan ke karakter berikutnya (kiri)

Pattern bergeser berdasarkan tabel bad- match

Mulai

(17)

3.2.7 Perancangan Antarmuka (Interface)

Perancangan antarmuka bertujuan untuk mempermudah pengguna dalam berinteraksi dengan sistem yang pada umumnya tampilan antarmuka bersifat sederhana. Antarmuka yang dirancang diharapkan dapat memperhatikan faktor pengguna sehingga menghasilkan aplikasi yang ramah pengguna (user friendly). Perancangan antarmuka ini disesuaikan dengan kerangka menu seperti yang telah dituliskan sebelumnya.

1. Halaman Utama

Gambar 3.12 merupakan tampilan awal ketika aplikasi pertama kali dijalankan. Pada halaman ini terdapat dua tab, yaitu algoritma Morris – Pratt bagi pengguna yang ingin melakukan pencarian dengan algoritma Morris - Pratt. Kemudian, algoritma Horspool, bagi pengguna yang ingin melakukan pencarian dengan algoritma Horspool.

(18)

Keterangan Gambar :

1) Action Bar memuat judul aplikasi dan sebuah icon. Dimana icon memuat pilihan halaman about dan tentang.

2) Tabhost digunakan untuk memilih algoritma pencarian.

3) FieldText digunakan untuk memasukkan kata yang ingin dicari terjemahannya.

4) Button Delete digunakan untuk menghapus kata yang ada di dalam fieldtext. 5) Listview untuk menampilkan kata yang ada di dalam database.

2. Halaman Hasil Pencarian

Gambar 3.13 adalah tampilan ketika pengguna memasukkan kata yang ingin dicari dan akan memberikan hasil pencarian.

Gambar 3.13 Hasil Pencarian

Dcs X

Algoritma Morris - Pratt

Algoritma Horspool

Kamus Istilah Telekomunikasi

1. DCS

(19)

3. Halaman Tentang

Pada halaman tentang memuat tentang identitas singkat dari penulis dan judul penelitian ini. Adapun tampilan dari halaman tentang dapat ditunjukkan pada gambar 3.14 berikut ini.

Gambar 3.14 Halaman About

Keterangan Gambar :

1) Action Bar berisikan judul dari halaman aplikasi. 2) TextView untuk menampilkan judul dari penelitian. 3) TextView untuk menampilkan identitas singkat penulis 4) ImageView untuk menampilkan logo Universitas.

5) TextView untuk menampilkan Program Studi, Fakultas, Universitas, kota dan tahun

About

Perbandingan Algoritma Morris – Pratt dengan Algoritma

Horspool pada Aplikasi Kamus Istilah Telekomunikasi berbasis Android

SKRIPSI Laura Angelina Hasibuan

131401047

Program Studi S1 Ilmu Komputer

Fakultas Ilmu Komputer dan Teknologi Informasi

(20)

4. Halaman Bantuan

Halaman bantuan memuat panduan untuk menggunakan aplikasi yang akan dibangun. Adapun tampilan untuk halaman bantuan dapat dilihat pada gambar 3.15 berikut.

Gambar 3.15 Halaman Help

Keterangan Gambar :

1) Action Bar untuk menampilkan judul halaman aplikasi 2) TextView untuk menampilkan poin – poin bantuan

Help

1. Mencari arti kata istilah Telekomunikasi dengan

algoritma pencarian Algoritma Morris- Pratt

2. Mencari arti kata istilah Telekomunikasi dengan

algoritma pencarian Algoritma Horspool

3. Menghapus Kata dalam fieldtext

1

(21)

BAB IV

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1. Implementasi Sistem

Tahapan implementasi sistem adalah next step dari tahapan analisis dan perancangan sistem yang telah dibahas pada bab tiga. Pembahasan dalam bab tiga akan diimplementasikan ke dalam bahasa pemrograman Java. Proses interface system dibangun dengan bahasa Java dengan Android Studio.

4.1.1. Tampilan Antarmuka Utama

Halaman utama adalah tampilan awal saat aplikasi pertama kali dijalankan dan terdapat dua kondisi yaitu Morris – Pratt dan Horspool. Pada halaman utama, pilihan pencarian string pertama langsung terhubung dengan algoritma Morris- Pratt dan untuk menggunakan algoritma Horspool dapat mengklik Horspool.

(22)

Gambar 4.1 Tab Morris - Pratt

Gambar 4.1 adalah kondisi ketika user memilih untuk mencari kata dengan algoritma pencarian Morris - Pratt.

Gambar 4.2 Tab Horspool

(23)

4.1.2. Tampilan Antarmuka Hasil Pencarian

Pada tampilan hasil pencarian, sistem akan menampilkan hasil dari kata yang dicari oleh pengguna. Setiap kata di dalam database yang mengandung kata dan dimasukkan oleh pengguna akan ditampilkan di dalam listview. Seperti gambar 4.3, ketika pengguna memasukkan kata jaringan, maka kata jaringan junction dan jaringan lokal, juga ditampilkan dikarenakan kata – kata tersebut mengandung kata jaringan. Tidak hanya defenisi kata yang ditemukan namun Running Time dari algoritma pencarian juga.

Gambar 4.3 Antarmuka Hasil Pencarian Ditemukan

Ketika kata yang dicari oleh pengguna tidak ditemukan di dalam database, maka sistem akan mengeluarkan notifikasi bahwa kata tidak ditemukan dan beserta running timenya. Tampilan aplikasi apabila hasil pencarian tidak ditemukan dapat dilihat pada gambar 4.4 berikut ini.

(24)

Gambar 4.4 Hasil Pencarian Tidak Ditemukan

4.1.3 Tampilan Antarmuka Tentang (About)

Pada gambar 4.5 merupakan tampilan menu yang berisi informasi singkat dari penulis. Tampilan menu tentang dapat dilihat pada gambar 4.5 berikut ini.

(25)

4.1.4 Tampilan Antarmuka Bantuan (Help)

Pada aplikasi ini terdapat menu bantuan yang menginformasikan langkah – langkah dari proses penggunaan aplikasi.

Gambar 4.6 Menu Help

4.1.5 Tampilan Antarmuka Sumber (Source)

Pada aplikasi ini terdapat menu source yang menjelaskan bahwa kosa kata yang ada di database bersumber pada buku Kamus Istilah Telekomunikasi Drs. Gouzali Saydam, BC.TT Penerbit Pustaka Reka Cipta.

(26)

4.2 Pengujian Sistem

Pengujian sistem bertujuan untuk mengetahui bagaimana sistem berjalan dan kinerja yang dihasilkan pada pencarian kata istilah Telekomunikasi yang terdapat dalam database dengan algoritma pencarian Morris – Pratt dan Horspool.

Dalam pengujian sistem ini, yang bertindak sebagai masukan adalah string.

String yang cocok di dalam database akan dikeluarkan sebagai output sistem ketika algoritma berhasil melakukan pencocokan kata.

4.2.1. Pengujian pencarian kata dengan Algoritma Morris - Pratt

Pengujian sistem pertama kali adalah melakukan pencarian kata dengan algoritma Morris - Pratt. Ketika pengguna memilih jenis terjemahan dan memasukkan

pattern kata yang ingin dicari, maka seluruh kata di dalam database kamus yang terkait dengan pattern masukan akan keluar sebagai output.

Berikut adalah contoh perhitungan tabel pergeseran mpNext untuk pattern

HASIBUAN pada teks LAURA HASIBUAN.

Tabel 4.1 Nilai mpNext[i] untuk pattern HASIBUAN

I 0 1 2 3 4 5 6 7 8

x[i] H A S I B U A N *

mpNext[i] -1 0 0 0 0 0 0 0 1

Keterangan :

i : indeks untuk setiap karakter pada pattern

x : pattern

mpNext[i] : nilai mpNext[i] untuk setiap karakter pada pattern

(27)

Tahap 2 :

L A U R A H A S I B U A N

0 1

H A S I B U A N

Shift = 0 – mpNext[0] = 0 – -1 = 1 Tahap 3 :

L A U R A H A S I B U A N

0 1

H A S I B U A N

Shift = 0 – mpNext[0] = 0 – -1 = 1

Tahap 4 :

L A U R A H A S I B U A N

0 1

H A S I B U A N

Shift = 1 – mpNext[1] = 1 – 0 = 1

Tahap 5 :

L A U R A H A S I B U A N

0 1

H A S I B U A N

Shift = 0 – mpNext[0] = 0 – -1 = 1

Tahap 5 :

L A U R A H A S I B U A N 0 1

H A S I B U A N

(28)

Tahap 6 :

L A U R A H A S I B U A N

0 1 2 3 4 5 6 7 H A S I B U A N

Shift = 7 – mpNext[7] = 7 – 0 = 7

Pada percobaan keenam, pattern sudah sesuai dengan karakter pada teks. Algoritma Morris - Pratt akan terus bergerak ke kanan hingga karakter pada teks berakhir. Pada contoh ini, algoritma Morris - Pratt melakukan 15 kali perbandingan karakter dengan teks.

Kecocokan input, output, serta hasil running time pencariannya terdapat pada Tabel 4.2. berikut ini.

Tabel 4.2. Pengujian sistem pencocokan string dengan Algoritma Morris - Pratt

No String

Masukan

Gambar Hasil Hasil

Pencarian

Running

Time(ms)

(29)

2 Ne ditemukan 37

(30)

4 tele ditemukan 46

5 shell Tidak

ditemukan

(31)

4.2.2. Pengujian pencarian kata dengan Algoritma Horspool

Pengujian sistem selanjutnya adalah melakukan pencarian kata dengan algoritma Horspool. Ketika pengguna memilih jenis algoritma dan memasukkan pattern

kata yang ingin dicari, maka seluruh kata di dalam database kamus yang terkait dengan pattern masukan akan keluar sebagai output. Contoh proses pada pattern ditunjukkan pada Tabel 4.3 dan kecocokan output beserta running time dapat dilihat pada tabel 4.8 berikut ini.

Sebagai contoh, dapat dilihat pada Tabel 4.3 berikut.

Pattern: HASIBUAN

⏟ ⏟⏟⏟ ⏟ ⏟

H A S I B U A N 0 1 2 3 4 5 6 7

Tabel 4.3 Bad-match pada praproses Karakter Index Value

H 0 7

* : karakter yang tidak dikenali

Untuk menggambarkan rincian algoritma, akan diberikan contoh kasus dimana

pattern P = “HASIBUAN” dan teks T = “LAURA HASIBUAN”. Inisialisasi awal dan

(32)

Tabel 4.4 Inisialisasi awal bad-match

sebagai panjang pattern dan i sebagai indeks. Tabel 4.5 menunjukkan nilai pergeseran

bad-match dengan menghitung nilai v seperti yang telah dilakukan pada Tabel 4.3. Pada tahap awal pencarian, dilakukan perbandingan karakter paling kanan pattern

terhadap window. Apabila terjadi ketidakcocokan, akan dilakukan pergeseran ke kanan untuk melewati karakter yang tidak cocok dimana nilai pergeserannya terdapat pada tabel bad-match. Karakter paling kanan teks pada window berfungsi sebagai landasan untuk menentukan jarak geser yang akan dilakukan. Hal ini terlihat pada Tabel 4.6 berikut.

Tabel 4.6 Iterasi algoritma Horspool pertama

M 1 2 3 4 5 6 7 8 9 10 11 12 13 14

T L A U R A H A S I B U A N

P H A S I B U A N I 0 1 2 3 4 5 6 7

Terdapat ketidakcocokan seperti yang terlihat pada Tabel 4.6. Karakter “A” adalah karakter paling kanan teks pada window. Pada tabel bad-match, nilai geser karakter “A” adalah 6. Maka, dilakukan pergeseran ke kanan pada window

(33)

Tabel 4.7 Iterasi algoritma Horspool kedua

M 1 2 3 4 5 6 7 8 9 10 11 12 13 14

T L A U R A H A S I B U A N

P H A S I B U A N

I 0 1 2 3 4 5 6 7

Pada Tabel 4.7, window telah berada pada akhir teks dan semua pattern cocok dengan teks. Seluruh pencocokan karakter menggunakan algoritma Horspool telah selesai dan berhenti pada iterasi kedua.

Tabel 4.8 Pengujian sistem pencocokan string dengan Algoritma Horspool

No String

Masukan

Gambar Hasil Hasil

Pencarian

Running

Time

(ms)

(34)

2 Bi ditemukan 61

(35)

4 jaringan ditemukan 46

5 bdbdbbd Tidak

ditemukan

(36)

4.3 Hasil Pengujian Sistem

Hasil pengujian dari penelitian ini adalah running time dari pencarian kata yang ditemukan oleh algoritma Morris - Pratt dan algoritma Horspool. Adapun hasil pengujian dari kedua algoritma pencocokan string dalam mencari kata, akan dijelaskan pada Tabel 4.9., 4.10., 4.11., dan 4.12. berikut.

Tabel 4.9. Hasil pengujian Algoritma Morris - Pratt

No Pattern Running Time (ms)

Tabel 4.10 Hasil pengujian Algoritma Horspool

(37)

Tabel 4.11 Hasil pengujian pencarian kata terpanjang

Tabel 4.12 Hasil pengujian pencarian kata terpendek

(38)

0

Running Time (ms) untuk Urutan Pattern

Morris - Pratt Horspool

Running Time (ms) untuk Pattern Terpanjang

Morris - Pratt Horspool

Setelah mendapatkan hasil pengujian untuk running time kedua algoritma, maka dibuat grafik perbandingan hasil pengujian kedua algoritma tersebut. Grafik dapat dilihat pada Gambar 4.8., 4.9., dan 4.10. berikut.

Waktu

(39)

0

Running Time (ms) untuk Pattern Terpendek

Morris - Pratt Horspool

Waktu

Pattern Terpendek

Gambar 4.10. Perbandingan hasil running time pencarian kata terpendek

Dari grafik di atas, dapat disimpulkan bahwa algoritma Horspool mendapatkan hasil running time yang lebih tinggi dibandingkan dengan algoritma Horspool. Bahkan dalam segala pencarian, baik berdasarkan kata terpanjang maupun kata terpendek. Dari hasil perbandingan kedua algoritma secara keseluruhan menunjukkan bahwa algoritma Morris - Pratt bekerja lebih cepat untuk proses pencocokan dan pencarian kata dibandingkan dengan algoritma Horspool. Meskipun perbedaan yang tampak antara kedua algoritma tersebut tidak terlalu signifikan, tetapi kedua algoritma ini dapat mencari kata dengan cukup cepat.

4.4. Kompleksitas Algoritma

(40)

Terdapat beberapa jenis notasi asimtotik yang merepresentasikan kompleksitas algoritma, salah satunya adalah notasi Big (Ө). Notasi Big- Ө

digunakan untuk mengkategorikan algoritma ke dalam fungsi yang menggambarkan batas atas (upper limit) dari pertumbuhan sebuah fungsi ketika masukan dari fungsi tersebut bertambah banyak.

Pada penelitian ini, kompleksitas algoritma yang akan diuji adalah kompleksitas algoritma Morris - Pratt dan Algoritma Horspool dengan menggunakan notasi Big- Ө. Kompleksitas kedua algoritma tersebut akan dijelaskan pada Tabel 4.13., 4.14., 4.15 dan 4.16.,berikut.

4.4.1. Kompleksitas Algoritma Morris - Pratt

Tabel 4.13 Kompleksitas fungsi fase preprocessing algoritma Morris - Pratt

No Kode Program C # C x #

Kompleksitas fase Preprocessing :

� �� ( ) = �1+�2m +C2 + �3 + 2C4

= 1 + m + 1 + 1 + 2 = 5 + m

(41)

Tabel 4.14 Kompleksitas fungsi fase pencarianalgoritma Morris - Pratt

Kode Program C # C x #

(42)

Kompleksitas fase pencarian :

Tmax (n) = 10 C1 + C2 +C3(m+n)+2C4+C5+C6+2C7 = 10 +1 + (m+n) 2+1+1+2

= 17+m+n = Ө (m+n)

Tabel 4.14 menjelaskan tentang kompleksitas algoritma Morris - Pratt untuk fase preprocessing. Pada algoritma Morris - Pratt, fase preprocessing

memiliki �( ) = Ө (m). Pada tabel 4.8 menjelaskan fase pencarian dan didapat kompleksitas algoritma Morris - Pratt adalah Ө (m+ ).

4.4.2. Kompleksitas Algoritma Horspool

Tabel 4.15. Kompleksitas fungsi fase preprocessing Algoritma Horspool

N

Kompleksitas fase preprocessing:

� �� (m) = 1+2562 + C1 +2m+1

= 3C1 + C2 (256+m) = 3 + 256 +m = 259 +m

= Ө

(

m

)

(43)

Tabel 4.16 Kompleksitas fungsi pencarianAlgoritma Horspool

Kode Program C # C x #

public int search(String pat,String

target){

j+= bmBc[target.charAt(j+m - 1)];

}

Kompleksitas fase pencarian:

� �� ( ) = �1+ �1+ �1+�2 +�3 +C4n+C5+C6n+C5 = 3�1++C3n+C4n+C4n + C6n +2C5

= 3 +2 +3n = Ө (n)

Tabel 4.15 dan Tabel 4.16. menjelaskan tentang kompleksitas algoritma Horspool untuk fase preprocessing dan fase pencarian. Pada algoritma Horspool, fase preprocessing memiliki �( ) = Ө (m) dan fase pencarian memiliki ( ) = Ө

(44)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan analisis, perancangan, dan pengujian dari penelitian, maka dapat diperoleh kesimpulan sebagai berikut :

1. Pencocokan kata dengan Algoritma Morris - Pratt dan Horspool pada Aplikasi Kamus Istilah Telekomunikasi berbasis android dapat diimplementasikan dan berjalan dengan baik.

2. Total rata-rata running time untuk algoritma Morris - Pratt adalah 46,6 ms dan algoritma Horspool adalah 50,5 ms. Pada skenario pencarian kata terpanjang, algoritma Morris - Pratt memiliki rata-rata running time selama 35.1 ms dan algoritma Horspool selama 38,2 ms dan untuk pencarian kata terpendek, algoritma Morris - Pratt memiliki running time selama 51,4 ms dan algoritma Horspool selama 62,1 ms. Hal ini membuktikan bahwa algoritma Morris - Pratt melakukan pencarian string lebih cepat dibandingkan algoritma Horspool.

3. Kompleksitas algoritma Morris-Pratt adalah Ө (m) pada preprocessing dan

Ө( + ) pada processing. Sedangkan kompleksitas algoritma Horspool adalah

(45)

5.2Saran

Pada penelitian ini, terdapat beberapa saran yang dapat dipertimbangkan. Untuk pengembangan penelitian selanjutnya, penulis memberikan beberapa saran, yaitu sebagai berikut:

1. Dalam pencarian string dengan studi kasus kamus istilah, disarankan agar mengimplementasikan algoritma-algoritma string matching lainnya seperti Knuth-Morris-Pratt karena algoritma ini bagus sekali.

2. Dapat mengembangkan sistem ke dalam basis lainnya, seperti basis desktop atau

web sehingga tidak hanya berbasis mobile saja.

Gambar

Gambar 3.1. Diagram Ishikawa untuk Analisis Masalah
Gambar 3.5 Sequence Diagram
Gambar 3.6 Pseudocode pencarian Algoritma Morris - Pratt
Gambar 3.7. Pseudocode pencarian Algoritma Horspool (Nasution, 2016)
+7

Referensi

Dokumen terkait

Dari penelusuran dan penelitian hingga penulisan artikel ini, penulis menemukan identitas Islam yang dipengaruhi kawasan-kawasan tertentu di Indonesia: Islam Nusantara,

Dalam menyusun skripsi ini, digunakan metode penelitian hukum normatif yang bersifat deskriptif, dimana penelitian hukum normatif yaitu penelitian yang menganalisis

Bagian ini umumnya paling banyak di huni oleh hewan hutan hujan tropis.. Harpy eagle Toco toucan Wooly opossum Brazilian tapir Black-crowned antpitta Shrub layer Canopy Emergent

Based on Robert Redfied’s notion of great tradition and little tradition, I want to argue that the festival of Idul Fitri in Java is more happy, cheery, and merry rather than in

Sekali-sekali pasien akan mengalami rasa napas yang pendek (seperti orang yang kelelahan) dan bukanya tekanan pada substernal.Sekali-sekali bisa pula

I’tibar sanad dalam istilah ilmu hadis ialah menyertakan sanad-sanad yang lain untuk suatu hadis tertentu yang hadis itu pada bagian sanad-nya tampak hanya terdapat seorang

Dalam pelaksanaan siklus I yaitu 3 pertemuan yaitu pertemuan pertama guru membuka pelajaran, mempresensi, apersepsi dan motivasi. Guru menjelaskan kepada siswa

[r]