Implementasi Dan Perbandingan Algoritma Smith Dan Algoritma Raita Pada Pencarian Kata Chapter III V

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Tahapan ini dilakukan untuk memaparkan pemahaman tentang sistem yang dibuat
secara keseluruhan. Baik kinerja sistem maupun proses perancangan aplikasi pada
sistem. pemahaman yang menyeluruh terhadap kebutuhan sistem sehingga diperoleh
tugas-tugas yang akan dikerjakan sistem. Tahapan ini dilakukan agar pada saat proses
perancangan aplikasi tidak terjadi kesalahan. (Nasution, 2016)
Analisis sistem memiliki tiga fase untuk mendeskripsikan pengembangan sistem
yaitu:
1. Analisis masalah bertujuan untuk mempelajari, memahami dan menganalisis
suatu masalah dan batasannya.
2. Analisis kebutuhan bertujuan untuk menjelaskan fungsi – fungsi yang
ditawarkan dan mampu dikerjakan oleh sistem, baik kebutuhan fungsional
maupun non fungsional.
3. Analisis proses bertujuan untuk memodelkan tingkah laku dari sistem.

3.1.1. Analisis Masalah

Seperti yang sudah dijelaskan sebelumnya di latar belakang penulisan tugas akhir ini,
permasalahan yang akan diselesaikan dengan menggunakan sistem ini adalah

Universitas Sumatera Utara

pencarian judul skripsi Mahasiswa Ilmu Komputer USU. Pencarian judul skripsi akan
diselesaikan menggunakan algoritma Smith dan Raita. Judul skripsi mahasiswa Ilmu
Komputer USU disimpan di dalam database sejumlah 260 buah.
Untuk mengidentifikasi masalah tersebut, penulis menggunakan Ishikawa
diagram (fishbone/cause-effect diagram). Ishikawa diagram adalah diagram yang
menunjukkan penyebab – penyebab yang spesifik dari sebuah even. Ishikawa diagram
diperkenalkan oleh Kaoru Ishikawa pada tahun 1968.
.
Ishikawa diagram pada sistem ini dapat dilihat pada Gambar 3.1 berikut.

Gambar 3.1. Ishikawa Diagram Analisis Masalah
Kotak paling kanan (kepala ikan) pada Gambar 3.1. menjelaskan masalah yang
diketahui akan terjadi, yaitu sulitnya melakukan pencariankata pada judul skripsi
mahasiswa ilmu komputer USU dalam bentuk hardcopy. Sedangkan, tulang tulang
yang mengarah ke tulang utama adalah kategori masalah yang akan dihadapi, yaitu

masalah dari sisi Manusia, Material, Metode dan Mesin.

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

Universitas Sumatera Utara

3.1.2.1.

Kebutuhan Fungsional

Kebutuhan fungsional dari sistem ini adalah :
1.

Aplikasi Judul Skripsi Mahasiswa Ilmu Komputer USU dapat menampilkan
judul, nim , nama dan keyword abstract dari skripsi yang dicari oleh pengguna.


2.

Aplikasi Judul Skripsi Mahasiswa Ilmu Komputer USU dapat menampilkan
running time pencarian dan jumlah data yang cocok dari masing – masing
algoritma yang diimplementasikan di dalamnya.

3.

Aplikasi Judul Skripsi Mahasiswa Ilmu Komputer USU memiliki fitur admin
untuk menambahkan databasejudul skripsi.

3.1.2.2.

Kebutuhan Nonfungsional

Kebutuhan nonfungsional dari sistem ini adalah :
1.

Kinerja
Perangkat lunak yang dibangun memiliki running time yang cepat dan tampilan

yang menarik.

2.

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

3.

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

3.1.3. Analisis Proses
Sistem yang akan dibangun mengizinkan pengguna untuk melakukan pemilihan target
pencocokan string yang ingin digunakan. Adapun target pencocokannya antara lain
(Judul, Nim, Nama Mahasiswa, dan Keyword Abstract). Sistem ini menggunakan
algoritma Smith dan Raita dalam proses pencocokan string. Sistem akan melakukan
pencocokan kata yang dimasukan oleh pengguna dengan target pilihan pengguna yang

terdapat di database. Kemudian, target yang sesuai dengan kata masukan ditampilkan

Universitas Sumatera Utara

pada table, sementara itu jumlah data yang cocok serta running time pencarian akan
ditampilkan pada textfield dan label dibawah table. Selanjutnya, jika pengguna sudah
menemukan skripsi yang dicari, pengguna dapat melihat data lengkapnya pada
halaman lihat informasi judul pada sistem.

3.2. Perancangan Sistem
Perancangan sistem merupakan gambaran cara kerja sistem yang akan dibuat,
interaksi antar objek yang terdapat pada sistem, serta hal yang harus dilakukan agar
sebuah

sistem

bisa

berfungsi


sesuai

dengan

keinginan

dan

kebutuhan

