SKRIPSI
Disusun Oleh:
SYUKRY ANSIS
2016-31-012
TEKNIK INFORMATIKA
JAKARTA, 2020
LEMBAR PENGESAHAN
Disusun Oleh :
SYUKRY ANSIS
NIM : 2016 – 31 – 012
Satrio Yudho,S.Kom.,M.T.I.
Pembimbing Kedua
UCAPAN TERIMA KASIH
Dengan ini saya menyampaikan penghargaan dan ucapan terima kasih yang
sebesar-besarnya kepada yang terhormat :
SYUKRY ANSIS
NIM : 2016-31-12
KATA PENGANTAR
Assalamu’alaikum1warahmatullahi1wabarakatuh
Puji syukur penulis haturkan kehadirat Allah SWT karena atas limpahan
rahmat dan karunianya penulis dapat menyelesaikan sebuah skripsi yang
berjudul “Sistem pencarian kata pada aplikasi pelayanan TI Badan
Pemeriksa Keuangan RI Pusat mengunakan metode Boyer Moore”.
Penulisan1skripsi1ini1merupakan salah satu syarat untuk menyelesaikan
jenjang studi1Strata 1 (S1)1Teknik Informatika di Institut Teknologi – PLN
Jakarta.
SYUKRY ANSIS
NIM : 2016-31-12
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI TUGAS
AKHIR UNTUK KEPENTINGAN AKADEMIS
Dibuat di : Jakarta
Pada tanggal: 01 Agustus 2020
Yang Menyatakan
(SYUKRY ANSIS)
THE WORD SEARCH SYSTEM IN THE APPLICATION OF IT SERVICES OF THE
CENTRAL INDONESIAN SUPREME AUDIT AGENCY USES THE BOYER MOORE
METHOD
ABSTRACT
Data and information are important elements that can be used to form
knowledge. An intermediary is needed to project knowledge so that it can be stored for
use, especially in1the1business sector. This1is experienced in1the environment of the
Financial Audit Agency that requires a forum to accommodate the knowledge of
employees in each division to accommodate the knowledge that can and is considered
important in solving a problem or task. By making a container, it can accommodate the
existing knowledge in each division so that it can then be used when experiencing a
similar problem.
Thus the author conducts research and development of a web-based System
searching Knowledge that is useful for accommodating existing knowledge in each
division within the environment Badan Pemeriksa Keuangan Republik Indonesia. The
website is built using the Laravel Framework for Website architecture and Boyer
Moore's Algorithm which is used to sort out data in searches on the website platform.
With1the1creation1of the Knowledge System, it1is expected1to be able to resolve1the
existing1problems in Badan Pemeriksa Keuangan Republik Indonesia.
ABSTRAK
Data dan informasi merupakan suatu elemen penting yang dapat digunakan
untuk membentuk suatu pengetahuan. Diperlukan nya sebuah perantara untuk
memproyeksikan sebuah pengetahuan agar dapat disimpan untuk dimanfaatkan,
khususnya pada sektor bisnis. Hal tersebut dialami di lingkungan lembaga Badan
Pemeriksaan Keuangan yang memerlukan sebuah wadah untuk menampung
pengetahuan para karyawan di setiap divisi untuk menampung pengetahuan yang di
dapat dan tergolong penting pada penyelesaian suatu permasalahan atau tugas.
Dengan dibuatkan sebuah wadah tersebut, dapat menampung pengetahuan yang ada
pada setiap divisi untuk selanjutnya dapat digunakan apabila mengalami suatu
permasalahan yang sama.
Dengan demikian penulis melakukan penelitian dan pembuatan sistem
Pencarian pengetahuan berbasis web yang berguna untuk menampung pengetahuan
yang ada pada tiap divisi di Lingkungan Badan Pemeriksa Keuangan Republik
Indonesia. Website dibangun menggunakan Framework Laravel untuk arsitektur
Website dan Algoritma Boyer Moore yang digunakan untuk memilah suatu data dalam
pencarian pada platform website. Dengan pembuatan Knowledge System tersebut
dapat diharapkan menyelesaikan masalah pada lembaga Badan Pemeriksa Keuangan
Republik Indonesia.
DAFTAR ISI
Hal
DAFTAR ISI.........................................................................................................iii
DAFTAR GAMBAR..............................................................................................v
DAFTAR TABEL.................................................................................................vii
BAB I PENDAHULUANN.....................................................................................2
1.1. Latar Belakang............................................................................................................2
1.2. Permasalahan Penelitian..........................................................................................3
1.2.1. Identifikasi Masalah.......................................................................................3
1.2.2. Ruang Lingkup Masalah...............................................................................4
1.2.3. Rumusan Masalah..........................................................................................4
1.2.4 Tujuan dan Manfaat Penelitian......................................................................4
1.2.5 Sistematika Penulisan.....................................................................................5
BAB II LANDASAN TEORI..................................................................................6
2.1. Landasan Teori...........................................................................................................6
2.1.1 Metode Waterfall...............................................................................................6
2.1.2 Algoritma Boyer Moore...................................................................................8
2.1.3 Framework Laravel.........................................................................................15
2.1.4 MVC....................................................................................................................16
2.1.5 Black Box Testing...........................................................................................17
2.1.6 Tinjauan Pustaka.............................................................................................18
BAB III METODE PENELITIAN.........................................................................35
3.1 Alur Penelitian.....................................................................................................35
3.2 Tahap Perencanaan...........................................................................................38
3.3 Perancangan Proses Bisnis............................................................................38
3.4 Perancangan Basis Data..................................................................................51
3.5 Teknik Pengumpulan data................................................................................57
3.6 Teknik Analisis....................................................................................................58
3.7 Bahan dan Alat....................................................................................................72
3.8 Lokasi dan Waktu Penelitiannya....................................................................73
3.9 Jadwal Penelitian...............................................................................................74
BAB IV HASIL DAN PEMBAHASAN................................................................75
4.1 Hasil.................................................................................................................75
4.2 Pembahasan......................................................................................................117
BAB V PENUTUP............................................................................................119
5.1 Kesimpulan..................................................................................................119
5.2 Saran.............................................................................................................119
DAFTAR PUSTAKA.........................................................................................120
DAFTAR RIWAYAT HIDUP.............................................................................122
LAMPIRAN.......................................................................................................123
DAFTAR GAMBAR
Hal
DAFTAR TABEL
Hal
Tabel 2.2 Awal String Algoritma Boyer Moore….............................................08
Tabel 2.3 Perpindahan String Algoritma Boyer Moore....................................09
Tabel 2.4 Tabel Bad Character Shift (Occurance Heuristic)............................10
Tabel 2.5 Tabel Good-Suffix Shift (Match Heuristic)........................................11
Tabel 2.6 Studi Pustaka...................................................................................18
Tabel 3.1 Tabel Requirement...........................................................................36
Tabel 3.2 Skenario Use Case Diagram............................................................42
Tabel 3.3 Tabel Rencana Pengujian Black Box...............................................59
Tabel 3.4. Contoh data Isi Materi......................................................................66
Tabel 3.5. Penyelesaian kasus Prosedur preBmbc..........................................69
Tabel 3.6. Pencacahan prefix dan suffix dan pattern........................................70
Tabel 3.7. Penyelesaian kasus Prosedur BM...................................................72
Tabel 3.8. Contoh Hasil Pencarian...................................................................72
Tabel 3.9. Jadwal Penelitian.............................................................................74
Tabel 4.1 Pengujian Black Box Form Login…..................................................78
Tabel 4.2 Pengujian Black Box Halaman Inti Sub Divisi…...............................80
Tabel 4.3 Pengujian Black Box Menu Input data Sub Divisi….........................83
Tabel 4.4 Pengujian Black Box Menu List data Sub Divisi…...........................84
Tabel 4.5 Pengujian Black Box Halaman Inti Filtering…..................................87
Tabel 4.6 Pengujian Black Box Halaman menu filter data…............................89
Tabel 4.7 Pengujian Black Box Halaman menu filter data…............................91
Tabel 4.8 Pengujian Black Box Halaman menu filter data…............................93
Tabel 4.9 Pengujian Black Box Halaman menu Data Master….......................96
Tabel 4.10 Pengujian Black Box Halaman menu Data User…........................99
Tabel 4.11 Pengujian Black Box Halaman menu Data Divisi…......................101
Tabel 4.12 Pengujian Black Box Halaman menu Data Akses….................…103
Tabel 4.13 Pengujian Black Box Halaman menu Data Status…...................105
Tabel 4.14 Pengujian Black Box Halaman utama web user…......................108
Tabel 4.15 Perhitungan Pencarian String dengan Boyer Moore…................109
BAB I
PENDAHULUANN
a. Penulis membahas Metode Boyer Moore untuk pencarian kata pada Sistem
Pelayanan TI Badan Pemeriksa Keuangan RI Pusat l Pelayanan TI Badan
Pemeriksa Keuangan RI Pusat
b. Penulis menggunakan Analisis Algoritma Boyer Moore dan Metode pembuatan
aplikasi dengan Waterfall, Aplikasi tool Xampp Versi 7.4.2 dan Visual Studio
Code Editorsebagai pendukung pembuatan Knowledge Management
System(knowledge management)
c. Aplikasi dapat digunakan pada semua pegawai di Badan Pemeriksa Keuangan
d. Penelitian dilakukan dengan mengunakan data yang terdapat di Badan
Pemeriksa Keuangan (BPK).
BAB I PENDAHULUANN
sDalam1bab ini1membahas1tentang1penjelasan singkat1mengenai latar
belakang,1identifikasi1masalah ,ruang lingkup1masalah , rumusan1masalah serta
tujuan1dan manfaat1penelitian dan1sistematika penulisan..
BAB V PENUTUPps
Pada sbab ini berisi1kesimpulan dari1pembahasan yang telah1dilakukan
Selain itu juga diberikansaran1yang1bersifat membangun dan konstruktif1guna
Untuk1meningkatkan kinerja1masa mendatangsaw
BAB II
LANDASAN TEORI
2.1. Landasan Teori
2.1.1 Metode Waterfall
Metode Waterfall1adalah prosess pengembangann perangkatt lunakk
berurutan, di manaa kemajuan1dipandang1sebagai1terus mengalir kebawah (seperti
air terjun) melewati fase-fase perencanaan,1pemodelan,1implementasi (konstruksi),
dan pengujian.1Dalam1pengembangannya1metode waterfall memiliki beberapa
tahapan yang runtut: requirement (analisis kebutuhan), design sistem (system design),
Codingg & Testing, Penerapan Program, pemeliharaann.(Tristianto 2018))))
Gambar 2.1 Metode Waterfallss
Penerapan metode pengembangan ini pada aplikasi yaitu akan masuk pada tahap
requirement yang dimana pada tahap tersebut akan digunakan untuk memetakan
permasalahn dan kebutuhan-kebutuhan yang dapat digunakan dalam membangun
aplikasi. Selanjutnya akan masuk ke tahap desain yang dimana pada tahap tersebut
akan digunakn untuk pengumpulan hasil analisa dari tahap requirements dan
melakukan perancangan untuk keperluan pembuatan aplikasi seperti perancangan
pada basis data. Pada tahap selanjutnya yaitu tahap pengkodean yang dimana akan
mengimplementasikan hasil dari tahap desain pada kode. Selanjutnya pada tahap
terakhir akan dilakukan pengujian dari kode yang dimana pada tahap ini untuk
melakukan cek apakah aplikasi sudah berjalan sesuai dengan yang di inginkan atau
tidak.
Dengan cara algoritma ini, hampir proses pencarian akan lebih cepat jika
dibanding dengan algoritma seperti brute force. alasan melakukan pencocokan dari
kanan ditunjukan dalam contoh berikut::
Dalam tabel diatas terlihat metode Boyer-Moore memiliki loncatan karakter yang
lumayan besar sehingga mempercepat pencarian kata karena dengan hanya
memeriksa sedikit karakter,dapat langsung diketahui bahwa kata yang dicari tidak
ditemukan dan dapat bergeser ke posisi selanjunya.
sstring: seueseu
Panjang: 7 karakter
Posisi: 1 2 3 4 5 6 7
String: S E U E S E U
Pergesaran 2 1 0 1 2 1 0
(OH)
4. Mundurs setelah itu, karakter “e”. Karakter “e” sudah pernah ditemukan
sebelumnya, sehingga nilai pergeseran sama dengan nilai pergeseran
karakter “e” yang sudah ditemukan paling awal yaitu 1qwqw
Catatan: untuk karakterr selain “S, E, U”, nilai pergeseran sebesar panjang
string, yaitu tujuh karakter (sehabis pattern).
Panjang: 7 karaktera
Posisi:s 1 2 3 4 5 6 7
String:a S E U E S E U
Pergesaran 4 4 4 4 7 7 1
(OH)
1. Jika karakter pada posisi 7 bukana “u” maka geser 1 posisi, berlaku
untuk semua pattern yang dicari.asasa
2. Jika karakter “u” sudah cocok, tetapi karakter sebelum “u” bukan “e”,
maka geser sebanyak 7 posisi, sehingga posisi pattern melewati teks,
karena sudah pasti “manambn” bukan “manaman”1
3. Jika karakter “eu” sudah cocok, tetapi karakter sebelum “eu” bukan “s”
maka digeser sebanyak 7 posisi, sehingga posisi pattern melewati teks,
karena sudah pasti “manaban” bukan “seuereu”2
4. Jika karakter “seu” sudah cocok, tetapi karakter sebelum “seu” bukan “e”
maka geser sebanyak 4 posisi, sehingga posisi pattern berada atau
bersesuaian dengan akhiran “seu” yang sudah ditemukan sebelumnya,
karena bisa saja akhiran “seu” yang sudah ditemukan sebelumnya
merupakan awalan dari pattern “manaman” yang berikutnya.a3s
5. Jika karakter “eseu” sudah mirip, tetapi karakter sebelum “eseu” bukan
“u” maka geser sebanyak 4 posisi, jadi posisi pattern berada sesuaian
dengan akhiran “seu” yang awalnya sudah ditemukan sebelumnya,
karena bisa saja akhiran “man” yang sudah ditemukan sebelumnya
merupakan awalan dari pattern “seueseu” yang berikutnya.21
Selanjutnya sama, pergeseran paling mungkin dan aman dalam tabel
Match Heuristic adalah pergeseran sebanyak 4 posisi.
A. Prosedur preBmB
B. Prosedur BM
A. Prosedur preBmB
2. Lakukan1perhitungan terhadap panjang pattern. Jika panjang tidak lebih satu, maka
hentikan proses dengan
4. Bandingkan1dari setiap karakter yang dicacah terhadap stack BmBc, jika karakter
yang1dicacah tidak1ditemukan122
didalam stack, maka tambahkan karakter tersebut ke dalam stack yang dimana OH
sama dengan jumlah pergeseran
6. Jika telah mencapai karakter palingg kiri, cacah karakter paling kanan lalu kembali
ke langkah ke 4
B. Prosedur BM
1. Persamaan dimulai dari indeks teks terkecil atau dari karakter paling kiri2
2. kemiripan per karakter dimulai dari karakter paling kanan pattern.3112
3. Setiap kali kemiripan karakter, maka ambil nilai OH pada stack BmBc dengan
karakter yang berkesesuaian terhadap teks, lalu nilai OH dikurangi dengan
jumlah kecocokan yang telah terjadi. Ambil nilai pada MH stack BmGs dengan
indeks karakter yang ditemukan ketidakmiripan, setelah itu bandingkan dengan
nilai OH yang telah dioperasikan. Dengan nilai terbesar, geser pattern kearah
kiri teks dan ulangi kemiripan.
4. Jika nilai1 kemiripan sama dengan Panjang pattern maka pattern telah
ditemukan pada teks, geser pattern sepanjang jumlah karakter pattern ke arah
kiri1teks untuk melanjukan pencocokanaselanjutnya.
2.1.4 MVC
Model-View-Controller1(MVC) adalah sebuah konsep yang diperkenalkan1oleh
penemu12Smalltalk (Trygve Reenskaug) untuk meng-enkapsulasi2data bersama
dengan pemrosesan12(model), mengisolasi1dari proses12manipulasi (controller)
dan1tampilan (view) untuk11direpresentasikan pada tampilan muka.(Darmwan,
Santoso, and Arochman 2016)
Definisi teknis dari arsitektur MVC dibagi menjadi tiga lapisan yaitu : (Pastima and
Kasnady 2016)
5 Jurnal Journal1of1Applied1Informatics1and1Computing
(JAIC)1Vol.2,1No.2,1Desember12018, pp.151~56
e-ISSN1:12548-68611
(Anggraeni, Sunarti, and Sundari 2018)
Judul Analisa1dan1Perancangan1Knowledge
Management1System pada1SMA1Negeri1Ragunan
Jakarta Selatan
Permasalahan Kebudayaan,1KONI1Pusat dan1Gubernur1DKI
Jakarta.1Siswa-siswi di SMA1Negeri1Ragunan tidak
hanya2seorangmpelajar, mereka1berperan juga
sebagai2atlet olahragawan yang berprestasi secara
nasional2maupun2internasional, namun1Visi dan
misi Sekolah ini2mengutarakan
tidak1hanya1prestasi olahraga saja2menjadi
keunggulan1, namun peningkatan2prestasi1secara
akademik2dituntut sebagai2bekal2dalam
persaingan2global. Oleh karena
itu2diperlukan2komunikasi2dua arah (feedback)
media interaktif2antara2Guru dan siswa serta
budaya knowledge2sharing2sebagai media
sosialisasi2informasi antara2Guru2dan Bidang
kurikulum ataupun2Kepala Sekolah2yang nantinya
akan dituangkan2dalam2sebuah2website2Sistem
Informasi2Akademik
3.1.1 Requirement
Pada tahap ini dilakukan analisa pada kebutuhan-kebutuhan yang nanti nya
dapat digunakan untuk komponen utama dan komponen pendukung dalam pembuatan
KMS. Penulis melakukan observasi terkait belum adanya KMS pada Divisi Information
Technology (IT). Dan selanjutnya penulis lanjutkan dengan menggunakan kuisioner
yang digunakan untuk melakukan pemetaan atas rancangan KMS yang apabila
diberlakukan pada Divisi IT. Dengan demikian, hasil akan diproses pada tahap
selanjutnya yaitu tahap Design.
Requirement
Software Hardware
- Laravel 5.8 (Sebagai Framework) - Operating System : Windows 10 Pro
64-bit
- PHP 7.4 (Sebagai Bahasa - Processor : AMD A12-970
Pemrograman server side)
- XAMPP 3.2 (Sebagai Perangkat - RAM : 16 Gb
Lunak Server Lokal)
- RDBMS My SQL Server (Sebagai - Penyimpanan : SSD 500 Gb
tempat penyimpanan Basis Data)
- Windows 10 Proffesional (Sebagai - VGA : AMD Radeon Graphics
Sistem Operasi peneliti)
-Text Editor Visual Studio Code
(Sebagai Perangkat lunak untuk
penulisan kode sumber)
3.1.2 Design
Selanjutnya adalah proses Design, proses ini mengubah sebuah Requirement
KMS Badan Pemeriksa Keuangan tersebut menjadi Fitur Fitur design KMS sebelum
masuk ke tahap Implementation. Dalam proses ini sebuah design KMS akan di
laporkan ke pihak user Pelayanan TI BPK-RI apakah sesuai dengan Design
Kebutuhan KMS atau tidak sesuai.
3.1.3 Implementation
Pada tahap ini proses implementation berupa pembuatan software dengan
mengubah bentuk bahasa desain KMS yang sesuai kebutuhan Pelayanan TI BPK-RI
menjadi bahasa bentuk pemrograman coding. Lalu setiap fitur-fitur tersebut nantinya di
test apakah berfungsi atau tidak berfungsi/error. Setelah software KMS tersebut
selesai lalu akan masuk tahap terakhir Verification.
3.1.4 Verification
Pada tahap implementation maka keseluruhan tahap-tahap akan diujicoba
apakah semua sesuai kebutuhan user atau tidak sesuai, yang akan diuji oleh pihak
user Pelayanan TI BPK-RI.Jika sesuai Software KMS ini akan diambil sebagai acuan
oleh user Pelayanan TI BPK-RI dalam menjalankan dan memelihara software
Knowledge Management System tersebut.
Skenario pada Use Case gambar diatas, dapat dilihat pada tabel dibawah:
Tabel 3. 2 Skenario Use Case Diagram
a. Melakukan Input Data
Use Case Aktor Aksi Aktor Respon Sistem
User Menginput data Sistem akan
User Knowledge dari menyimpan data
Input Data Knowledge ke
masing – masing sub
database.
divisi
b. Melihat List Data
Use Case Aktor Aksi Aktor Respon Sistem
Melihat User Melihat Dan User memantau
List Data User mencari List Data informasi yang
Knowledge nanti nya akan di
Management rekap pada basis
data apakah
informasi tersebut
ditolak atau
diterima oleh
bagian Filtering
d. Mengubah Data
Use Case Aktor Aksi Aktor Respon Sistem
User Mengubah Data Sistem akan
data-data dari mengubah data
pengguna setiap Sub Divisi,
Mengubah
User divisi termasuk Filtering, dan
Data
bagian Sub Divisi, Admin dan
Filtering, dan Admin disimpan ke
database.
e. Menambahkan Data
Use Case Aktor Aksi Aktor Respon Sistem
User klik Sistem akan
Menambahkan data Menambahkan
Menambahka
User data dan
n Data
disimpan ke
database.
F. Mengedit Data
Use Case Aktor Aksi Aktor Respon Sistem
User klik Mengedit Sistem akan
Mengedit Data Mengedit data
Data User dan disimpan ke
database.
G. Menghapus Data
Use Case Aktor Aksi Aktor Respon Sistem
User klik Menghapus Sistem akan
Menghapu data Menghapus data
s Data User dan disimpan ke
database
H. Menampilkan Data
Use Case Aktor Aksi Aktor Respon Sistem
User Dapat Sistem akan
User menampilkan data Menampilkan
Menampilkan
Data dan
Data
disimpan dalam
database
Entitas Status berguna untuk memuat data status yang akan digunakan pada
entitas master. Entitas Status memiliki atribut id dan nama_status dengan primary key
bernama id. Entitas selanjutnya yang berhubungan dengan entitas master yaitu
bernama entitas Divisi. Entitas Divisi berguna untuk menampung nama divisi yang
digunakan untuk pelaku pengguna perangkat lunak. Pada Entitas Divisi terdapat atribut
id dan nama_divisi dengan primary key bernama id. Terdapat pula entitas akses yang
berguna untuk menyimpan nama hak akses user pada aplikasi. Pada entitas akses
mempunyai atribut nama_akses dengan primary key id.
Entitas yang terakhir yaitu User. Entitas User berguna untuk menampung data
para pengguna (actor) dari perangkat lunak. Entitas User akan berelasi dengan entitas
Divisi dan Entitas Akses. Relasi tersebut berguna untuk mengetahui berasal dari divisi
manakah user tersebut dan mempunyai akses apakah user tersebut. Dan entitas
tersebut berguna untuk menyimpan secara otomatis Ketika sub divisi melakukan input
data. Entitas User mempunyai atribut username, password, nama, nomor telepon dan
dengan primary key nip.
a. Wawancara
Pada Tahap ini dilakukan tanya jawab secara lisan kepada Bapak Yusuf
Ahmadi selaku kepala subbagian pengelolaan data dan pelayanan TI BPK.
Wawancara tersebut dilakukan untuk menggali informasi yang berhubungan dengan
perancangan Sistem Pencarian Pengetahuan termasuk Divisi dan informasi yang
berguna untuk pemetaan permasalahan dalam pembuatan aplikasi.
b. Observasi
C. Studi Literatur
Cara kerja dari analisis Algoritma Boyer Moore pada aplikasi dilakukan dengan
cara User memasukkan sebuah kata yang selanjutnya String Input tersebut akan
diproses menggunakan Algoritma Boyer Moore untuk dicocokkan dengan data yang
ada pada basis data.
Data pencarian yang akan digunakan berupa tabel. Pada contoh diberikan contoh
tabel data isi materi.
Tabel 3.4 merupakan contoh data isi materi yang tersedia, kemudian user akan
memasukkan kalimat pencarian pada kolom pencarian. Kalimat pada pencarian akan
di pecah menjadi beberapa kata. lalu Kata tersebut akan disamakan dengan data yang
ada pada database menggunakan algoritma boyer moore. Berikut proses dari
persamaan kata dengan metode algoritma boyer moore.
Contoh Kasus :
Pattern : PEMROGRAMAN
Penyelesaian :
Pattern P E M R O G R A M A N
Pergesera 1
n
StackBmBc
Karakter
Nilai OH
Pattern P E M R O G R A M A N
Pergesera 2
n
StackBmBc
Karakte A
r
Nilai OH 1
Pattern P E M R O G R A M A N
Pergesera 3
n
StackBmBc
Karakter A M
Nilai OH 1 2
Pattern P E M R O G R A M A N
Pergesera 4
n
StackBmBc
Karakter A M
Nilai OH 1 2
Pattern P E M R O G R A M A N
Pergesera 5
n
StackBmBc
Karakte A M R
r
Nilai OH 1 2 4
Pattern P E M R O G R A M A N
Pergesera 6
n
StackBmBc
Karakter A M R G
Nilai OH 1 2 4 5
Pattern P E M R O G R A M A N
Pergesera 7
n
StackBmBc
Karakte A M R G O
r
Nilai OH 1 2 4 5 6
Pattern P E M R O G R A M A N
Pergesera 8
n
StackBmBc
Karakte A M R G O
r
Nilai OH 1 2 4 5 6
Pattern P E M R O G R A M A N
Pergesera 9
n
StackBmBc
Karakte A M R G O
r
Nilai OH 1 2 4 5 6
Pattern P E M R O G R A M A N
Pergesera 10
n
StackBmBc
Karakte A M R G O E
r
Nilai OH 1 2 4 5 6 7
Pattern P E M R O G R A M A N
Pergesera 0
n
StackBmBc
Karakter A M R G O E P
Nilai OH 1 2 4 5 6 7 8
Pattern P E M R O G R A M A N
Pergesera 4 7 2 4 6 5 4 1 2 1 0
n
StackBmBc
Karakter A M R G O E P N
Nilai OH 1 2 4 5 6 7 8 0
Pattern : DCBZPEMROGRAMAN
Penyelesaian :
Stack BMBC
Karakte P E M R O G R A M A N
r
Nilai OH 10 9 2 4 6 5 4 1 2 1 0
Stack BMGS
Karakte P E M R O G R A M A N
r
Nilai OH 11 11 11 11 11 11 11 11 11 11 1
Index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Text D C B Z P E M R O G R A M A N
Pattern P E M R O G R A M A N
Pada Gambar 3.8 terlihat bahwa pergeseran pada pattern selalu mengikuti hasil
perbandingan OH dan MH. Pada dasarnya, pencocokan standar akan mencocokan
karakter per karakter, ketika ditemukan ketidakmiripan maka pattern akan digeser satu
langkah ke arah selanjutnya. Namun tidak demikian pada algoritma Boyer-Moore.
Inilah alasan utama penulis menerapkan algoritma Boyer moore ini sebagai algoritma
pencarian isi materi data pada sistem Pencarian Pengetahuan Bidang IT ketika
dibutuhkannya sebuah proses pencocokan string.
Perangkat Keras:
4. OS: Windows 7
Perangkat Lunak
2 Pengambilan
Data
3 Integrasi Sistem
Secara
Keseluruhan
4 Pengujian
Evaluasi
Menyeluruh dan
Penyempurnaan
5 Pelaporan Akhir
BAB IV
HASIL DAN PEMBAHASAN
4.1 Hasil
Pada aplikasi web pelayanan TI, terdapat 4 aktor yang berperan sesuai dengan
tugas dan fungsi masing-masing. Pada aktor sub divisi mempunyai tugas untuk
melakukan input data terhadap data atau ilmu yang ingin dimasukkan pada aplikasi.
Selanjutnya pada aktor yang kedua yaitu filtering yang bertugas untuk melakukan cek
data dari subdivisi, apakah data sudah cocok dan sesuai. Pada Aktor Admin
mempunyai tugas dan hak akses pada semua data yang ada pada aplikasi. Pada aktor
User mempunyai akses untuk melihat keseluruhan data yang ter rekap pada aplikasi.
Pada pembahasan subbab ini, akan dibahas hasil dari tampilan aplikasi.
Setiap Aktor yang ingin memasuki halaman pelayanan TI, harus melalui proses
Login terlebih dahulu untuk menentukan apakah calon pengakses merupakan Aktor
resmi atau illegal. Penulis merancang halaman yang diakses oleh aktor harus melewati
1 form Login. Secara sederhana, halaman Sub divisi, Filtering dan Admin dihubungkan
dengan 1 portal form login. Redirect halaman, sistem akan secara otomatis membaca
id status yang telah terdaftar pada basis data. Sehingga tidak memerlukan banyak
halaman untuk pembuatan aplikasi. Halaman Login dapat anda lihat pada gambar
dibawah ini :
Pengujian Form Login dengan metode Black Box dapat ditunjukkan pada tabel
dibawah ini :
Ketika data-data yang dimasukkan oleh User sudah sesuai dengan basis data,
maka akan diarahkan ke halaman inti yang sesuai dengan divisi yang dijalani oleh
User. Halaman Antarmuka Sub Divisi, Filtering, dan Admin secara detail akan penulis
bahas pada subbab-subbab selanjutnya.
Diarahkan ke halaman
4. Login dan keluar dari Berhasil
Tombol Logout dapat menjadi Akun
jalan pintas User untuk keluar dari
akun (Logout)
Terdapat 2 menu yang ada pada halaman Sub Divisi yaitu menu Input data dan
menu List Data. Halaman menu Input data berguna untuk mengakomodasi user dalam
memasukkan data pada aplikasi. Tampilan antarmuka telah penulis rancang
sederhana agar User hanya perlu memasukkan informasi yang ingin dimasukkan.
User tidak perlu repot-repot untuk memilih list data bahwa informasi tersebut ditujukan
untuk divisi apa. Hal tersebut telah diakomodasi oleh sistem sehingga secara otomatis
informasi tersebut ditujukan untuk divisi yang sama oleh divisi User yang akan
melakukan input data. Penulis secara otomatis mengambil data tersebut pada basis
data dan selanjutnya disimpan pada Session, lalu akan diteruskan pada basis data
untuk proses input data. Tampilan antarmuka menu Input data dapat dilihat pada
gambar di bawah ini :
Form Input Data
Tombol
Submit data
Pada gambar diatas merupakan tampilan antarmuka menu Input data pada Sub
Divisi. Pengujian menggunakan metode Black Box pada antarmuka halaman menu
Input data dapat dilihat melalui tabel di bawah ini :
Tabel 4.3 Pengujian Black Box Menu Input data Sub Divisi
Menu yang kedua pada halaman Sub Divisi yaitu menu list data. Pada halaman list
data menampilkan data-data yang telah di input kan oleh User yang sesuai dengan
divisi pada User. Pada menu list data memungkinkan User memantau status informasi
yang telah di submit, apakah diterima atau ditolak oleh bagian Filtering. Informasi yang
didapat pada menu tersebut berasal dari basis data dengan melakukan filter pada SQL
yang mencantumkan hanya data-data yang ada pada divisi User. Tampilan antarmuka
menu list data dapat anda lihat pada gambar di bawah ini :
Gambar diatas merupakan tampilan antarmuka halaman menu List data pada Sub
Divisi. Pada halaman antarmuka list data ditampilkan Isi dari data, divisi, pengirim,
status pengirim, waktu pembuatan informasi, dan waktu untuk update. Halaman
tersebut digunakan untuk mengakomodasi User dalam memantau informasi yang nanti
nya akan di rekap pada basis data apakah informasi tersebut ditolak atau diterima oleh
bagian Filtering. Pengujian halaman menu list data menggunakan metode Black Box
dapat dilihat pada tabel di bawah ini :
Tabel 4.4 Pengujian Black Box Menu List data Sub Divisi
Tombol
Tombol
Logout
Menu
Sidebar
Pada halaman Filtering terdapat Sidebar, Tombol Menu Sidebar, Tombol Logout,
dan Isi menu. Sidebar berguna untuk menampung menu-menu dari tiap keperluan
untuk bagian Filtering. Tombol menu sidebar berguna untuk menampilkan atau
menyembunyikan menu sidebar dari halaman. Tombol Logout dapat digunakan oleh
User apabila ingin keluar dari akun aplikasi. Tombol tersebut merupakan tombol cepat
yang dapat digunakan User selain menggunakan tombol Logout pada Sidebar. Pada
halaman tersebut juga terdapat isi menu yang akan berubah seiring dengan menu
yang dipilih oleh User pada Sidebar. Penulis menggunakan metode Templating dari
Laravel, sehingga untuk perpindahan dari setiap menu yang akan berubah hanya isi
menu nya saja. Dengan demikian dapat meringankan beban web untuk Load aplikasi.
Pengujian halaman inti Filtering menggunakan metode Black Box dapat dilihat pada
tabel dibawah ini :
Menyembunyikan dan
2. Tombol menu Sidebar digunakan Berhasil
menampilkan Sidebar
untuk menyembunyikan dan
menampilkan menu Sidebar.
Menu Filter data berguna untuk menyaring data yang telah di input kan oleh
bagian Sub Divisi. Gambar antarmuka halaman pada menu list data dapat anda lihat
pada gambar dibawah ini :
Gambar 4.9 Halaman Menu Filter Data
Pada halaman menu list data terdapat data-data yang telah di input kan oleh
bagian Sub Divisi. Pada kolom Aksi terdapat tombol yang dapat digunakan untuk
mengakomodasi pengguna Filtering untuk menyeleksi informasi yang ada. Pada
halaman menu list data terdapat kolom dan tombol cari yang dapat memudahkan
pengguna mencari data pada halaman menu tersebut. Pengujian halaman menu list
data menggunakan metode Black Box dapat anda lihat pada tabel di bawah ini :
Menu yang terakhir pada halaman Filtering yaitu menu list data. Menu ini
mengakomodasi informasi-informasi yang telah di filter oleh bagian Filtering. Tampilan
antarmuka menu list data dapat dilihat pada gambar dibawah ini :
Menu
Tombol
Sidebar
Pada antarmuka halaman inti Admin terdapat sidebar, tombol sidebar, Menu, dan
Isi Menu. Sidebar berfungsi untuk mengakomodasi User memilih menu yang di
inginkan. Tombol Sidebar berguna untuk menampilkan dan menyembunyikan Sidebar.
Menu berguna sebagai alternatif dari pemilihan menu yang disediakan pada Sidebar.
Isi menu merupakan antarmuka yang mengakomodasi informasi dari menu. Penulis
menggunakan sistem Templating pada Laravel, sehingga apabila berpindah antar
menu maka yang berubah hanya isi menu nya saja. Dengan demikian akan
meringankan beban aplikasi dalam load tampilan. Pengujian antarmuka halaman inti
admin menggunakan metode Black Box dapat dilihat pada tabel dibawah ini :
Menampilkan dan
2. menyembunyikan Berhasil
Tombol menu dapat menampilkan Sidebar.
dan menyembunyikan Sidebar.
Mengakomodasi
3. Berhasil
Menu dapat mengakomodasi pemilihan menu.
pemilihan menu pada User.
Pada halaman Admin terdapat beberapa list menu yang dapat mengakomodasi
keperluan memanipulasi data yaitu menu Dashboard, Data Master, Data User, Data
Divisi, Data Akses, dan Data Status. Pembahasan antarmuka dan fungsional menu
akan dibahas lebih rinci pada pembahasan-pembahasan selanjutnya.
Mengarahkan ke
2. halaman form tambah Berhasil
Tombol Tambah mengarahkan ke data
halaman form tambah data
Mengarahkan ke
3. Berhasil
Tombol Edit mengarahkan ke halaman form edit data
halaman form edit data.
Memproses
4. Berhasil
Tombol Hapus memproses penghapusan data.
penghapusan data.
Pada antarmuka halaman menu data user terdapat tabel data pengguna dari
semua divisi yang diambil dari basis data. Pada halaman tersebut terdapat tombol
tambah, edit, dan hapus. Tombol tersebut dapat mengakomodasi User untuk
melakukan Create, Read, Update, Delete (CRUD) data pada aplikasi. Terdapat pula
tombol dan kolom cari untuk memudahkan User melakukan pencarian pada menu data
user. Pengujian antarmuka halaman menu data user menggunakan metode Black Box
dapat dilihat pada tabel dibawah ini :
Mengarahkan ke
2. halaman form tambah Berhasil
Tombol Tambah mengarahkan ke data
halaman form tambah data
Mengarahkan ke
3. Berhasil
Tombol Edit mengarahkan ke halaman form edit data
halaman form edit data.
Memproses
4. Berhasil
Tombol Hapus memproses penghapusan data.
penghapusan data.
Menu Data Divisi merupakan menu yang mengakomodasi Data pada Divisi yang
dapat digunakan dalam pengiriman informasi. Pada saat sistem ini dibuat, terdapat 3
divisi yang dilakukan ujicoba pada sistem. Apabila dalam pengembangan aplikasi
terdapat penambahan divisi, maka dapat memanipulasi data pada menu divisi.
Antarmuka halaman menu divisi dapat dilihat pada gambar dibawah ini :
Pada halaman menu data divisi terdapat tombol tambah, edit, dan hapus yang
dapat digunakan untuk mengakomodasi User dalam memanipulasi data pada basis
data. Terdapat juga kolom dan tombol cari yang dapat digunakan untuk melakukan
pencarian data pada halaman data divisi. Pengujian antarmuka halaman menu data
divisi dapat dilihat pada tabel dibawah ini :
Mengarahkan ke
2. halaman form tambah Berhasil
Tombol Tambah mengarahkan ke data
halaman form tambah data
Mengarahkan ke
3. Berhasil
Tombol Edit mengarahkan ke halaman form edit data
halaman form edit data.
Memproses
4. Berhasil
Tombol Hapus memproses penghapusan data.
penghapusan data.
Pada menu selanjutnya yaitu menu data akses. Menu tersebut berguna untuk
mengakomodasi informasi dari data pengakses. Ketika penulis merancang aplikasi
tersebut terdapat 3 pengakses yaitu Sub Divisi, Filtering, dan Admin. Tampilan
antarmuka halaman menu data akses dapat dilihat pada gambar dibawah ini :
Mengarahkan ke
2. halaman form tambah Berhasil
Tombol Tambah mengarahkan ke data
halaman form tambah data
Mengarahkan ke
3. Berhasil
Tombol Edit mengarahkan ke halaman form edit data
halaman form edit data.
Memproses
4. Berhasil
Tombol Hapus memproses penghapusan data.
penghapusan data.
Menu terakhir pada Web Admin yaitu menu data status. Menu tersebut berfungsi
untuk menampung data yang akan digunakan untuk menentukan status dari setiap
informasi pada data tabel master. Pada saat aplikasi yang penulis rancang saat ini
terdapat 3 status untuk menetukan status informasi pada data tabel master yaitu
Pending, Diterima, dan Ditolak. Apabila pada saat pengembangan aplikasi ini ingin
terdapat penambahan, pengurangan, atau Pengubahan Status maka dapat diubah
pada menu ini. Antarmuka pada halaman menu data status dapat dilihat pada gambar
di bawah ini :
Pada halaman menu data akses terdapat tombol tambah, edit, dan hapus yang
dapat mengakomodasi User dalam memanipulasi data status pada basis data.
Terdapat pula tombol dan kolom cari yang dapat digunakan untuk mengakomodasi
pencarian data pada menu data status. Pengujian antarmuka aplikasi menggunakan
metode Black Box dapat dilihat pada tabel dibawah ini :
Mengarahkan ke
2. halaman form tambah Berhasil
Tombol Tambah mengarahkan ke data
halaman form tambah data
Mengarahkan ke
3. Berhasil
Tombol Edit mengarahkan ke halaman form edit data
halaman form edit data.
Memproses
4. Berhasil
Tombol Hapus memproses penghapusan data.
penghapusan data.
Menu Filter
Menu Cari
Data Master
Stack BMBC
Karakte P E M R O G R A M A N
r
Nilai OH 10 9 2 4 6 5 4 1 2 1 0
Stack BMGS
Karakte P E M R O G R A M A N
r
Nilai OH 11 11 11 11 11 11 11 11 11 11 1
Index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Text D C B Z P E M R O G R A M A N
Pattern P E M R O G R A M A N
Pada proses pencarian diatas memberikan hasil bahwa kata pemrograman ditemukan
pada data isi materi yang ada. Jadi data isi materi yang dimaksud akan dimunculkan
dalam bentuk table.Implementasi algoritma dapat juga pembaca lihat pada gambar
dibawah ini :
Gambar 4.20 Isi List Data
Pada gambar diatas, mula-mula penulis coba mencari isi dari list data dengan
kata kunci “pemrograman”. Selanjutnya pengguna dapat menekan tombol “Cari”.
Algoritma Boyer Moore akan memproses data yang ada pada basis data. Selanjutnya
apabila data yang dicari ada pada isi basis data, maka akan ditampilkan dengan efek
tebal (Bold) pada tulisan seperti pada gambar dibawah ini :
Pada Gambar 4.20 terlihat bahwa pergeseran pada pattern selalu mengikuti hasil
perbandingan OH dan MH. Pada dasarnya, pencocokan standar akan mencocokan
karakter per karakter, ketika ditemukan ketidakmiripan maka pattern akan digeser satu
langkah ke arah selanjutnya. Namun tidak demikian pada algoritma Boyer-Moore.
Inilah alasan utama penulis menerapkan algoritma Boyer moore ini sebagai algoritma
pencarian isi materi data pada sistem Pencarian Pengetahuan Bidang IT ketika
dibutuhkannya sebuah prosespencocokan string.
Apabila hasil pencarian ada pada isi basis data maka akan ditampilkan beserta
kata kunci yang dicari. Pada gambar diatas kata kunci “pemrograman” bercetak tebal.
Apabila hasil pencarian tidak ada pada basis data, maka akan memunculkan data
kosong seperti pada gambar dibawah ini :
Gambar 4.21 Hasil pencarian List Data Tidak Ada
Pada halaman menu filter data terdapat isi data hasil kiriman dari sub divisi. Mula-
mula terdapat data pada gambar yang telah penulis paparkan diatas. Selanjutnya
penulis mencoba mencari data dengan kata kunci “ini adalah” pada pencarian seperti
yang ada pada gambar dibawah ini :
Pada kolom cari diatas, penulis mencoba mengetikkan kata kunci yang
digunakan untuk mencari data pada halaman filter data. Hasil yang didapatkan pada
gambar dibawah ini :
Gambar 4.24 Hasil Cari Filter Data Ada
Pada gambar diatas menampilkan data yang hanya sesuai dengan kata kunci
yang dicari, pada kasus diatas kata kunci yang dicari yaitu “ini adalah”. Selanjutnya
sistem akan menampilkan baris data yang terdapat kata “ini_adalah” dengan kata yang
bercetak tebal. Selanjutnya penulis akan mencoba mencari data dengan kata kunci
“asdasdas” pada baris pencarian maka hasilnya tidak menampilkan satu data pun
dikarenakan kata pencarian tidak sesuai dengan yang ada pada basis data. Hasil
pencarian dapat ditunjukkan pada gambar dibawah ini :
Selanjutnya penulis akan mencoba mencari pada kolom pencarian dengan kata
kunci “ini adalah”. Selanjutnya data akan tertampil seperti pada gambar di bawah ini :
4.2 Pembahasan
Penelitian ini berdasarkan proses pencarian kata pada Sistem pencarian kata
aplikasi Pelayanan TI Badan Pemeriksa Keuangan RI Pusat, yang sulit dilakukan
karena jumlah data pengetahuan yang belum ada dimasukan ke dalam sistem aplikasi
dan masih sebatas pengetahuan masing-masing personil.
Pengumpulan data diambil dengan cara melalui wawancara langsung dengan
Yusuf Ahmadi selaku kepala subbagian pengelolaan data dan pelayanan TI BPK
Pusat. Data yang digunakan merupakan judul dan pembuatan aplikasi sistem
pencarian kata pengetahuan.Penentuan pencarian kata ini dengan cara Memfilter data
pencarian kata pengetahuan yang sangat banyak nantinya sesuai kehendak user
untuk mencarinya.Oleh karena itu, penulis melakukan penelitian untuk memperoleh
hasil memfilter pencarian kata pengetahuan dengan mengunakan metode Algoritma
Boyer Moore.
Langkah utama yang dilakukan setelah pengambilan data yaitu membuat sistem
aplikasi pencarian kata sesuai dengan permintaan user dengan mengunakan metode
waterfall. Setelah itu menerapkan metode algoritma boyer moore ke dalam sistem
aplikasi pencarian kata pengetahuan. Setelah diperoleh hasil Pencarian sesuai
kehendak user, Kemudian dilakukan perhitungan nilai pergeseran pada kata agar
sesuai dengan ketepatan pencarian pengetahuan tersebut dengan mengunakan
metode perhitungan algoritma Boyer Moore.
Pengujian dilakukan dengan menggunakan aplikasi berbasis web yang telah
dibangun dengan tujuan untuk mempermudah proses pemfilteran pencarian kata.pada
aplikasi sistem pencarian kata ini,proses pencarian kata dilakukan dengan
mengimplementasikan metode algoritma Boyer Moore. Hasil pengujian terhadap
pencarian kata menghasilkan pergeseran pencarian kata yang tepat dan sesuai
kehendak user.
Pada proses pembuatan aplikasi tersebut, kendala yang ditemukan yaitu harus
memahami cara ketepatan filtering kata pada pencarian pengetahuan dan perhitungan
metode Boyer Moore terhadap pergeseran terhadap kata yang dicari untuk kemudian
diimplementasikan ke dalam koding dengan bahasa pemrograman PHP dengan
mengunakan Framework Laravel.
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan penelitian yang telah penulis paparkan di atas, terdapat
kesimpulan yang diperoleh penulis yaitu :
Cara kerja Algoritma Boyer Moore melakukan pencocokan String dari sisi kanan
pada objek pencocokan. mempunyai keunggulan yaitu dalam waktu
menemukan pattern yang akan dicari dalam ukuran file data yang lebih
besar. yang di harapkan bisa membantu dalam sistem pencarian data
pengetahuan yang di inginkan user.
5.2 Saran
Berdasarkan penelitian di atas, saran yang dapat penulis sampaikan kepada
pembaca yang mungkin akan melakukan penelitian yang hampir sejenis yaitu :
1. Diharapkan tersedia nya fitur chatbot maupun fitur live chat pada halaman
utama untuk dapat dijadikan User sebagai sarana menyampaikan kritik dan
saran terkait aplikasi yang digunakan.
2. Aplikasi dapat menjangkau di lebih banyak divisi untuk dapat merekap informasi
pada divisi yang lain.
3. Terdapat fitur penampilan data diri pada setiap halaman actor untuk mengetahui
apabila terdapat data diri yang salah.
DAFTAR PUSTAKA
Darmawan, Rizky Ivan, and Anif Hanifa Setianingrum. 2018. “Implementasi Algoritma Boyer Moore
Pada Aplikasi Kamus Istilah Kebidanan Berbasis Web.” 5341(April):53–62.
Hakim, Lukman, Vivi Juliana, Program Studi, Teknik Informatika, Fakultas Teknologi, and Universitas
Bunda Mulia. 2016. “Implementasi Algoritma Boyer Moore Pada Web E-Katalog Flora Dan Fauna Pulau
Jawa Dan Sumatera.” VIII(28):52–62.
Borman, Rohmat Indra, and Agus Pratama. 2016. “PENERAPAN STRING MATCHING DENGAN
ALGORITMA BOYER MOORE PADA APLIKASI FONT ITALIC.” 10(2):1–5.
DAFTAR RIWAYAT HIDUP
Data Personal
NIM : 2016-31-012
Nama : Syukry Ansis
Tempat/Tgl. Lahir : Surabaya, 30 juni 1997
Jenis Kelamin : Laki-laki
Agama : Islam
Status Perkawinan : Belum Menikah
Program Studi : S1 Teknik Informatika
Alamat Rumah : Jl Gayungsari 7 no 15 Surabaya
Telp : 081330112810
E-mail : syukryansis@gmail.com
Pendidikan
Tahun
Jenjang Nama Lembaga Jurusan
Lulus
SD SDN Gayungan 2 - 2010
SMP SMP Kemala Bhy 1 - 2013
SMA SMAN 16 Surabaya IPA 2015
Demikian daftar riwayat hidup ini dibuat dengan sebenarnya.
Jakarta, 26 Februari 2020
Mahasiswa Ybs.
SYUKRY ANSIS
201631012
LAMPIRAN
Tanggal Paraf
Tgl Paraf
Materi Bimbingan Pemb.
. Pemb.2
1
Pembahasan Proposal, Tema, Konsep dan 20 Maret
1
Judul 2020
2 Pembahasan Jurnal dan Keterkaitan Judul 1 April 2020
13 Penulisan Abstrak