BAB III ANALISIS DAN PERANCANGAN

dokumen-dokumen yang mirip
BAB I PENDAHULUAN Latar Belakang

BAB III ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS DAN PERANCANGAN

BAB 2 LANDASAN TEORI

Penerapan Pencocokan String pada Aplikasi Kamusku Indonesia

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

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

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB IV ANALISA DAN PERANCANGAN SISTEM

BAB 1 PENDAHULUAN Latar Belakang


BAB III ANALISA MASALAH DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN SISTEM

Penerapan Pencocokan String dalam Aplikasi Duolingo

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

BAB 3 ANALISIS DAN PERANCANGAN

PENERAPAN ALGORITMA PENCARIAN SEQUENTIAL SEARCH

Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data

BAB I PENDAHULUAN Latar Belakang

Algoritma Pencarian String dalam Pemilihan Anggota Sebuah Organisasi

Algoritma String Matching pada Mesin Pencarian

BAB III ANALISA DAN PERANCANGAN SISTEM

Pattern Matching dalam Aplikasi Pencarian Jodoh

BAB I PENDAHULUAN. 1.1Latar Belakang

BAB 2 LANDASAN TEORI

APLIKASI PENERJEMAH KALIMAT BAHASA INDONESIA KE BAHASA SIMALUNGUN DENGAN ALGORITMA BERRY - RAVINDRAN

BAB 1 PENDAHULUAN Latar Belakang

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN PERANCANGAN

BAB II LANDASAN TEORI

Artikel Ilmiah. Peneliti: Ditya Geraldy ( ) Prof. Dr. Ir. Eko Sediyono, M.Kom. Yos Richard Beeh., S.T., M.Cs.

BAB III ANALISIS DAN PERANCANGAN

Perbandingan Algoritma String Matching yang Digunakan dalam Pencarian pada Search Engine

BAB III ANALISIS DAN PERANCANGAN. Dalam membangun aplikasi pembelajaran aksara sunda berbasis android

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

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN. Pada dasarnya perancangan sistem yang dibuat oleh peneliti adalah

Penggunaan Algoritma Knuth-Morris-Pratt untuk Pengecekan Ejaan

BAB III ANALISIS DAN DESAIN SISTEM

IMPLEMENTASI ALGORITMA KNUTH-MORRIS-PRATH STRING MATCHING UNTUK MENCARI KATA ATAU ISTILAH PADA KAMUS KOMPUTER BERBASIS ANDROID.

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV HASIL DAN UJI COBA

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Gambar 3.1. Diagram alir apikasi image to text

BAB II LANDASAN TEORI

BAB IV ANALISA DAN PERANCANGAN SISTEM Analisis Sistem yang Sedang Berjalan. Untuk merancang sebuah aplikasi mobile pelajaran Kimia dasar untuk

ANALISIS DAN DESAIN SISTEM


BAB I PENDAHULUAN I.1. Latar Belakang [1] [2] [3] [4] [5]

BAB 2 LANDASAN TEORI

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

BAB 2 LANDASAN TEORI

BAB IV PEMBAHASAN. Sampel Polinomial. (Horner, 1971) (Horner, 1971) (Neill, 2010) (Neill, 2010) (Neill, 2010) (Horner, 1971) (Neill, 2010)

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM. telah dijelaskan pada bab sebelumnya. Analisis yang dilakukan bertujuan untuk

BAB III ANALISA DAN PERANCANGAN. 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan:

BAB III ANALISIS DAN PERANCANGAN

Aplikasi Algoritma Pencocokan String pada Mesin Pencari Berita

PEMANFAATAN ARDUINO DALAM PENGEMBANGAN SISTEM RUMAH PINTAR BERBASIS MOBILE DAN WEB (Studi Kasus : Penjadwalan Lampu Rumah)

BAB 3 ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Toko Buku Family merupakan sebuah toko yang menjual buku-buku

Gambar 3.1 Flowchart Membuat Rute Lari