pengguna.(Hutagalung, 2016). Pada perancangan sistem meliputi pemodelan sistem,
flowchart, perancangan antarmuka (interface), dan peracangan database.
Pada penelitian ini, bahasa pemodelan yang digunakan untuk merancang
aplikasi adalah UML (Unified Modelling Language). Model UML yang digunakan
antara lain adalah use-case diagram, activity diagram, dan sequence diagram.

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 memiliki tiga aspek dari sistem, yaitu: actor, use-case, dan

system/sub system boundary.
Use-case diagram dari sistem yang akan dibangun dapat dilihat pada Gambar 3.2.

Sistem

Algoritma
- Smith

Algoritma Raita
User



Perhitungan tabel
BmBc dan QsBc



Perhitungan tabel
BmBc


Universitas Sumatera Utara

Gambar 3.2. Use-case Diagram Sistem
User mempunyai kontrol untuk melakukan beberapa fungsi yang diinginkan, yaitu
memilih target pencocokan string yang akan digunakan dan menginput pattern yang
akan dicari.
3.2.1.2. Activity Diagram
Activity Diagram adalah diagram yang menggambarkan aliran kerja atau aktivitas dari
sebuah

sistem

atau

proses

bisnis.

Yang


perlu

diperhatikan

adalah

bahwa diagram aktivitas menggambarkan aktivitas sistem, bukan apa yang dilakukan
aktor, jadi aktivitas yang dapat dilakukan oleh sistem.Activity Diagram dari sistem
yang akan dibuat dapat dilihat pada Gambar 3.3.

Universitas Sumatera Utara

Gambar 3.3. Activity Diagram Sistem

3.2.1.3.

Sequence Diagram

Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar obyek

dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Diagram ini
menunjukkan serangkaian pesan yang dipertukarkan oleh obyek – obyek yang
melakukan tugas tertentu.Sequence diagram dari sistem yang akan dibuat dapat dilihat
pada Gambar 3.4.

Gambar 3.4. Sequence Diagram Sistem

Universitas Sumatera Utara

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 preBmBc

Flowchart fungsi preBmBc pada fase preprocessing algoritma Smith dan Raita dapat
dilihat pada Gambar 3.5. di bawah ini.

Universitas Sumatera Utara


Gambar 3.5. Flowchart preBmBc
Keterangan Gambar 3.5. :
pattern = pattern masukan
m = panjang pattern
bmBcValue[] = array yang menampung nilai bmBc pattern
i = indeks dari karakter ke-n pada pattern

Universitas Sumatera Utara

3.2.2.2.

Flowchart preQsBc

Flowchart preQsBc pada fase preprocessing algoritma Smith bisa dilihat pada
Gambar 3.6. di bawah ini.

Gambar 3.6. Flowchart preQsBc

Keterangan Gambar 3.6. :
pattern = pattern masukan
m = panjang pattern
qsBcValue[] = array yang menampung nilai qsBc pattern
i = indeks dari karakter ke-n pada pattern

Universitas Sumatera Utara

3.2.2.3.

Flowchart isSame

Flowchart isSame pada fase pencarianalgoritma Smith bisa dilihat pada Gambar 3.7.
di bawah ini.

Gambar 3.7. Flowchart isSame
Keterangan Gambar 3.7. :
a = masukan string
b = masukan string
i = indeks dari karakter ke-n pada text
3.2.2.4.

Flowchart Algoritma Smith

Flowchart algoritma Smith bisa dilihat pada Gambar 3.8. di bawah ini.

Universitas Sumatera Utara

Gambar 3.8. Flowchart Algoritma Smith
Keterangan Gambar 3.8. :
pattern = pattern masukan
text = teks
m = panjang pattern
n = panjang teks
prebmBc = fungsi prebmBc untuk fase preprocessing algoritma Smith
preqsBc = fungsi prebsBc untuk fase preprocessing algoritma Smith
j = indeks dari karakter ke-n pada teks
3.2.2.5.

Flowchart Algoritma Raita

Flowchart algoritma Raita bisa dilihat pada Gambar 3.9. di bawah ini.

Universitas Sumatera Utara

Gambar 3.9. Flowchart Algoritma Raita
Keterangan Gambar 3.9. :
pattern = pattern masukan
text = teks
m = panjang pattern
n = panjang teks
prebmBc = fungsi prebmBc untuk fase preprocessing algoritma Raita

Universitas Sumatera Utara

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.
Rancangan halaman utama aplikasi yang akan dibuat dapat dilihat pada Gambar
3.10. dan 3.11. berikut.

Gambar 3.10. & 3.11. Rancangan Tampilan Halaman Utama

Keterangan Gambar 3.10. dan 3.11. :

Universitas Sumatera Utara

1. Menu Bar : Aktivitas dan Tentang
2. Menu Item : Tambah judul , cari judul dan lihat informasi judul
3. Menggunakan Background Utama
4. Menu Item : Tentang Aplikasi
2.

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

Gambar 3.12. Rancangan Tampilan Halaman Tentang Aplikasi
Keterangan Gambar 3.12. :
1. Menu Bar : Aktivitas dan Tentang
2. Label
3. Menggunakan Background Tentang dengan gambar logo Fasilkom Ti

3.

Halaman Tambah Judul

Universitas Sumatera Utara

