Studi Perbandingan Kinerja Teoretis Dan Rill AlgoritmaExact String Matching Shift-And Chapter III V

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Analisis sistem adalah suatu bentuk penguraian suatu sistem informasi yang yang
lengkap ke dalam bagian-bagian komponennya dengan tujuan mengindentifikasi dan
mengevaluasi permasalahan, kesempatan, hambatan, serta kebutuhan yang diharapkan
sehingga dapat dilakukan usulan perbaikan untuk meningkatkan kualitas sistem yang
sudah

ada.

Analisis

sistem

adalah

pembelajaran


sebuah

sistem

dan

komponenkomponennya sebagai prasyarat desain sistem, spesifikasi sebuah sistem
yang baru dan diperbaiki. Analisis sistem ini juga merupakan suatu proses
mengumpulkan dan menginterpretasikan kenyataan – kenyataan yang ada,
mendiagnosa persoalan dan menggunakan keduanya untuk memperbaiki sistem
(Whitten et al. 2004).
Analisis sistem memiliki tiga fase untuk mendeskripsikan pengembangan sistem
yaitu, analisis masalah, analisis kebutuhan, dan analisis proses. Tujuan analisis masalah
adalah mempelajari dan memahami bidang masalah dengan cukup baik untuk secara
menyeluruh menganalisis masalah, kesempatan dan batasannya (Whitten et al. 2004).
Tujuan dari analisis kebutuhan adalah menjelaskan fungsi – fungsi yang ditawarkan dan
mampu dikerjakan oleh sistem, baik kebutuhan fungsional maupun nonfungsional.
Sementara itu, tujuan dari analisis proses adalah untuk memodelkan tingkah laku dari
sistem.


3.1.1. Analisis Masalah

Seperti yang sudah dijelaskan sebelumnya dalam latar belakang penulisan tugas akhir
ini, permasalahan yang akan diselesaikan dengan menggunakan sistem ini adalah
pencarian pseudocode dari suatu algoritma. Pencarian pseudocode akan diselesaikan

21
Universitas Sumatera Utara

22

menggunakan algoritma Shift-And atau Morris Pratt, tergantung pada algoritma yang
akan dipilih oleh user . Pseudocode algoritma yang terdapat dalam aplikasi ini disimpan
di dalam database sejumlah 100 entri.
Untuk mengidentifikasi masalah tersebut, penulis menggunakan Ishikawa
diagram (fishbone/cause-effect diagram). Ishikawa diagram adalah diagram yang

menunjukkan penyebab – penyebab dari sebuah even yang spesifik. Ishikawa diagram
diperkenalkan oleh Kaoru Ishikawa pada tahun 1968. Diagram ini umumnya digunakan

untuk mengidentifikasi faktor-faktor yang signifikan memberi efek pada sebuah even.
Ishikawa diagram pada sistem ini dapat dilihat pada Gambar 3.1.

Efisiensi Algoritma Shift-And dan MorrisPratt dalam Melakukan Pencarian Kata pada
Kamus Algoritma Pseudocode
Perhitungan nilai pergeseran
bit mask dan mpNext

Gambar 3.1. Ishikawa Diagram Sistem
Dari gambar diatas dapat dilihat bagaimana sistem akan memproses suatu
aktifitas pencarian pattern. User mencari pattern dengan mengharapkan waktu seefisien
mungkin. Kemudian pattern yang dicari akan di masukkan dalam metode yang
disediakan algoritma string matching. Beberapa faktor yang mempengaruhi proses
pencarian pattern adalah panjang pattern terlalu besar, software yang digunakan,
spesifikasi komputer/laptop yang digukan, dan sebagainya.

Universitas Sumatera Utara

23


3.1.2. Analisis Kebutuhan
Analisis kebutuhan terbagi atas dua bagian, yaitu kebutuhan fungsional dan kebutuhan
nonfungsional. Kebutuhan fungsional mendeskripsikan aktivitas yang disediakan suatu
sistem, sedangkan kebutuhan nonfungsional mendeskripsikan fitur, karakteristik dan
batasan lainnya (Whitten, et al. 2004).

3.1.2.1.

Kebutuhan Fungsional

Kebutuhan fungsional dari aplikasi Kamus Algoritma Pseudocode ini adalah:
1.

Aplikasi Kamus Algoritma Pseudocode akan menampilkan nama algoritma dari
pseudocode yang dicari oleh pengguna.

2.

Aplikasi Kamus Algoritma Pseudocode akan menampilkan lamanya waktu
pencarian dari masing – masing algoritma yang diimplementasikan di dalamnya.


3.

Aplikasi Kamus Algoritma Pseudocode akan menampilkan pseudocode lengkap
sesuai dengan nama algoritma yang dipilih pengguna.

3.1.2.2.

Kebutuhan Nonfungsional

Kebutuhan nonfungsional dari aplikasi Kamus Algoritma Pseudocode ini adalah:
1.

Perangkat lunak yang dibangun dapat menampilkan nama algoritma dan
pseudocode yang lengkap dari nama algoritma yang dimasukan oleh pengguna.

2.

Tampilan dari perangkat lunak yang dibangun bersifat ramah pengguna (user
friendly) dan sederhana.


3.

Perangkat lunak yang dibangun bersifat hemat biaya karena dapat digunakan tanpa
menggunakan koneksi internet dan tidak berbayar.

4.

Perangkat lunak yang dibangun memiliki panduan untuk penggunaannya.

5.

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

Universitas Sumatera Utara

24

3.1.3. Analisis Proses

Sistem yang akan dibangun mengizinkan pengguna untuk melakukan pemilihan
algoritma pencocokan string yang ingin digunakan. Sistem ini menggunakan algoritma
Shift-And dan Morris-Pratt dalam proses pencocokan string. Sistem akan melakukan
pencocokan kata yang dimasukkan oleh pengguna dengan pseudocode yang terdapat
dalam database. Kemudian, nama algoritma dari pseudocode yang sesuai dengan kata
masukan ditampilkan pada listbox, sementara itu jumlah nama algoritma yang cocok
serta lamanya waktu pencarian akan ditampilkan pada message box. Selanjutnya,
pengguna akan memilih nama algoritma pada listbox untuk menampilkan pseudocode
yang lengkap pada sistem.