BAB III ANALISA DAN DESAIN SISTEM

BAB 3 ANALISIS DAN PERANCANGAN. merancang tampilan e-commerce. Dengan fitur-fitur yang sederhana seperti

BAB III ANALISA DAN PERANCANGAN

BAB II TINJAUAN PUSTAKA

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang

BAB 2 LANDASAN TEORI

BAB III METODE PENELITIAN

BAB III ANALISIS DAN PERANCANGAN

ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB II LANDASAN TEORI

BAB III ANALISA DAN PERANCANGAN

BAB IV HASIL PENELITIAN DAN PEMBAHASAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

IMPLEMENTASI METODE STRING MATCHING UNTUK APLIKASI PENGARSIPAN DOKUMEN (STUDI KASUS : SMPN 3 SUMBER KAB. CIREBON)


BAB III KONSEP DAN PERANCANGAN APLIKASI

BAB IV ANALISA DAN PERANCANGAN SISTEM. diusulkan dari sistem yang ada di Dinas Kebudayaan dan Pariwisata Kota

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM

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

Transkripsi:

14 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. Diagram Ishikawa (fishbone diagram) yang dikembangkan oleh Dr. Kaoru Ishikawa sekitar tahun 1960-an. Diagram Ishikawa adalah analisis sebab akibat dengan bentuk kerangka tulang ikan yaitu bagian kepala, sirip dan duri. Konsep dasar dari diagram Ishikawa adalah permasalahan mendasar yang diletakkan pada bagian kanan dari diagram atau bagian kepala dari kerangka tulang ikannya. Penyebab permasalahan digambarkan pada sirip dan durinya (Asmoko, 2015).

15 Kurangnya minat membaca buku kamus Belum ada metode algoritma Morris - Pratt dan Horspool yang diimplementasikan dalam aplikasi berbasis android Pengguna Pengguna ingin menemukan definisi kata istilah telekomunikasi dengan cepat Metode Bahan acuan dalam bentuk hardcopy kurang efektif Masih sedikitnya kamus Istilah Telekomunikasi berbasis Android yang berbahasa Indonesia Material Pencarian kata masih manual (kurang efisien) Mesin Smartphone saat ini sudah banyak digunakan masyarakat. Smartphone lebih flexibel untuk digunakan Membuat aplikasi Kamus Istilah Telekomunikasi berbasis Android 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.

16 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). Tujuan dari perancangan sistem ini adalah menjelaskan, mempermudah dan mengevaluasi implementasi sistem yang akan dibangun. Pada perancangan sistem terdapat flowchart, use case diagram, activity diagram, sequence diagram dan perancangan antarmuka (interface).

17 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. Obervasi Literatur Kata Istilah Telekomunikasi Memilih kata untuk dimasukkan ke dalam aplikasi Perancangan database dari kata yang telah dipilih Perancangan fungsi pencarian dengan Morris-Pratt Perancangan fungsi pencarian dengan Horspool Perhitungan kompleksitas algoritma Perancangan desain android Tahap Perancangan Kalkulasi Big Ө (Ө) Algoritma Morris-Pratt Tampilkan running time dengan Morris- Pratt Pencarian untuk string terpendek Pencarian untuk string terpanjang Kalkulasi Big (Ө) Algoritma Horspool Perhitungan Tahap Pengujian Tampilkan running dengan Horspool Pencatatan time Pencarian untuk string tidak valid (tidak ada dalam kamus) Skenario Pengujian Analisis hasil pengujian running time dan kompleksitas Penarikan Kesimpulan Gambar 3.2 General Arsitektur Perancangan Sistem

18 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. Katakata 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 string terpendek dan pencarian untuk string terpanjang. Hal ini berfungsi untuk membandingkan hasil pengujian dengan kata terpendek dalam kamus dengan kata terpanjang dan algoritma mana yang lebih efisien.