Halaman ini berisi untuk menambahkan data judul kedalam database. Rancangan
halaman tambah judul dapat dilihat pada Gambar 3.13. dan 3.14. berikut.

Gambar 3.13. Rancangan Tampilan Halaman Log in.
User

Keterangan Gambar 3.13. :

diminta untuk melakukan login dihalaman login terlebih dahulu, guna
memastikan bahwa yang menambahkan judul adalah admin.
1. Menu Bar: Aktivitas dan Tentang
2. Label
3. Textfield : menampung nama pengguna dan sandi
4. Button
5. Menggunakan Background Semua

Universitas Sumatera Utara

Gambar 3.14. Rancangan Tampilan Halaman Tambah Judul
Keterangan Gambar 3.14. :
1. Label
2. Textfield : menampung nim dan nama
3. Combo box
4. Text Area : menampung judul skripsi dan keyword abstract
5. Button
6. Menu Bar : Aktivitas dan Tentang
7. Menggunakan Background Semua

Universitas Sumatera Utara

4. Halaman Cari Judul
Halaman ini merupakan halaman pencarian menggunakan algoritma Smith dan
Raita. Rancangan tampilan halaman Cari Judul dengan Algoritma String
Matching yang akan dibuat dapat dilihat pada Gambar 3.15. berikut.

Gambar 3.15. Rancangan Tampilan HalamanCari Judul dengan Algoritma String
Matching
Keterangan Gambar 3.15. :
1. Text Area : menampung pattern pencarian
2. Combo box : pilihan target pencarian
3. Button
4. Label
5. Table
6. Table
7. Textfield : untuk menampilkan running time
8. Label
9. Menu Bar : Aktivitas dan Tentang
10. Menggunakan Background Semua

Universitas Sumatera Utara

5.

Halaman Lihat Informasi Judul
Halaman ini merupakan halaman untuk melihat informasi judul berdasarkan Nim
yang di masukan. Rencana tampilan halaman lihat informasi judul yang akan
dibuat dapat dilihat pada Gambar 3.16. berikut.

Gambar 3.16. Rancangan Tampilan Halaman Lihat Informasi Judul
Keterangan Gambar 3.16. :
1. Menu Bar : Aktivitas dan Tentang
2. Button
3. Label
4. Textfield : menampung nim dan menampilkan judul skripsi , nama , tahun dan
keyword abstract
5. Menggunakan Background Semua

Universitas Sumatera Utara

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.1. berikut ini.
Tabel 3.1. Perancangan Database
Table

Column(s)

Type

Description

jsmik

Nim

char(9);

Nim dari pemilik skripsi serta Menjadi

primary key

penanda bahwa data yang satu berbeda
dengan data

yang lain,

sekalipun ada

kemungkinan isinya identik.
Judul

Text

Judul dari skripsi

Nama

Char(50)

Nama pemilik skripsi

Tahun

Int(5)

Tahun selesai nya pengerjaan skripsi

Keyword

Text

Kata kunci atau abstrak dari skripsi

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 Judul skripsi mahasiswa ilmu
komputer USU berdasarkan judul, nim, nama atau keyword abstract. Sistem ini
dibangun menggunakan bahasa pemrograman Java pada perangkat lunak NetBeans
IDE 8.2 sedangkan database dari sistem ini dibuat dengan perangkat lunak XAMPP
v3.2.1 dengan server type MySQL version 5.6.26 dan phpMyAdmin version 4.4.14.
Keduanya dikoneksikan dengan menggunakan perangkat lunak MySQL JDBC
Driver.
Aplikasi ini terdiri dari enam halaman, yaitu halaman Home, halaman
pencarian menggunakan Algoritma String Matching, halaman Lihat informasi judul,
halaman Tambah judul dengan menampilkan halaman log in terlebih dahulu, dan
halaman Tentang aplikasi.

4.1.1. Halaman Home
Halaman Home merupakan halaman yang pertama kali dilihat oleh user ketika
aplikasi dijalankan. Halaman ini akan mengarahkan user menuju halaman lainnya.

Universitas Sumatera Utara

Tampilan halaman Home dapat dilihat pada Gambar 4.1 dibawah ini.

Gambar 4.1. Halaman Home
Pada Gambar 4.1. dapat dilihat bahwa halaman Home terdiri dari menu bar,
yaitu Aktivitas dan Tentang, dan di masing – masing menu memiliki menu item.
Pada menu aktivitas memiliki menu item Tambah judul, cari judul dan lihat informasi
judul. Sedangkan menu tentang memiliki menu item tentang aplikasi. Yang mana
seluruh menu item akan menuju ke halaman yang dipilih jika di klik. Menu item ini
juga diberi fasilitas shortcut key yang diinput dari keyboard. Shortcut key dari
masing – masing menu item adalah sebagai berikut.
1.

Alt + T, mengarahkan user menuju halaman Tambah Judul.

2.

Alt + C, mengarahkan user menuju halaman Cari Judul.

3.

Alt + L, mengarahkan user menuju halaman Lihat Informasi Judul.

4.