3.2. Perancangan Sistem
Perancangan sistem adalah sebuah teknik pemecahan masalah yang saling melengkapi
(dengan analisis sistem) yang merangkai kembali bagian – bagian komponen menjadi
sebuah sistem yang lengkap (Whitten, 2004).
Perancangan sistem merupakan gambaran cara kerja sistem yang akan dibuat,
interaksi antarobjek yang terdapat pada sistem, serta hal yang harus dilakukan agar
sebuah sistem bisa berfungsi sesuai dengan keinginan dan kebutuhan pengguna. Dalam
perancangan sistem disertakan pemodelan sistem, flowchart, perancangan antarmuka
(interface), dan perancangan database.
Pada penelitian ini, bahasa pemodelan yang digunakan untuk mendesain dan

merancang aplikasi adalah UML (Unified Modelling Language). Model UML yang
digunakan antara lain adalah use-case diagram, activity diagram, dan sequence
diagram. Tahapan penelitian akan dilakukan seperti ilustrasi gambar dibawah ini.

Universitas Sumatera Utara

25

Gambar 3.2. Diagram ilustrasi tahap penelitian
Pada diagram ilustrasi tahap penelitian diatas dijelaskan bagaimana proses
penelitian berlangsung dimulai dari studi literatur yang bertujuan mencari algoritma
yang akan diteliti. Kemudian dilanjutkan dengan mengimplementasikan pada suatu
program hingga akhirnya dihasilkanlah hasil dan kesimpulan dari penelitian tersebut.
3.2.1. Pemodelan Sistem
3.2.1.1. Use-case Diagram
Use-case diagram adalah diagram yang mendeskripsikan interaksi antara user dengan

sistem. Use-case diagram menunjukkan tiga aspek dari sistem, yaitu: actor, use-case,
dan system/sub system boundary. Steoreotype adalah sebuah model khusus yang
terbatas untuk kondisi tertentu. Untuk menunjukkan stereotype digunakan simbol “” diakhirnya. digunakan untuk menunjukkan

bahwa satu use-case merupakan tambahan fungsional dari use-case lain jika kondisi
atau syarat tertentu yang terpenuhi. Sedangkan digunakan untuk
menggambarkan bahwa suatu use-case seluruhnya merupakan fungsionalitas dari usecase lainnya. Use-case diagram dari sistem yang akan dibangun dapat dilihat pada

Gambar 3.3.

Universitas Sumatera Utara

26

Gambar 3.3. Use-case Diagram Sistem
User mempunyai kontrol untuk melakukan beberapa fungsi yang diinginkan, yaitu

memilih algoritma pencocokan string yang akan digunakan dan menginput pattern yang
akan dicari. Dokumentasi naratif use-case algoritma Shift-And, Morris-Pratt,
pergeseran bit mask dan mpNext dapat dilihat pada Tabel 3.1., Tabel 3.2., Tabel 3.3.,
dan Tabel 3.4.

Tabel 3.1. Dokumentasi Naratif Use-case Algoritma Shift-And
Name


Algoritma Shift-And

Actor

User

Description

Mendeskripsikan jalannya proses pencarian kata pada database
dengan menggunakan algoritma Shift-And

Basic Flow

User memilih algoritma Shift-And sebagai algoritma pencocokan
string yang dipilih

Alternate Flow

User bisa melihat pseudocode berdasarkan nama algoritma tanpa


menginput kata
Pre Condition

Sistem menerima inputan pemilihan algoritma Shift-And sebagai
algoritma pencocokan string yang dipilih

Post Condition

Sistem menampilkan jumlah nama algoritma yang cocok dengan
inputan serta lamanya waktu pencarian pada message box, lalu

Universitas Sumatera Utara

27

setelah tombol OK pada message box ditekan, sistem akan
menampilkan nama algoritma yang cocok dengan inputan pada
listbox

Tabel 3.2. Dokumentasi Naratif Use-case Algoritma Morris-Pratt
Name

Algoritma Morris-Pratt

Actor

User

Description

Mendeskripsikan jalannya proses pencarian kata pada database
dengan menggunakan algoritma Morris-Pratt

Basic Flow

User

memilih

algoritma

Morris-Pratt

sebagai

algoritma

pencocokan string yang dipilih
Alternate Flow

User bisa melihat pseudocode berdasarkan nama algoritma tanpa

menginput kata
Pre Condition

Sistem menerima inputan pemilihan algoritma Morris-Pratt
sebagai algoritma pencocokan string yang dipilih

Post Condition

Sistem menampilkan jumlah nama algoritma yang cocok dengan
inputan serta lamanya waktu pencarian pada message box, lalu
setelah tombol OK pada message box ditekan, sistem akan
menampilkan nama algoritma yang cocok dengan inputan pada
listbox

Tabel 3.3. Dokumentasi Naratif Use-case Pergeseran bit mask
Name

Perhitungan Tabel bit mask

Actor

User

Description

Mendeskripsikan jalannya proses pergeseran tabel pergeseran bit
mask untuk algoritma Shit-And

Basic Flow

User memilih algoritma Shift-And sebagai algoritma pencocokan
string yang dipilih
User memasukkan kata yang ingin dicari

Alternate Flow

-

Universitas Sumatera Utara

28

Pre Condition

1. Sistem menerima inputan pemilihan algoritma Shift-And
sebagai algoritma pencocokan string yang dipilih
2. Sistem menerima inputan berupa kata yang ingin dicari

Post Condition

Sistem melakukan perhitungan tabel pergeseran bit mask lalu
menyimpan nilainya dalam array

Tabel 3.4. Dokumentasi Naratif Use-case Perhitungan Tabel mpNext
Name

Perhitungan Tabel mpNext

Actor

User

Description

Mendeskripsikan jalannya proses perhitungan tabel pergeseran
mpNext untuk algoritma Morris-Pratt

Basic Flow

User

memilih

algoritma

Morris-Pratt

sebagai

algoritma

pencocokan string yang dipilih
User memasukkan kata yang ingin dicari
Alternate Flow

-

Pre Condition

1. Sistem menerima inputan pemilihan algoritma Morris-Pratt
sebagai algoritma pencocokan string yang dipilih
2. Sistem menerima inputan berupa kata yang ingin dicari

Post Condition

Sistem melakukan perhitungan tabel pergeseran mpNext dan
menyimpan nilainya dalam array

3.2.1.2. Activity Diagram
Activity diagram adalah sebuah diagram yang dapat digunakan untuk menggambarkan

