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