Alt + A, mengarahkan user menuju halaman Tentang Aplikasi.

Pada halaman ini juga disertakan logo dari aplikasi yang dibuat.

Universitas Sumatera Utara

4.1.2. Halaman Tambah Judul
Halaman tambah judul merupakan halaman untuk menambahkan judul skripsi, tetapi
sebelum menuju halaman tambah judul user diminta melakukan login terlebih
dahulu, dapat dilihat pada Gambar 4.2. dan 4.3. berikut.

Gambar 4.2. Halaman Log in.

Gambar 4.3. Halaman Tambah Judul

Universitas Sumatera Utara

Pada gambar 4.3. user diminta mengisi username dan sandiuntuk memastikan
yang menambah data adalah admin. Jika benar , maka akan menuju halaman tambah
judul seperti pada gambar 4.3. lalu user diminta untuk mengisi data. Jika di klik button
batal , maka semua tampilan yang sudah terisi akan terhapus. Dan jika di klik button
simpan data maka akan dilakukan proses penyimpanan data.
4.1.3. Halaman Lihat Informasi Judul
Halaman Lihat Informasi Judul merupakan halaman yang menampilkan informasi
judul skripsi dari nim yang dimasukan, dapat dilihat pada Gambar 4.4. berikut.

Gambar 4.4. Halaman Lihat informasi judul
Pada halaman lihat informasi judul ini, user diminta untuk memasukan nim dari data
yang ingin dilihat. Setelah memasukan nim, di klik button lihat informasi, jika sesuai
maka akan ditampilkan informasi dari nim yang di masukan.

Universitas Sumatera Utara

4.1.4. Halaman Cari Judul

Halaman ini merupakan halaman pencarian judul skripsi mahasiswa ilmu komputer
USU dapat dilihat pada gambar 4.5. berikut.

Gambar 4.5. Halaman Cari Judul
Halaman ini adalah halaman pencocokan string pattern dengan target yang dipilih,
menggunakan 2 algoritma string matching yaitu algoritma Smith di tabel sebelah kiri
dan algoritma Raita di tabel sebelah kanan. Setelah dimasukanpattern yang ingin
dicari, lalu dipilih target pencarian. Saat di klik button search maka akan dimulai
pencarian. Jika ditemukan, maka akan ditampilkan data yang cocok di kedua tabel,
running time dan jumlah data yang cocok pada kedua pencarian.

4.1.5. Halaman Tentang Aplikasi
Halaman ini merupakan halaman yang akan memberi informasi kepada user mengenai
aplikasi yang dibangun.

Universitas Sumatera Utara

Tampilan dari halaman Tentang Aplikasi bisa dilihat pada Gambar 4.6. berikut.

Gambar 4.6. Halaman Tentang Aplikasi
4.1.6. Database

Bagian ini menunjukkan database yang digunakan dalam aplikasi ini. Struktur
database yang dibangun untuk aplikasi ini dapat dilihat pada Gambar 4.7. berikut.

Gambar 4.7. Struktur Database
Database yang digunakan pada aplikasi ini diberi nama “jsmik”. Database ini berisi
satu buah tabel dengan nama yang sama, yaitu “judul_skripsi”.
Tabel ini berisi :
1. Nim
2. Judul

Universitas Sumatera Utara

3. Nama
4. Tahun
5. Keyword
Untuk pengaturan dari database yang digunakan sudah tertera sebelumnya pada bab
analisis dan perancangan sistem. Database “jsmik” dapat dilihat pada Gambar 4.8.

Gambar 4.8. Database jsmik

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) Celeron(R) CPU N2840 @ 2.16GHz
2. RAM 2.00 GB
3. Sistem Operasi Windows 10 Professional System Type 64-bit
Database dari aplikasi ini memiliki 260 skripsi yang akan dicek setiap kali user
memasukan sebuah kata yang ingin dicari. Untuk mengetahui bahwa proses

Universitas Sumatera Utara

pencocokan yang dilakukan berjalan dengan baik dan memiliki hasil yang benar,
dilakukan tes pencocokan secara manual.
4.2.1. Pengujian Algoritma Smith dan Algoritma Raita

Sebelum melakukan proses pencocokan, algoritma Smith dan algoritma Raita
memiliki tahap preprocessing untuk menentukan nilai pergeseran. Tahapan untuk
membuat tabel nilai pergeseran BmBc dan QsBc pada fase preprocessing algoritma
Smith dan tabel nilai pergeseran BmBc pada fase preprocessing algoritma Raita sudah
dipaparkan sebelumnya pada bab kedua. Tabel Nilai pergeseran BmBc dan QsBc
untuk pattern PAGE dapat dilihat pada Tabel 4.1. berikut ini.

Tabel 4.1. Nilai Pergeseran BmBc dan QsBc untuk Pattern PAGE
C

P

A

G

E

*

bmBc[c]

3

2

1

4

4

qsBc[c]

4

3

2

1

5

Pada proses pencarian ditentukan terlebih dahulu target pencarian. Contohnya
dipilih judul sebagai target maka pertama, pattern akan dicocokkan dengan judul dari
nim 021401009.