secara grafis aliran proses bisnis, langkah – langkah sebuah use-case, dan logika
behaviour (metode) objek. Diagram aktivitas ini serupa dengan flowchart dimana

secara grafis diagram ini menggambarkan aliran sekuensial dari kegiatan seperti proses
bisnis atau sebuah use-case. Diagram ini juga berbeda dengan flowchart dimana
diagram ini menyediakan sebuah mekanisme untuk menggambarkan kegiatan yang
tampak secara paralel. (Whitten, 2004).

Universitas Sumatera Utara

29

Activity Diagram dari sistem yang akan dibuat dapat dilihat pada Gambar 3.4.
User

Sistem

Buka Halaman Utama

Pilih Bantuan

Tampilkan halaman Bantuan
*

Pilih Tentang

*
*

Tampilkan halaman Tentang
*

*
*

Pilih Algoritma String Matching
*
*
Tampilkan halaman Algoritma String Matching
*
* *

*

Input pattern yang akan dicari

*

Pencocokan pattern inputan dengan database

*
Tampilkan hasil iterasi dan running time

Pilih algoritma yang dicari berdasarkan daftar algoritma hasil
Pilih lagu yang dicari berdasarkan daftar lagu hasil iterasi
iterasi

Tampilkan
Tampilkan lirik lagu
Peseudocode

*

*

Gambar 3.4. Activity Diagram Sistem

Universitas Sumatera Utara

30

3.2.1.3.

Sequence Diagram

Sequence diagram adalah diagram yang memodelkan logika sebuah use-case dengan

cara menggambarkan interaksi pesan di antara objek – objek dalam rangkaian waktu
(Whitten, 2004).
Sequence diagram dari sistem yang akan dibuat dapat dilihat pada Gambar 3.5.

Halaman Algoritma String
Matching

Halaman Utama

Pseudocode
gitasorgawi

Halaman Bantuan

Halaman Tentang

User
Memilih halaman Algoritma String Matching

Menampilkan halaman Algoritma String Matching

Masukkan teks yang akan dicari
Membaca seluruh data
Hasil pencarian
Menampilkan hasil pencarian dan running time

Memilih halaman Bantuan

Menampilkan halaman Bantuan

Memilih halaman Tentang

Menampilkan halaman Bantuan

Gambar 3.5. Sequence Diagram Sistem

Universitas Sumatera Utara

31

3.2.2. Flowchart
Flowchart atau diagram alir merupakan gambar atau bagan yang memperlihatkan

urutan dan hubungan antar proses dengan pernyataannya (Zarlis, 2008).

3.2.2.1.

Flowchart preShift-And

Flowchart fungsi preSA pada fase preprocessing algoritma Shift-And bisa dilihat pada

Gambar 3.6. di bawah ini.

Gambar 3.6. Flowchart preSA

Universitas Sumatera Utara

32

Keterangan Gambar 3.6:
p= pattern inputan
m = panjang pattern
S [] = array yang menampung nilai shift dari pattern
i = indeks dari karakter ke-n pada pattern
ASIZE = ASCII SIZE, jumlah kode ASCII

3.2.2.2.

Flowchart pre-MP

Flowchart fungsi pre-MP pada fase preprocessing algoritma Morris-Pratt bisa dilihat

pada Gambar 3.7. di bawah ini.

Universitas Sumatera Utara

33

Gambar 3.7. Flowchart pre-MP

Universitas Sumatera Utara

34

Keterangan Gambar 3.7:
x = pattern inputan
m = panjang pattern
mpNext [] = array yang menampung nilai mpNext dari pattern
i = indeks dari karakter ke-n pada pattern
j = indeks dari karakter ke-n pada teks

3.2.2.3.

Flowchart Algoritma Shift-And

Flowchart algoritma Shift-And bisa dilihat pada Gambar 3.8. di bawah ini.

Universitas Sumatera Utara

35

Gambar 3.8. Flowchart Algoritma Shift-And

Universitas Sumatera Utara

36

Keterangan Gambar 3.8:
x = pattern inputan
y = teks
m = panjang pattern
n = panjang teks
preSA = fungsi preSA untuk fase preprocessing algoritma Shift-And
State = bit mask yang disisipkan
i = indeks dari karakter ke-n pada pattern
j = indeks dari karakter ke-n pada teks

3.2.2.4.

Flowchart Algoritma Morris-Pratt

Flowchart algoritma Morris-Pratt bisa dilihat pada Gambar 3.9. di bawah ini.

Universitas Sumatera Utara

37

Gambar 3.9. Flowchart Algoritma Morris-Pratt

Universitas Sumatera Utara

38

Keterangan Gambar 3.9:
x = pattern inputan
y = teks
m = panjang pattern
n = panjang teks
pre-MP = fungsi pre-MP untuk fase preprocessing algoritma Morris-Pratt
i = indeks dari karakter ke-n pada pattern
j = indeks dari karakter ke-n pada teks

3.2.3. Perancangan Antarmuka (Interface)
Secara umum, sistem yang akan dibangun memiliki beberapa halaman sebagai berikut.
1.

Halaman Utama
Halaman utama merupakan tampilan awal ketika aplikasi pertama kali dijalankan.
Pada halaman ini akan ditampilkan logo aplikasi, tab “algoritma” yang berfungsi
untuk memilih algoritma pencarian yang akan digunakan, tab “tentang” yang berisi
penjelasan tentang aplikasi, serta tab “bantuan” yang berisi penjelasan cara
penggunaan aplikasi.
Rancangan halaman utama aplikasi yang akan dibuat bisa dilihat pada Gambar
3.10. berikut.

Universitas Sumatera Utara

39

KAMUS ALGORITMA-PSEUDOCOE

Algoritma String Matching

Tentang

1

Bantuan

2

Logo
3

Gambar 3.10. Rancangan Tampilan Halaman Utama
Keterangan Gambar:
1. Bagian atas form yang berisi nama aplikasi yang akan dibuat yaitu KAMUS
ALGORITMA-PSEUDOCODE.

2.

2.

Menu Strip, memuat tab algoritma string matching, tentang, dan bantuan.

3.

PictureBox, berisi logo dari aplikasi yang akan dibuat.

Halaman Tentang
Halaman ini berisi informasi mengenai aplikasi yang akan dibuat. Rancangan
halaman tentang aplikasi dapat dilihat pada Gambar 3.11. berikut.