19 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>>. Aktor yang berinteraksi dalam sistem ini adalah pengguna aplikasi, dan fungsi (use-case) dihubungkan dengan tanda panah yang menyatakan bahwa aktor mengajukan permintaan terhadap use-case. Use-case diagram dari sistem yang akan dibangun dapat dilihat pada Gambar 3.3.

20 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 tersebut dapat di deskripsikan kedalan tabel skenario pada tabel 3.1 dan 3.2.

21 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) Gambar 3.4 merupakan activity diagram dari aplikasi yang akan dibangun pada penelitian ini.

22 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 inputan kata. 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 pada sistem kamus ini akan ditunjukkan pada gambar 3.5.

23 Gambar 3.5 Sequence Diagram 3.2.5 Pseudocode Pseudocode adalah barisan kode untuk menulis sebuah algoritma dengan cara tidak terikat dengan bahasa pemrograman tertentu. Pseudocode menggunakan bahasa yang hampir mirip dengan bahasa pemrograman namun perbedaannya adalah bahasa yang digunakan lebih mudah dipahami dan lebih ringkas.

24 Untuk Pseudocode algoritma Morris Pratt ditunjukkan oleh Gambar 3.6 berikut. Tahap Preprocessing Procedure premp ) ) input j : array[0.. m-1] of char, input m : integer, input x : array[0.. m-1] of char, input/output mpnext : array [0.. n-1] of integer Deklarasi : i : integer Algoritma : for( j = mpnext[0] = -1; i < m; mpnext[i] = j) endfor while(j > -1 && x[i]!= x[j]) j = mpnext[j] endfor ++i; ++j; endfor Tahap Pencarian Procedure MorrisPrattSearch( ) input i,j, n : integer, input x : array[0.. m-1] of char, input y : array[0.. n-1] of char, output find : array[0.. m-1] of boolean Deklarasi : j:=0 i:=0 Algoritma: premp(x, m, mpnext) while(j < n) do while(i > -1 && x[i]!= y[j]) do i = mpnext[i]; Endfor ++i; ++j; if(i >= m) then i = mpnext[i]; Gambar 3.6 Pseudocode pencarian Algoritma Morris - Pratt

25 Untuk pseudocode algoritma Horspool ditunjukkan pada Gambar 3.7. berikut (Nasution, 2016). Tahap Preprocessing Procedure prebmbc ( input P : array[0.. m-1] of char, input m : integer, input/output BmBc : array [0.. n-1] of integer ) Deklarasi: i : integer Algoritma: for (i := 0 to ASIZE 1) BmBc[i] := m; endfor for (i := 0 to m-2) BmBc[P[i]] := m i 1; Endfor Tahap Pencarian: Procedure HorspoolSearch ( input m, n : integer, input P : array[0.. m-1] of char, input T : array[0.. n-1] of char, output find : array[0.. m-1] of boolean ) Deklarasi: j : integer BmBc : array[0.. n] of integer c : char Algoritma: prebmbc(p, m, BmBc) j := 0 while (j <= n m) do c = T[j + m 1]; if (P[m 1] == c && memcmp(p, T + j, m-1) == 0) then find[j] := true; endif j := j + BmBc[c]; endwhile Gambar 3.7. Pseudocode pencarian Algoritma Horspool (Nasution, 2016)

26 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. Mulai Masukkan Pattern Algoritma Morris Pratt Ya Tidak Tidak Algoritma Horspool Pencocokan pattern dengan menggunakan algoritma yang telah dipilih Output teks dan running time Selesai Gambar 3.8 Flowchart Gambaran Umum Sistem

27 Adapun flowchart dari algoritma Morris-Pratt seperti gambar 3.9 berikut. Mulai Masukkan pattern yang akan dicari Fase preprosessing Bandingkan karakter per karakter Pencocok dengan Algoritma Morris Pratt Apakah pattern ditemukan? Tidak Geser pattern berdasarkan Table mpnext[i] Ya Output teks dan running time Selesai Gambar 3.9 Flowchart Algoritma Morris-Pratt