Tabel 4.2. pencarian pattern PAGE di judul skripsi “ANALISIS & PERANCANGAN
SISTEM

INFORMASI

AKADEMIK

BERBASIS

WEB

PADA

PERGURUAN TINGGI MENGGUNAKAN PEMROGRAMAN ACTIVE
SERVER PAGE (ASP)” pada algoritma Smith.

1

A

2

N

A

L

I

1
P

S

3

I

A

G

E

P

I

S

E

P

A

G

T

E

K

E

P

A

G
B

M

I

E

N

F

O

R

P
R

B

A

N

A

G

A

G

E

P

A

E
I

A

N

M
P

S

G

A

N

G

E

P

A

G

9

A

S

I

A

10

K

A

D

1
A

G

E

13

S

C

1

1
12

E

R

8

1
A

E

5

1

7

11

I

P
1

1

M

&

1

6

S

S

4

W

P

E
1

A

G

E

A

D

A

P

14

E

B

P

Universitas Sumatera Utara

1
A

G

E

P

15

P

1
A

G

E

P

1
A

16

E

1

2

P

A

R

G

G

E

U

R

U

A

N

T

A

G

E

P

1
P

G

E

17

P

A

G

E

18

1

2

P

A

19

I

N

G

A

G

E

G

I

M

3
G

E

20

E

N

G

A

G

E

G

1

1
P

1
A

G

E

P

1
P
21

U

N

A

22

K

A

N

P
1

2

A

G

E

P

A

1
E

P

26

I

V

E

S

G

E

P

E

M

R

G

E

E

R

V

E

O

G

A

24

G
25

R

A

M

A

P

A

G

E

P

A

G

E

A

G

E

(

A

S

P

1

2

3

4

P

A

G

E

1

27

1
A

23

N

A

C

1

T
1
P

28

R

P

)

1
A

G

E

P

A

G

E

Keterangan warna pada tabel 4.2. :
banyak nya Langkah yang dilakukan
text yang akan dicocokkan dengan pattern
pencocokan text & pattern yang hasilnya tidak cocok
pencocokan text & pattern yang hasilnya cocok
Dari 28 Langkah menghasilkan 27 kali pergeseran kekanan, yaitu :
Langkah ke 1 : menghasilkan nilai pergeseran sejauh 5 (bmBc[L] = qsBc[I])
Langkah ke 2 : menghasilkan nilai pergeseran sejauh 5 (bmBc[SPASI] = qsBc[&])
Langkah ke 3 : menghasilkan nilai pergeseran sejauh 4 (bmBc[R] = qsBc[A])
Langkah ke 4 : menghasilkan nilai pergeseran sejauh 5 (bmBc[A] = qsBc[N])
Langkah ke 5 : menghasilkan nilai pergeseran sejauh 5 (bmBc[S] = qsBc[I])
Langkah ke 6 : menghasilkan nilai pergeseran sejauh 5 (bmBc[M] = qsBc[SPASI])
Langkah ke 7 : menghasilkan nilai pergeseran sejauh 5 (bmBc[O] = qsBc[R])
Langkah ke 8 : menghasilkan nilai pergeseran sejauh 5 (bmBc[I] = qsBc[SPASI])
Langkah ke 9 : menghasilkan nilai pergeseran sejauh 4 (bmBc[D] = qsBc[E])
Langkah ke 10: menghasilkan nilai pergeseran sejauh 5 (bmBc[K] = qsBc[SPASI])
Langkah ke 11: menghasilkan nilai pergeseran sejauh 4 (bmBc[B] = qsBc[A])
Langkah ke 12: menghasilkan nilai pergeseran sejauh 5 (bmBc[S] = qsBc[SPASI])

Universitas Sumatera Utara

Langkah ke 13: menghasilkan nilai pergeseran sejauh 4 (bmBc[SPASI] = qsBc[P])
Langkah ke 14: menghasilkan nilai pergeseran sejauh 5 (bmBc[A] = qsBc[SPASI])
Langkah ke 15: menghasilkan nilai pergeseran sejauh 5 (bmBc[G] = qsBc[U])
Langkah ke 16: menghasilkan nilai pergeseran sejauh 5 (bmBc[N] = qsBc[SPASI])
Langkah ke 17: menghasilkan nilai pergeseran sejauh 2 (bmBc[G] = qsBc[G])
Langkah ke 18: menghasilkan nilai pergeseran sejauh 5 (bmBc[I] = qsBc[SPASI])
Langkah ke 19: menghasilkan nilai pergeseran sejauh 2 (bmBc[G] = qsBc[G])
Langkah ke 20: menghasilkan nilai pergeseran sejauh 5 (bmBc[U] = qsBc[N])
Langkah ke 21: menghasilkan nilai pergeseran sejauh 5 (bmBc[N] = qsBc[SPASI])
Langkah ke 22: menghasilkan nilai pergeseran sejauh 5 (bmBc[R] = qsBc[O])
Langkah ke 23: menghasilkan nilai pergeseran sejauh 4 (bmBc[M] = qsBc[A])
Langkah ke 24: menghasilkan nilai pergeseran sejauh 5 (bmBc[A] = qsBc[C])
Langkah ke 25: menghasilkan nilai pergeseran sejauh 5 (bmBc[E] = qsBc[SPASI])
Langkah ke 26: menghasilkan nilai pergeseran sejauh 4 (bmBc[V] = qsBc[E])
Langkah ke 27: menghasilkan nilai pergeseran sejauh 3 (bmBc[P] = qsBc[A])
Langkah ke 28, pattern sudah sesuai dengan karakter pada teks.
Algoritma Smith akan terus melakukan pencarian hingga karakter pada teks berakhir.