Universitas Sumatera Utara

40

Tentang
Logo
1

Informasi mengenai aplikasi
2

Gambar 3.11. Rancangan Tampilan Halaman Tentang
Keterangan Gambar:

3.

1.

PictureBox, memuat logo dari aplikasi yang akan dibuat.

2.

TextBox, memuat informasi mengenai penulis sebagai pembuat aplikasi.

Halaman Bantuan
Halaman ini berisi informasi mengenai cara penggunaan aplikasi yang akan dibuat.
Rancangan halaman bantuan aplikasi dapat dilihat pada Gambar 3.12. berikut.
Bantuan
Logo
1

Informasi mengenai cara penggunaan aplikasi

2

Gambar 3.12. Rancangan Tampilan Halaman Bantuan

Universitas Sumatera Utara

41

Keterangan Gambar:
1. PictureBox, memuat logo dari aplikasi yang akan dibuat.
2. TextBox, memuat informasi mengenai cara penggunaan aplikasi yang akan
dibuat.
4.

Halaman Algoritma String Matching
Halaman ini merupakan halaman pencarian pseudocode menggunakan algoritma
Shift-And dan Morris-Pratt. Rancangan tampilan halaman Algoritma String
Matching yang akan dibuat dapat dilihat pada Gambar 3.13. berikut.

Algoritma String Matching
Cari

1

Reset
2

Shift-And

Morris-Pratt
3

Daftar Algoritma

Daftar Algoritma

Kata ditemukan!
4

Hasil :

4

Waktu Pencarian : ms

Waktu Pencarian : ms
5

Gambar 3.13. Rancangan Tampilan Halaman Algoritma String Matching
Keterangan Gambar:
1. TextView, merupakan tempat dimana pengguna bisa memasukkan kata yang
ingin dicari.
2. Button Cari dan Reset, button Cari merupakan tombol yang memicu terjadinya
proses pencocokan string menggunakan algoritma Shift-And dan Morris-Pratt

Universitas Sumatera Utara

42

sedangkan button Reset merupakan tombol yang memicu sistem untuk
menampilkan ulang halaman Algoritma String Matching.
3. ListBox, saat belum ada kata yang dimasukkan pada (1) bagian ini akan berisi
semua daftar nama algoritma yang terdapat dalam database. Namun, saat proses
pencarian sudah selesai, bagian ini akan berisi daftar nama algoritma yang
mengandung kata yang dicari di dalamnya.
4. Message Box, menampilkan jumlah nama algoritma yang cocok dengan inputan
serta lamanya waktu pencocokan string pada algoritma tersebut untuk masing –
masing kata yang dicari.
5. TextBox, menampilkan waktu pencarian untuk masing – masing algoritma.
6. Halaman Pseudocode
Halaman ini merupakan halaman yang menampilkan pseudocode yang lengkap
sesuai dengan nama algoritma yang cocok dan dipilih user sebelumnya. Rancangan
tampilan halaman pseudocode yang akan dibuat dapat dilihat pada Gambar 3.14.
berikut.

Pseudocode
Nama Algoritma

1

2

Pseudocode

Gambar 3.14. Rancangan Tampilan Halaman Pseudocode

Universitas Sumatera Utara

43

Keterangan Gambar:
1. Label, menampilkan nama algoritma yang dipilih pengguna. Bagian ini
berhubungan dengan database.
2. TextBox, menampilkan pseudocode dari nama algoritma yang dipilih pengguna.
Bagian ini berhubungan dengan database
3.2.4. Perancangan Database
Database Management System yang akan digunakan pada aplikasi yang akan dibangun

adalah MySQL. Struktur database yang akan digunakan dapat dilihat pada Tabel 3.5.
berikut ini.
Tabel 3.5. Perancangan Database
Table

Column(s)

algo_pseudocode Id

Type

Description

int(10);

Menjadi

penanda

(id)

AUTO_INCREMENT, bahwa data yang satu
primary key

berbeda dengan data yang
sekalipun

ada

kemungkinan

isinya

identik.
nama_al

varchar(100)

Nama dari algoritma yang
terdapat

dalam

Kamus

algoritma pseudocode.
Isi

Text

Pseudocode yang lengkap

dari

algoritma

terdapat

dalam

yang
Kamus

algoritma pseudocode.

Universitas Sumatera Utara

BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1.

Implementasi Sistem

Implementasi sistem bertujuan untuk merealisasikan hal – hal yang sudah dijabarkan
sebelumnya pada bab analisis dan perancangan sistem. Sistem yang dibangun akan
melakukan kerja utamanya, yaitu melakukan pencarian pseudocode pada studi kasus
Kamus

Algoritma-Pseudocode.

Sistem

ini

dibangun

menggunakan

bahasa

pemrograman Visual Basic 2015 pada perangkat lunak Microsoft Visual Studio 2015
Version 11.0.50727.1 RTMREL dengan Microsoft .NET Framework Version
4.5.51209, sedangkan database dari sistem ini dibuat dengan perangkat lunak XAMPP
v3.2.2 dengan server type MySQL version 5.6.28 dan phpMyAdmin version 4.4.14.
Keduanya dikoneksikan dengan menggunakan perangkat lunak MySQL for Visual
Studio version 1.2.6.
Aplikasi ini terdiri dari lima form utama, yaitu form Beranda, form Algoritma
String Matching, form Pseudocode, form Tentang, dan form Bantuan.

4.1.1. Form Beranda
Form Beranda merupakan form yang pertama kali dilihat oleh user ketika aplikasi
dijalankan. Form ini akan mengarahkan user menuju form Algoritma String Matching,
form Tentang, dan form Bantuan. Tampilan form Beranda dapat dilihat pada Gambar
4.1.

44
Universitas Sumatera Utara

45

Gambar 4.1. Form Beranda
Pada Gambar 4.1. dapat dilihat bahwa form Beranda terdiri dari tiga menu strip,
yaitu Algoritma String Matching, Tentang, dan Bantuan. Masing – masing menu strip
ini akan mengarahkan user ke form yang berbeda apabila diclick. Selain dengan
melakukan click pada masing – masing menu strip, menu ini juga diberi fasilitas
shortcut key yang diinput dari keyboard. Shortcut key dari masing – masing menu strip

adalah sebagai berikut.
1.