28 Adapun flowchart dari algoritma Horspool seperti gambar 3.10 berikut. Mulai prebmbc (pattern, BmBc); i = 0 Apakah i <= panjang teks n panjang pattern m? c = teks y [ i + panjang pattern m 1] Apakah pattern [panjang pattern m-1] = = c&& str.compare [pattern, teks + i, panjang pattern m-1]= = 0? Tidak Ya Tidak i++ i+= BmBc [c] Selesai Gambar 3.10 Flowchart Algoritma Horspool

29 Adapun flowchart dari sistem pencarian istilah dengan algoritma Horspool seperti gambar 3.11 berikut. Mulai Input pattern yang akan dicari for i = 0 to panjang pattern - 1 Proses mencocokan karakter paling kanan pattern dengan teks Apakah cocok? Tidak Pattern bergeser berdasarkan tabel bad- match Ya Proses mencocokan ke karakter berikutnya (kiri) Apakah semua karakter cocok? Ya Tampilkan hasil pencarian Tidak Selesai Gambar 3.11 Flowchart Sistem Pencarian Istilah dengan Algoritma Horspool

30 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. Kamus Istilah Telekomunikasi 1 Algoritma Morris - Pratt 2 Algoritma Horspool Masukkan teks... 3 X 4 1. ADS 5 American Depository Share,... 2. ARPU Average Revenue Per User,... 3. ATM Asynchronus Transfer Mode,.. 4. BTS Base Transceiver Station,... Gambar 3.12 Halaman utama aplikasi kamus.

31 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. Kamus Istilah Telekomunikasi Algoritma Morris - Pratt Algoritma Horspool Dcs X 1. DCS DCS (Digital Communication System) adalah sistem telepon selular yang menggunakan teknologi GSM yang beroperasi dalam pita frekuensi 1800 MHz Gambar 3.13 Hasil Pencarian

32 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. About 1 Perbandingan Algoritma Morris Pratt dengan Algoritma Horspool pada Aplikasi Kamus Istilah Telekomunikasi berbasis Android SKRIPSI Laura Angelina Hasibuan 131401047 2 3 LOGO 4 5 Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Medan 2017 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

33 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. Help 1 2 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 Gambar 3.15 Halaman Help Keterangan Gambar : 1) Action Bar untuk menampilkan judul halaman aplikasi 2) TextView untuk menampilkan poin poin bantuan

34 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. Gambar 4.1 adalah kondisi ketika pengguna memilih untuk mencari kata istilah dengan algoritma Morris- Pratt. Pada gambar tersebut, kata bercetak tebal merupakan kata istilah telekomunikasi dan kata yang tidak dicetak tebal merupakan pengertian dari kata istilah.

35 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 Gambar 4.2 adalah kondisi ketika user memilih untuk mencari kata dengan algoritma pencarian Horspool.

36 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. Ketika kata yang dicari oleh pengguna tidak ditemukan di dalam database, maka sistem akan mengeluarkan notifikasi bahwa kata tidak ditemukan. Tampilan aplikasi ketika hasil pencarian tidak ditemukan dapat dilihat pada gambar 4.4 berikut ini.

37 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. Gambar 4.5 Menu About

38 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. Gambar 4.7 Menu Sumber (Source)

39 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 Tahap Pencarian Tahap 1 : 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

40 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 Shift = 0 mpnext[0] = 0-1 = 1

41 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) 1 adsi ditemukan 39

42 2 Ne ditemukan 37 3 hubungan ditemukan 42

43 4 tele ditemukan 46 5 shell Tidak ditemukan 44

44 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 A 1 6 S 2 5 I 3 4 B 4 3 U 5 2 N 7 0 * - 8 value = 8 0 1 = 7 value = 8 1 1 = 6 value = 8 2 1 = 5 value = 8 3 1 = 4 value = 8 4 1 = 3 value = 8 5 1 = 2 value = 8 7 1 = 0 * : karakter yang tidak dikenali Untuk menggambarkan rincian algoritma, akan diberikan contoh kasus dimana pattern P = HASIBUAN dan teks T = LAURA HASIBUAN. Inisialisasi awal dan pembuatan bad-match terlihat pada Tabel 4.4 dan Tabel 4.5 berikut.