Tabel 4.3. pencarian pattern PAGE di judul skripsi “ANALISIS & PERANCANGAN
SISTEM

INFORMASI

AKADEMIK

BERBASIS

WEB

PADA

PERGURUAN TINGGI MENGGUNAKAN PEMROGRAMAN ACTIVE
SERVER PAGE (ASP)” pada algoritma Raita.

1
A

N

A

L

2
I

S

I

1
P

A

G

E

3

S

&

P

1
P

A

G

E

4
E

R

A

5
N

C

6
A

N

G

A

N

1
P

A

G

E
1
P

A

G

E
1

P

A

G

E

1
P

A

G

P
7

S

8

I

S

T

E

9

M

I

N

10

F

O

R

M

11

A

S

I

E

A

G

12

A

K

A

D

E

Universitas Sumatera Utara

1

2

E

P

1
A

G

E

1
P

13

M

I

K

A

G

E

A

G

1

E

P

14

B

E

R

A

G

E

1

G

E

P

15

A

G

E

1
P

16

B

A

S

I
1

2

P

A

G

E

P

1
P

A

1

S

W

E

G

E

B

P

A

G

E

1
A

A

G

17

E

P

18

D

A

1
P

A

1
P

A

G
P

19

P

E

R

20

21

G

U

22

R

U

A

23

N

T

I

N

24

G

G

I

M

E

N

E
A

G

25

26

G

G

1
E
1
P

A

G

E
1

P

A

G

E

1
P

A

G

1

E

P

A

G

E

1
P

A

G

E

1
P

A

G

E
1

P

27

U

28

N

A

K

1
E

A

29

N

30

P

E

M

R

31

O

G

R

A

32

M

A

A

G

E

P

A

G

A

C

T

G

33

N

1
P

A

G

E
1

P

A

G

E

1
P

A

G

E

1
P

A

G

E
1

P

A

G

E
1

P
34

I

35

V

E

1
E

P

A

G

36

S

E

1

2

E

P

R

V

E

37

R

P

A

G

E

G

E

P

A

(

A

S

P

)

38

G

E

2

E
3
4

5

1

P

A

G

E

1

A

A

1
P

A

G

Keterangan warna pada tabel 4.3. :
banyak nya Langkah yang dilakukan
text yang akan dicocokkan dengan pattern
pencocokan text & pattern yang hasilnya tidak cocok
pencocokan text & pattern yang hasilnya cocok

Universitas Sumatera Utara

Dari 38 Langkah menghasilkan 37 kali pergeseran kekanan, yaitu :
Langkah ke 1 : menghasilkan nilai pergeseran sejauh 4 (bmBc[L])
Langkah ke 2 : menghasilkan nilai pergeseran sejauh 4 (bmBc[S])
Langkah ke 3 : menghasilkan nilai pergeseran sejauh 3 (bmBc[P])
Langkah ke 4 : menghasilkan nilai pergeseran sejauh 2 (bmBc[A])
Langkah ke 5 : menghasilkan nilai pergeseran sejauh 4 (bmBc[C])
Langkah ke 6 : menghasilkan nilai pergeseran sejauh 2 (bmBc[A])
Langkah ke 7 : menghasilkan nilai pergeseran sejauh 4 (bmBc[S])
Langkah ke 8 : menghasilkan nilai pergeseran sejauh 4 (bmBc[E])
Langkah ke 9 : menghasilkan nilai pergeseran sejauh 4 (bmBc[N])
Langkah ke 10: menghasilkan nilai pergeseran sejauh 4 (bmBc[M])
Langkah ke 11: menghasilkan nilai pergeseran sejauh 4 (bmBc[SPASI])
Langkah ke 12: menghasilkan nilai pergeseran sejauh 4 (bmBc[D])
Langkah ke 13: menghasilkan nilai pergeseran sejauh 4 (bmBc[K])
Langkah ke 14: menghasilkan nilai pergeseran sejauh 4 (bmBc[R])
Langkah ke 15: menghasilkan nilai pergeseran sejauh 4 (bmBc[I])
Langkah ke 16: menghasilkan nilai pergeseran sejauh 4 (bmBc[E])
Langkah ke 17: menghasilkan nilai pergeseran sejauh 2 (bmBc[A])
Langkah ke 18: menghasilkan nilai pergeseran sejauh 2 (bmBc[A])
Langkah ke 19: menghasilkan nilai pergeseran sejauh 3 (bmBc[P])
Langkah ke 20: menghasilkan nilai pergeseran sejauh 1 (bmBc[G])
Langkah ke 21: menghasilkan nilai pergeseran sejauh 4 (bmBc[U])
Langkah ke 22: menghasilkan nilai pergeseran sejauh 4 (bmBc[N])
Langkah ke 23: menghasilkan nilai pergeseran sejauh 4 (bmBc[N])
Langkah ke 24: menghasilkan nilai pergeseran sejauh 4 (bmBc[SPASI])
Langkah ke 25: menghasilkan nilai pergeseran sejauh 1 (bmBc[G])
Langkah ke 26: menghasilkan nilai pergeseran sejauh 1 (bmBc[G])
Langkah ke 27: menghasilkan nilai pergeseran sejauh 4 (bmBc[U])
Langkah ke 28: menghasilkan nilai pergeseran sejauh 2 (bmBc[A])
Langkah ke 29: menghasilkan nilai pergeseran sejauh 4 (bmBc[SPASI])
Langkah ke 30: menghasilkan nilai pergeseran sejauh 4 (bmBc[R])