Alt + A lalu Enter, mengarahkan user menuju form Algoritma String Matching.

2.

Alt + T, mengarahkan user menuju form Tentang.

3.

Alt + B, mengarahkan user menuju form Bantuan.

Pada form ini juga disertakan logo dari aplikasi yang dibuat.

Universitas Sumatera Utara

46

4.1.2. Form Algoritma String Matching
Form Algoritma String Matching merupakan form yang menjalankan proses pencarian
pseudocode dari algoritma yang dicari, sesuai dengan tujuan pembuatan aplikasi ini.

Tampilan dari form Algoritma String Matching dapat dilihat pada Gambar 4.2. berikut.

Gambar 4.2. Form Algoritma String Matching
Form ini diatur untuk berada tepat pada bagian tengah layar saat dijalankan. Saat
proses pencarian belum dilakukan, seluruh nama algoritma dalam database ditampilkan
pada kedua listbox untuk masing – masing algoritma yang akan dibandingkan. Pada
Gambar 4.2. dapat dilihat bahwa user dapat memasukkan kata yang ingin dicari pada
textbox yang bertuliskan isikan algoritma yang dicari.

Saat tombol Cari ditekan, sistem akan melakukan pencarian kata pada database.
Nama algoritma dari kata inputan yang terkandung dalam kolom “nama_algo” pada
database akan ditampilkan pada masing – masing listbox, sesuai dengan algoritma
pencarian yang digunakan, yaitu algoritma Shift-And dan Morris-Pratt. Waktu
pencarian kata untuk masing – masing algoritma akan ditampilkan pada textbox di

Universitas Sumatera Utara

47

bawahnya. Textbox yang memuat waktu pencarian diatur agar tidak bisa diubah isinya
oleh user (read only).
Sementara itu, jika tombol Reset ditekan, listbox akan kembali menampilkan
seluruh nama algoritma pada database. Selanjutnya, apabila salah satu nama algoritma
dari daftar yang terdapat dalam listbox ditekan, user akan diarahkan menuju form
Pseudocode.

4.1.3. Form Pseudocode
Form Pseudocode merupakan form yang menampilkan pseudocode dari nama
algoritma yang dipilih pada listbox yang terdapat di form Algoritma Pencocokan String.
Tampilan dari form Pseudocde dapat dilihat pada Gambar 4.3. berikut.

Gambar 4.3. Form Pseudocode

Universitas Sumatera Utara

48

Pada form Pseudocode dilakukan pengaturan apabila form ini sedang terbuka, user
tidak akan bisa menuju form lain sebelum form ini ditutup. Pada Gambar 4.3.,
ditampilkan nama algoritma “HEAP SORT” dan pseudocode tersebut pada textbox di
bawahnya. Penulis menggunakan textbox agar lirik lagu yang panjang bisa tetap
ditampilkan oleh sistem. Textbox ini diatur agar tidak bisa diubah isinya oleh user (read
only).

4.1.4. Form Tentang
Form ini merupakan form yang akan memberi informasi kepada user mengenai aplikasi
yang dibangun. Tampilan dari form Tentang bisa dilihat pada Gambar 4.4. berikut.

Gambar 4.4. Form Tentang

Universitas Sumatera Utara

49

Form ini diberi pengaturan apabila form ini sedang terbuka, user tidak akan bisa menuju
form lain sebelum form ini ditutup. Pada Gambar 4.4. dapat dilihat bahwa form ini berisi
logo dari aplikasi serta informasi mengenai pembuat aplikasi, yaitu penulis sendiri
beserta dengan judul dari penelitian ini.
4.1.5. Form Bantuan
Form ini merupakan form yang akan memberi informasi kepada user mengenai cara
penggunaan aplikasi yang dibangun. Tampilan dari form Bantuan bisa dilihat pada
Gambar 4.5. berikut.

Gambar 4.5. Form Bantuan

Form ini diberi pengaturan apabila form ini sedang terbuka, user tidak akan bisa
menuju form lain sebelum form ini ditutup. Pada Gambar 4.5. dapat dilihat bahwa form
ini berisi logo dari aplikasi serta informasi mengenai cara penggunaan aplikasi yang
dibangun. Cara penggunaan ditampilkan dalam sebuah textbox karena isinya cukup
panjang. Textbox ini diatur agar tidak bisa diubah isinya oleh user (read only).

Universitas Sumatera Utara

50

4.1.6. Database
Bagian ini menunjukkan database yang digunakan dalam aplikasi ini. Struktur database
yang dibangun untuk aplikasi ini bisa dilihat pada Gambar 4.6. berikut.

Gambar 4.6. Struktur Database
Database yang digunakan pada aplikasi ini diberi nama “algo_pseudocode”.
Database ini berisi satu buah tabel dengan nama yang sama, yaitu “algoritma”. Tabel
ini berisi tiga buah kolom, yaitu kolom “id”, “nama_algo”, dan “isi”. Untuk pengaturan
dari database yang digunakan sudah tertera sebelumnya pada bab analisis dan
perancangan sistem. Database “algo_pseudocode” dapat dilihat pada Gambar 4.7.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Gambar 4.7. Database Algoritma-Pseudocode

Universitas Sumatera Utara

51

4.2.

Pengujian Sistem