45 Tabel 4.4 Inisialisasi awal bad-match 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 4.5 Pembuatan bad- match P H A S I B U N I 0 1 2 3 4 5 7 V 7 6 5 4 3 2 0 Seperti yang terlihat pada Tabel 4.4 di atas, inisialisasi awal bad-match dilakukan. Setiap teks dan pattern masing-masing diberi nilai m dan i, dimana m 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 sebanyak 6 kali. Hal ini terlihat pada Tabel 4.7.

46 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) 1 A ditemukan 71

47 2 Bi ditemukan 61 3 bbc ditemukan 54

48 4 jaringan ditemukan 46 5 bdbdbbd Tidak ditemukan 38

49 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) 1 Advaljar 46 2 Birofax 45 3 Centrex 43 4 Dect 53 5 Edi 46 6 Fdm 48 7 Gopher 47 8 Humanware 37 9 Intacts 48 10 Jasnita 53 Rata-rata 46.6 Tabel 4.10 Hasil pengujian Algoritma Horspool No Pattern Running Time (ms) 1 Advaljar 51 2 Birofax 49 3 Centrex 54 4 Dect 60 5 Edi 60 6 Fdm 57 7 Gopher 48 8 Humanware 46 9 Intacts 38 10 Jasnita 42 Rata-rata 50.5

50 Tabel 4.11 Hasil pengujian pencarian kata terpanjang No Pattern Running Time (ms) Running Time (ms) Algoritma Morris-Pratt Algoritma Horspool 1 Effective Address 33 36 2 Exchange battery 39 38 3 Facsimile system 40 37 4 Group frequency 37 35 5 Horizon distance 30 39 6 Hubungan transit 31 42 7 Image technology 40 47 8 Indirect addressing 32 35 9 Integrated digital network 34 38 10 Job control languange 35 35 Rata-rata 35.1 38.2 Tabel 4.12 Hasil pengujian pencarian kata terpendek No Pattern Running Time (ms) Algoritma Morris-Pratt Running Time (ms) Algoritma Horspool 1 Ac 55 70 2 Bar 44 63 3 Cc 51 62 4 Dbw 55 65 5 Egp 49 55 6 Fa 46 62 7 Gos 47 52 8 Hop 54 61 9 Ic 57 74 10 Jpdt 56 57 Rata-rata 51.4 62.1

51 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 70 Running Time (ms) untuk Urutan Pattern 60 50 40 30 20 10 0 Urutan Pattern Morris - Pratt Horspool Gambar 4.8. Perbandingan hasil running time Algoritma Morris - Pratt dan Algoritma Horspool Waktu 50 45 40 35 30 25 20 15 10 5 0 Running Time (ms) untuk Pattern Terpanjang Pattern Terpanjang Morris - Pratt Horspool Gambar 4.9. Perbandingan hasil running time pencarian kata terpanjang

52 Waktu 80 Running Time (ms) untuk Pattern Terpendek 70 60 50 40 30 20 10 0 Ac Bar Cc Dbw Egp Fa Gos Hop Ic Jpdt Morris - Pratt Horspool 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 Kompleksitas sebuah algoritma umumnya dapat diukur dari dua jenis kompleksitas, yaitu kompleksitas waktu dan kompleksitas ruang. Kompleksitas waktu pada sebuah algoritma berisi jumlah langkah dan ekspresi bilangan yang dibutuhkan sebagai fungsi dari ukuran permasalahan. Kompleksitas ruang berkaitan dengan sistem memori yang dibutuhkan untuk eksekusi sebuah program.