Universitas Sumatera Utara

Langkah ke 31: menghasilkan nilai pergeseran sejauh 2 (bmBc[A])
Langkah ke 32: menghasilkan nilai pergeseran sejauh 2 (bmBc[A])
Langkah ke 33: menghasilkan nilai pergeseran sejauh 4 (bmBc[SPASI])
Langkah ke 34: menghasilkan nilai pergeseran sejauh 4 (bmBc[I])
Langkah ke 35: menghasilkan nilai pergeseran sejauh 4 (bmBc[S])
Langkah ke 36: menghasilkan nilai pergeseran sejauh 4 (bmBc[E])
Langkah ke 37: menghasilkan nilai pergeseran sejauh 2 (bmBc[A])
Langkah ke 38, pattern sudah sesuai dengan karakter pada teks.
Algoritma Raita akan terus melakukan pencarian hingga karakter pada teks berakhir.

4.2.2. Pengujian Algoritma Smith dan Raita pada Sistem

Pada program, pattern diubah ke dalam bentuk uppercase agar setiap pattern bisa
dicocokkan walaupun menggunakan huruf besar atau kecil saat diinputkan. Setiap
target pencarian yang isinya mengandung pattern akan ditampung di dalam masing
masing tabel. Hasil pengujian sistem dari beberapa sampel pattern dengan kisaran
panjang antara 5 sampai 337 karakter dan hasil perbandingan waktu pencarian kedua
algoritma dapat dilihat pada Tabel 4.4. di bawah ini.

Tabel 4.4. Perbandingan Waktu Pencarian Pattern pada Sistem
No.

Pattern

Target
Pencarian

1.

PAKAR

Judul

Panjang
Pattern

Gambar

Waktu Pencarian (md)

Hasil

(char)

Pencarian

5

Gambar

Smith

Raita

46

16

16

0

16

15

31

16

4.9.
2.

081401077

Nim

9

Gambar
4.10.

3.

GINA AGNESIA

Nama

12

Gambar
4.11.

4.

KONEKSI DATA
INTERNET

Judul

21

Gambar
4.12.

Universitas Sumatera Utara

5.

SISTEM INFORMASI

Judul

39

GEOGRAFIS

Gambar

31

16

32

15

47

16

47

15

4.13.

BERBASIS WEB

6.

IMPLEMENTASI

Judul

85

METODE

Gambar
4.14.

GENERATE AND
TEST DALAM
PENYELESAIAN
PUZZLE 2048
BERBASIS MOBILE
7.

MONITORING

Judul

104

TRAFIK JARINGAN

Gambar
4.15.

PADA LOCAL AREA
NETWORK USUNET
PUSAT SISTEM
INFORMASI
UNIVERSITAS
SUMATERA UTARA
8

PERANCANGAN
MODEL APLIKASI

Judul

147

Gambar
4.16.

PEMBAYARAN
PAJAK KENDARAAN
BERMOTOR
BERBASIS VIRTUAL
PRIVATE NETWORK
PADA
UNIT PELAYANAN
TEKNIS SAMSAT
DINAS
PENDAPATAN
DAERAH PROVINSI
SUMATERA UTARA

Universitas Sumatera Utara

9

IMPLEMENTASI

Judul

186

JARINGAN

Gambar

47

15

94

31

4.17.

SYARAF TIRUAN
BIDIRECTIONAL
ASSOCIATIVE
MEMORY UNTUK
PENGIDENTIFIKASI
AN TELAPAK
TANGAN
MANUSIA (STUDI
KASUS:
MAHASISWA S1
ILMU KOMPUTER
USU STAMBUK 201
0 KOM A)
10

MENINGKATNYA
PENGGUNAAN

Keyword

337

Gambar
4.18.

TEKNOLOGI
INFORMASI, YANG
MENGGUNAKAN
KOMPUTER
SEBAGAI
MEDIANYA, MAKA
KEAMANAN DATA
ADALAH MENJADI
ASPEK YANG
SANGAT PENTING
DALAM SISTEM
TEKNOLOGI
INFORMASI. UNTUK
ITU DIBUTUHKAN
SUATU SOLUSI
DALAM
PEMECAHAN
MASALAH
TERSEBUT. SALAH