Pengujian sistem dilakukan dengan tujuan membuktikan bahwa sistem yang dibangun
dapat berjalan dengan baik sesuai dengan analisis dan perancangan sistem yang telah
dibuat sebelumnya.
Untuk melakukan pengujian terhadap sistem, dibutuhkan perangkat keras yang
mendukung kinerja pengujian. Spesifikasi dari perangkat keras yang digunakan adalah :
1. Processor : Intel(R) Core(TM) i3-2330M CPU @ 2.20GHz
2. RAM 6.00 GB
3. Sistem Operasi Windows 10 Pro 64-bit
Database dari aplikasi ini memiliki 100 entri nama algoritma yang akan dicek setiap
kali user memasukkan sebuah kata yang ingin dicari. Untuk mengetahui bahwa proses
pencocokan yang dilakukan berjalan dengan baik dan memiliki hasil yang benar,
dilakukan tes pencocokan secara manual. Tabel 4.1. di bawah ini menujukkan sampel
isi lagu yang terdapat dalam database. Kata yang menjadi Pattern adalah ‘sort’.
Tabel 4.1. Sampel Algoritma-Pseudocode pada Database
For I = 0 to N - 2
For J = 0 to N - 2
If (A(J) > A(J + 1)
Temp = A(J)
11

BUBBLE SORT

A(J) = A(J + 1)
A(J + 1) = Temp
End-If
End-For
End-For

Universitas Sumatera Utara

52

For I = 0 to N-1 do:
Smallsub = I
For J = I + 1 to N-1 do:
If A(J) < A(Smallsub)
Smallsub = J
12

SELECTION
SORT

End-If
End-For
Temp = A(I)
A(I) = A(Smallsub)
A(Smallsub) = Temp
End-For

4.2.1. Pengujian Algoritma Shift-And
Sebelum melakukan proses pencocokan, algoritma Shift-And memiliki tahap
preprocessing. Pada fase ini pattern yang akan dicari urutkan berdasarka abjad dan

menggunakan bit dari setiap karakter yang akan dicari, setiap karakter diubah menjadi
bit dan menggunakan bit mask. Panjang jumlah bit ditentukan seberapa banyak karakter
pattern yang akan dicocokan pada teks. Dengan D hasil dari And proses. Tabel bit mask

untuk pattern ‘sort’ dapat dilihat pada Tabel 4.2. berikut ini.

Universitas Sumatera Utara

53

Tabel 4.2. Nilai bit mask untuk Pattern ‘sort’

B

D

O

0

0

1

0

R

0

1

0

0

S

0

0

0

1

T

1

0

0

0

*

0

0

0

0

=

0

0

0

0

Pada proses pencarian pertama, pattern akan dicocokkan dengan nama
algoritma

dari

algoritma

BUBBLE

SORT.

Untuk

menghindari

terjadinya

ArrayIndexOutOfBound, setiap nama algoritma mengalami penambahan karakter ‘0’

yang ditambahkan melalui program pada sistem yang dibuat, tetapi penambahan ini
tidak ditampilkan kepada user . Selanjutnya, proses pencocokan string dilakukan.

D disisipkan 1 pada akhir bit
Fase 1
(reading B)

0

0

0

1

0

0

0

0

D

0

0

0

0

Hasil And dari Fase 1 : D= 000000 , ini berarti bahwa karakter yang
ditemukan tidak sesuai dengan pattern.
D disisipkan 1 pada akhir bit

Fase 2
(reading U)

0

0

0

1

0

0

0

0

D

0

0

0

0

Universitas Sumatera Utara

54

Hasil And dari Fase 2 : D= 000000 , ini berarti bahwa karakter yang
ditemukan tidak sesuai dengan pattern.
D disisipkan 1 pada akhir bit

Fase 3
(reading B)

0

0

0

1

0

0

0

0

D

0

0

0

0

Hasil And dari Fase 3 : D= 000000 , ini berarti bahwa karakter yang
ditemukan tidak sesuai dengan pattern.
D disisipkan 1 pada akhir bit

Fase 4
(reading B)

0

0

0

1

0

0

0

0

D

0

0

0

0

Hasil And dari Fase 4 : D= 000000 , ini berarti bahwa karakter yang
ditemukan tidak sesuai dengan pattern.
D disisipkan 1 pada akhir bit

Fase 5
(reading L)

0

0

0

1

0

0

0

0

D

0

0

0

0

Hasil And dari Fase 5 : D= 000000 , ini berarti bahwa karakter yang
ditemukan tidak sesuai dengan pattern.
D disisipkan 1 pada akhir bit

Universitas Sumatera Utara

55

Fase 6
(reading E)

0

0

0

1

0

0

0

0

D

0

0

0

0

Hasil And dari Fase 6 : D= 000000 , ini berarti bahwa karakter yang
ditemukan tidak sesuai dengan pattern.
D disisipkan 1 pada akhir bit
Fase 7
(reading
space)

0

0

0

1

0

0

0

0

D

0

0

0

0

Hasil And dari Fase 7 : D= 000000 , ini berarti bahwa karakter yang
ditemukan tidak sesuai dengan pattern.
D disisipkan 1 pada akhir bit

Fase 8
(reading S)

0

0

0

1

0

0

0

1

D

0

0

0

1

Hasil And dari Fase 8 : D= 000001 , ini berarti bahwa karakter yang
ditemukan sesuai dengan pattern.
D disisipkan 1 pada akhir bit

Fase 9
(reading O)

0

0

1

1

0

0

1

0

D

0

0

1

0

Universitas Sumatera Utara

56

Hasil And dari Fase 9 : D= 000010 , ini berarti bahwa karakter yang
ditemukan sesuai dengan pattern.
D disisipkan 1 pada akhir bit

Fase 10
(reading R)

0

1

0

1

0

1

0

0

D

0

1

0

0

Hasil And dari Fase 10 : D= 000100 , ini berarti bahwa karakter yang
ditemukan sesuai dengan pattern.
D disisipkan 1 pada akhir bit

Fase 11
(reading T)

1

0

0

1

1

0

0

0

D

1

0

0

0

Hasil And dari Fase 11 : D= 001000 , ini berarti bahwa karakter yang
ditemukan sesuai dengan pattern.
D disisipkan 1 pada akhir bit

Pattern ditemukan pada bit mask mencapai keseluruhan karakter pada pattern

yang dicari. Pattern ditemukan dalam 11 fase pencarian dan posisi pattern di temukan
di fase delapan. Proses pencarian akan terus dilakukan hingga text berakhir.

4.2.2. Pengujian Algoritma Morris-Pratt
Sebelum melakukan proses pencocokan, algoritma Morris-Pratt memiliki tahap
preprocessing untuk menentukan nilai pergeseran. Tahapan untuk membuat tabel nilai

pergeseran mpNext pada fase preprocessing algoritma Morris-Pratt sudah dipaparkan

Universitas Sumatera Utara

57

sebelumnya pada bab kedua. Tabel pergeseran mpNext untuk pattern ‘sort’ dapat dilihat
pada Tabel 4.3. berikut ini.
Tabel 4.3. Nilai Pergeseran mpNext untuk Pattern ‘sort’
I

0

1

2

3

6

x[i]

S

O

R

T

*

mpNext[i]

-1

0

0

0

1

Pada proses pencarian pertama, pattern akan dicocokkan dengan nama
algoritma dari dari algortitma berjudul BUBBLE SORT. Untuk menghindari terjadinya
ArrayIndexOutOfBound, setiap nama algoritma mengalami penambahan karakter ‘0’

yang ditambahkan melalui program pada sistem yang dibuat, tetapi penambahan ini
tidak ditampilkan kepada user . Selanjutnya, proses pencocokan string dilakukan.
B U B B L E
0

S O R T

1

S O R T

Shift = 0 – mpNext [0] = 0 – –1 = 1
B U B B L E
0

S O R T

1

S O R T

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

Universitas Sumatera Utara

58

B U B B L E
0

1

S

O R T

S O R T

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

B U B B L E
0

S O R T

1

S O R T

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

B U B B L E
0

S O R T

1

S O R T

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

B U B B L E
0

S O R T
1

S O R T

Universitas Sumatera Utara

59

Shift = 0 – mpNext [0] = 0 – -1 = 1
B U B B L E

S O R T
0

1

S O R T

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

B U B B L E

S O R T
0 1 2 3
S O R T

Shift = 3 – mpNext [3] = 3 – 0 = 3

Pada percobaan kedelapan, pattern sudah sesuai dengan karakter pada teks.
Algoritma Morris-Pratt akan terus melakukan pencarian hingga karakter pada teks
berakhir.
4.2.3. Analisis Kompleksitas Algoritma pada Sistem
Running time dari sebuah algoritma dengan masukan tertentu adalah jumlah operasi

primitif atau “langkah – langkah” yang dieksekusi. Jumlah waktu yang konstan
diperlukan untuk mengeksekusi setiap baris dari pseudocode kita. Sebuah baris
mungkin memiliki jumlah waktu yang berbeda dengan baris lainnya, namun kita akan
mengasumsikan bahwa setiap eksekusi dari baris ke-i menghabiskan waktu sejumlah ci,
dimana ci bersifat konstan.

Universitas Sumatera Utara

60

Contoh :
INSERTION-SORT(A)

cost

times

1

c1

n

c2

n–1

for j = 2 to A.length

2

key = A[j]

3

//Masukkan A[j] ke dalam urutan 0

n–1

A[1..j – 1].
4

i=j–1

c4

5

while i > 0 dan A[i] > key

c5

6

7

8

A[i + 1] = A[i]

i=i–1

A[i + 1] = key

c6

c7

c8

n–1


∑ ��
�=2



∑ �� − 1
�=2


∑ �� − 1
�=2

n–1

Running time dari sebuah algoritma adalah hasil penjumlahan dari running time

setiap statement yang dieksekusi; sebuah statement memiliki sejumlah ci langkah untuk
dieksekusi dan mengeksekusi sejumlah n kali akan menambahkan cin ke dalam running
time total. Untuk menghitung T(n), running time dari INSERTION-SORT pada

masukan sejumlah n, kita menjumlahkan kolom cost dan times, yang menghasilkan :
T(n) = c1n + c2(n – 1) + c4(n – 1) + c5 ∑��=2 �� + c6 ∑��=2 �� − 1 + c7 ∑��=2 �� − 1
+ c8 (n – 1).

(Cormen, 2009).

Universitas Sumatera Utara

61

4.2.3.1. Analisis Kompleksitas Fase Preprocessing Shift-And
Public Sub preSA(p)
p = Cari.Text.ToUpper
m = p.Length
Dim temp As Integer
flag = 0
For i = 0 To 255
S(i) = 0
Next i
For i = 0 To m – 1
temp = Asc(p(i))
S(temp) = S(temp) Or (1 = m) Then
result2 = 1
i = mpNext(i)
End If
End While
Return result2
End Function

cost
C1
C1
C1
C2
C3

times
1
1
1
n
n

cost.times
C1
C1
C1
C2n
C2n

C1

n

C1n

C1
C1

n
n

C1n
C1n

C4
C1
C1

n
n
n

C3n
C1n
C1n

C5

1

C5

T(n)
= 3C1 + C5 + (2C2 + 5C1 + C4)n
Asumsikan nilai C konstan ( nilai C diabaikan )
=5+8n
= Ө(n)
Hasil pengujian sistem untuk beberapa sampel kata dapat dilihat pada tabel 4.4 berikut
ini.

Tabel 4.4 Hasil Pengujian Sistem

No.

Pattern

Gambar Hasil

Waktu Pencarian (ms)
Result

Pencarian

Shift – And

Morris - Pratt

1.

gcd

Gambar 4.8

94

62

Tidak ditemukan

2.

algo

Gambar 4.9

94

78

ditemukan

Universitas Sumatera Utara

64

3.

sort

Gambar 4.10

94

63

ditemukan

4.

quick

Gambar 4.11

93

63

ditemukan

5.

INsert

Gambar 4.12

141

62

ditemukan

6.

enkripsi

Gambar 4.13

141

47

ditemukan

7.

vigenere

Gambar 4.14

109

47

ditemukan

8.

algoritma

Gambar 4.15

101

59

Tidak ditemukan

9.

cek algoritma

Gambar 4.16

125

62

Tidak ditemukan

10.

brute force

Gambar 4.17

109

47

ditemukan

110.1

59

-

Rata-rata waktu hasil pencarian

Universitas Sumatera Utara

65

Gambar 4.8 Hasil Pencarian Pattern No. 1 Pada Tabel 4.4
Gambar diatas menjelaskan hasil pencarian dari pattern nomor 1 pada Tabel 4.4 dimana
kata tidak ditemukan dengan running time pada pencarian shift-and adalah 94 ms dan
running time pada morris-pratt adalah 62 ms.

Gambar 4.9 Hasil Pencarian Pattern No. 2 Pada Tabel 4.4
Gambar diatas menjelaskan hasil pencarian dari pattern nomor 2 pada Tabel 4.4 dimana
kata ditemukan dengan running time pada pencarian shift-and adalah 94 ms dan running
time pada morris-pratt adalah 78 ms dengan total hasil pencarian sebanyak 21 hasil.

Universitas Sumatera Utara

66

Gambar 4.10 Hasil Pencarian Pattern No. 3 Pada Tabel 4.4
Gambar diatas menjelaskan hasil pencarian dari pattern nomor 3 pada Tabel 4.4 dimana
kata ditemukan dengan running time pada pencarian shift-and adalah 94 ms dan running
time pada morris-pratt adalah 63 ms dengan total hasil pencarian sebanyak 15 hasil.

Gambar 4.11 Hasil Pencarian Pattern No. 4 Pada Tabel 4.4
Gambar diatas menjelaskan hasil pencarian dari pattern nomor 4 pada Tabel 4.4 dimana
kata ditemukan dengan running time pada pencarian shift-and adalah 93 ms dan running
time pada morris-pratt adalah 63 ms dengan total hasil pencarian sebanyak 3 hasil.

Universitas Sumatera Utara

67

Gambar 4.12 Hasil Pencarian Pattern No. 5 Pada Tabel 4.4
Gambar diatas menjelaskan hasil pencarian dari pattern nomor 5 pada Tabel 4.4 dimana
kata ditemukan dengan running time pada pencarian shift-and adalah 141 ms dan
running time pada morris-pratt adalah 62 ms dengan total hasil pencarian sebanyak 1

hasil.

Gambar 4.13 Hasil Pencarian Pattern No. 6 Pada Tabel 4.4
Gambar diatas menjelaskan hasil pencarian dari pattern nomor 6 pada Tabel 4.4 dimana
kata ditemukan dengan running time pada pencarian shift-and adalah 141 ms dan
running time pada morris-pratt adalah 47 ms dengan total hasil pencarian sebanyak 2

hasil.

Universitas Sumatera Utara

68

Gambar 4.14 Hasil Pencarian Pattern No. 7 Pada Tabel 4.4
Gambar diatas menjelaskan hasil pencarian dari pattern nomor 7 pada Tabel 4.4 dimana
kata ditemukan dengan running time pada pencarian shift-and adalah 109 ms dan
running time pada morris-pratt adalah 47 ms dengan total hasil pencarian sebanyak 2

hasil.

Gambar 4.15 Hasil Pencarian Pattern No. 8 Pada Tabel 4.4
Gambar diatas menjelaskan hasil pencarian dari pattern nomor 8 pada Tabel 4.4 dimana
kata tidak ditemukan dengan running time pada pencarian shift-and adalah 101 ms dan
running time pada morris-pratt adalah 59 ms.

Universitas Sumatera Utara

69

Gambar 4.16 Hasil Pencarian Pattern No. 9 Pada Tabel 4.4
Gambar diatas menjelaskan hasil pencarian dari pattern nomor 9 pada Tabel 4.4 dimana
kata tidak ditemukan dengan running time pada pencarian shift-and adalah 125 ms dan
running time pada morris-pratt adalah 62 ms.

Gambar 4.17 Hasil Pencarian Pattern No. 10 Pada Tabel 4.4
Gambar diatas menjelaskan hasil pencarian dari pattern nomor 10 pada Tabel 4.4
dimana kata ditemukan dengan running time pada pencarian shift-and adalah 109 ms
dan running time pada morris-pratt adalah 47 ms dengan total hasil pencarian sebanyak
1 hasil.

Universitas Sumatera Utara

70

Selanjutnya, perbandingan running time dalam bentuk grafik dapat dilihat pada Gambar
4.18 berikut.
160
140

Perbandingan Running Time untuk Berbagai Panjang Pattern pada Algoritma
Shift-And dan Morris-Pratt
141
141
125

120
109

109
101

100
Running Time (ms)

94

94

80

94

93

63

63

78
62

60

62
47

Shift-And

62

59

47

47

Morris-Pratt

40
20
0

3

4

4

5

6

8
8
Panjang Pattern (char)

9

13

11

Gambar 4.18 Perbandingan Running Time untuk Berbagai Panjang Pattern pada
Algoritma Shift-And dan Morris-Pratt

Berdasarkan grafik dan hasil pengujian di atas, dapat ditarik kesimpulan bahwa
algoritma Morris-Pratt memiliki waktu pencarian yang lebih sedikit dibandingkan
dengan algoritma Shift-And untuk semua jenis pattern yang dicari dan semakin pendek
panjang pattern yang dicari maka, semakin cepat juga running time dari kedua
algoritma tersebut

Universitas Sumatera Utara

BAB V
KESIMPULAN DAN SARAN
5.1.

Kesimpulan

Berdasarkan pembahasan dan hasil dari penelitian, maka diperoleh beberapa
kesimpulan sebagai berikut:
1.

Dengan melakukan percobaan pada sampel pattern sebanyak 10 buah diperoleh
hasil rata – rata waktu pencarian sebesar 110.1 ms untuk algoritma Shift-And dan
59 ms untuk algoritma Morris-Pratt.

2.

Pada fase preprocessing, algoritma Shift-And dan Morris-Pratt memiliki
kompleksitas waktu sebesar Ө(m). Hal ini berarti tingkat pertumbuhan pada fase
preprocessing kedua algoritma bersifat linear.

3.

Pada fase pencarian, algoritma Shift-And dan algoritma Morris-Pratt memiliki
kompleksitas waktu sebesar Ө(n). Hal ini berarti tingkat pertumbuhan pada fase
pencarian kedua algoritma bersifat linear.

4.

Besar running time kedua algoritma dipengaruhi oleh panjangnya pattern yang
dicari dan spesifikasi mesin yang digunakan.

5.

Secara teoritis dan pengujian diperoleh hasil yang sama. Dimana, algoritma
Morris-Pratt lebih efektif dibandingkan dengan algoritma Shift-And.

5.2.

Saran

Berikut ini adalah saran yang dapat digunakan untuk tahap pengembangan penelitian
sistem ini antara lain:
1.

Pada penelitian ini, penulis hanya menggunakan 100 entri nama algoritma sebagai
sampel untuk disimpan di dalam database. Diharapkan ke depannya database
dilengkapi lagi.

71
Universitas Sumatera Utara

72

2.

Pada penelitian ini, disimpulkan bahwa algoritma Morris-Pratt lebih efisien
dibandingkan dengan algoritma Shift-And. Diharapkan ke depannya algoritma
Morris-Pratt bisa diimplementasikan dalam aplikasi yang membutuhkan fasilitas
pencocokan string.

3.

Saat ini sedang berkembang pembuatan aplikasi berbasis mobile yang
diimplementasikan pada platform Android. Diharapkan ke depannya bisa dibuat
aplikasi

Kamus

Algoritma-Pseudocode

berbasis

mobile

dengan

mengimplementasikan algoritma Morris-Pratt di dalamnya.

Universitas Sumatera Utara