53 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 # 1 public static void premp() { 2 int i = 0; C1 1 C1 3 for(int j = mpnext[0] = -1; i < m; mpnext[i] = j) { 4 while(j > -1 && x[i]!= x[j]) { 5 j = mpnext[j]; } C2 m C2m C2 1 C2 C3 1 C3 6 ++i; C4 1 C4 7 ++j; } C4 1 C4 } Kompleksitas fase Preprocessing : Tmax (n) = C1+C2m +C2 + C3 + 2C4 = 1 + m + 1 + 1 + 2 = 5 + m = Ө (m)

54 Tabel 4.14 Kompleksitas fungsi fase pencarian algoritma Morris - Pratt Kode Program C # C x # public int MP(String pat, String text) { x = pat.tochararray(); C1 1 C1 y = text.tochararray(); C1 1 C1 n = text.length(); C1 1 C1 m = pat.length(); C1 1 C1 nilai = false; C1 1 C1 premp(); C2 1 C2 int j = 0; C1 1 C1 int i = 0; C1 1 C1 while(j < n) { C3 n C3n while(i > -1 && x[i]!= y[j]) { C3 m C3m i = mpnext[i]; } C1 1 C1 ++i; C4 1 C4 ++j; C4 1 C4 if(i >= m) { C5 1 C5 nilai = true; C1 1 C1 i = mpnext[i]; } } if(nilai) { return 1; } return 0; } } C1 1 C1 C6 1 C6 C7 1 C7 C7 1 C7

55 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 T(n) = Ө (m). Pada tabel 4.8 menjelaskan fase pencarian dan didapat kompleksitas algoritma Morris - Pratt adalah Ө (m+n). 4.4.2. Kompleksitas Algoritma Horspool Tabel 4.15. Kompleksitas fungsi fase preprocessing Algoritma Horspool Kode Program C # C x # 1 public class bmbc { 2 int []BmBc =new int[256]; C1 1 C1 3 public void prebmbc(string pat,int m,int[] QsBc){ 4 for(int i=0;i<256;i++) C2 256 256C2 5 bmbc[i] = m; C1 1 C1 6 for (int i = 0; i < m - 1; ++i) C2 m C2m 7 bmbc[pat.charat(i)] = m - i - 1; } C1 1 C1 Kompleksitas fase preprocessing: Tmax (m) = C1+256C2 + C1 +C2m+C1 = 3C1 + C2 (256+m) = 3 + 256 +m = 259 +m = Ө (m)

56 Tabel 4.16 Kompleksitas fungsi pencarian Algoritma Horspool Kode Program C # C x # public int search(string pat,string target){ int j=0; C1 1 C1 int m=pat.length(); C1 1 C1 int n=target.length(); C1 1 C1 prebmbc(pat, m, bmbc); C2 1 C2 while(j <= n - m){ C3 n C3n if(pat.compareto(target.substring(j,m+ C4 n C4n j))==0) { return j+ 1; C5 1 C5 } j+= bmbc[target.charat(j+m - 1)]; C6 n C6n } return -1; } } C5 1 C5 Kompleksitas fase pencarian: Tmax (n) = C1+ C1+ C1+C2 +C3n+C4n+C5+C6n+C5 = 3C1++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 T(n) = Ө (m) dan fase pencarian memiliki T(n) = Ө (n). Maka, didapat kompleksitas algoritma Horspool adalah Ө (n). Dari semua pembahasan diatas dapat disimpulkan bahwa algoritma Morris-Pratt lebih unggul daripada algoritma Horspool.

57 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 Ө(m+n) pada processing. Sedangkan kompleksitas algoritma Horspool adalah Ө(m) pada preprocessing dan Ө (n) pada processing. Hal ini membuktikan bahwa kompleksitas waktu untuk algoritma Horspool lebih besar dari algoritma Morris - Pratt sehingga mempengaruhi running time.

58 5.2 Saran 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. 3. Sistem ini sebaiknya dapat dikembangkan dengan menambah kosakata istilah Telekomunikasi dalam aplikasi.