Universitas Sumatera Utara

SATU METODE
YANG DIGUNAKAN
UNTUK MENJAGA
KEMANAN DATA
TERSEBUT ADALAH
KRIPTOGRAFI
DENGAN BERBAGAI
ALGORITMANYA.
Rata – Rata Waktu Pencarian

40,7

15,5

Gambar 4.9. sampai dengan Gambar 4.18 di bawah ini menunjukkan hasil
pencarian pada sistem sesuai dengan pattern yang tertera pada Tabel 4.6.

Gambar 4.9. Hasil Pencrian untuk Pattern No.1 pada Tabel 4.4.

Universitas Sumatera Utara

Gambar 4.10. Hasil Pencarian untuk Pattern No.2 pada Tabel 4.4.

Universitas Sumatera Utara

Gambar 4.11. Hasil Pencarian untuk Pattern No.3 pada Tabel 4.4.

Gambar 4.12. Hasil Pencarian untuk Pattern No.4 pada Tabel 4.4.

Universitas Sumatera Utara

Gambar 4.13. Hasil Pencarian untuk Pattern No.5 pada Tabel 4.4.

Gambar 4.14. Hasil Pencarian untuk Pattern No.6 pada Tabel 4.4.

Universitas Sumatera Utara

Gambar 4.15. Hasil Pencarian untuk Pattern No.7 pada Tabel 4.4.

Gambar 4.16. Hasil Pencarian untuk Pattern No.8 pada Tabel 4.4.

Universitas Sumatera Utara

Gambar 4.17. Hasil Pencarian untuk Pattern No.9 pada Tabel 4.4.

Gambar 4.18. Hasil Pencarian untuk Pattern No.10 pada Tabel 4.4.

Universitas Sumatera Utara

Selanjutnya, perbandingan running time dalam bentuk grafik dapat dilihat pada
Gambar 4.19. berikut.

Perbandingan Running Time untuk
Berbagai Panjang Pattern pada Algoritma
Smith dan Raita

100
90

RUNNING TIME (MD)

80
70
60
50
40
30
20
10
0
0

50

100

150

200

250

300

350

400

Panjang
Smith pattern (char)
Raita

Gambar 4.19 Perbandingan Running Time untuk Berbagai Panjang Pattern pada
Algoritma Smith dan Raita

Berdasarkan grafik diatas, dapat diambil kesimpulan bahwa algoritma Smith dan
algoritma Raita menghasilkan running time yang hampir berbanding lurus. Namun
untuk setiap perbandingan algoritma Raita selalu lebih cepat dari pada algoritma
Smith.

Universitas Sumatera Utara

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 (Hutagalung, 2016). Jumlah waktu
yang konstan dibutuhkan untuk mengeksekusi seluruh baris dari pseudocode yang ada.
Setiap baris mungkin mempunyai jumlah waktu yang berbeda-beda, namun dapat
diasumsikan bahwa setiap eksekusi dari baris ke-i menghabiskan waktu sejumlah c i ,
dimana c i bersifat konstan.
Running time dari algoritma merupakan hasil penjumlahan dari running time
setiap statement yang dieksekusi; sebuah statement memiliki sejumlah c i langkah
untuk dieksekusi dan mengeksekusi sejumlah n kali akan menambahkan c i n ke dalam
running

time

totalnya.

Universitas Sumatera Utara

4.2.3.1. Analisis Kompleksitas Fase Preprocessing Smith
cost

#

cost.#

int ascii;

C1

1

C1

m = pattern.length();

C2

1

C2

C3

65532

65532C3

C2

65532

65532C2

C3

m-1

C3m-1

C2

m-1

C2m-1

C2

m-1

C2m-1

int ascii;

C1

1

C1

m = pattern.length();

C2

1

C2

C3

65532

65532C3

C2

65532

65532C2

C3

m

C3m

C2

m

C2m

C2

m

C2m

private void bmbc(String pattern){

for (int i = 0; i < bmbcValue.length;
i++) {
bmbcValue[i] = m;
}
for (int i = 0; i < m-1; i++) {
ascii = (int)
pattern.toCharArray()[i];
bmbcValue[ascii] = m-i-1;
}
}
private void qsbc(String pattern){

for (int i = 0; i < qsbcValue.length;
i++) {
qsbcValue[i] = m+1;
}
for (int i = 0; i < m; i++) {
ascii = (int)
pattern.toCharArray()[i];
qsbcValue[ascii] = m-i;
}
}

T(m)
= 2C1 + 2C2 + 131064C3 + 131064C2 + 2C3m + 4C2m - 3
Asumsikan nilai C konstan ( nilai C diabaikan )
= 4 + 262128 + 6m – 3
= 262129 + 6m
= Ө(m)

Universitas Sumatera Utara

4.2.3.2.Analisis Kompleksitas Fase Pencarian Smith
public boolean isSame(String a, String b){
boolean result;
result = false;
if( a.length() == b.length() ){
for(int i=0 ; i