1.7. Sistematika Penulisan
Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama sebagai berikut:
BAB I PENDAHULUAN
Bab ini berisi mengenai latar belakang pemilihan judul skripsi “Implementasi Algoritma Brute Force dan Algoritma Knuth-Morris-Pratt dalam Pencarian
Word Suggestion ”, rumusan masalah, batasan masalah, tujuan penelitian,
manfaat penelitian, metodologi penelitian, dan sistematika penulisan.
BAB II LANDASAN TEORI Bab ini berisi tentang teori-teori yang berkaitan dengan penelitian, antara lain
definisi Algortima, Algoritma String Matching, Algoritma Brute Force, Algoritma Knuth-Morris-Pratt dan Word Suggestion.
BAB III ANALISIS DAN PERANCANGAN Bab ini berisi tentang uraian analisis mengenai proses kerja dari Algoritma
Brute Force dan Algoritma Knuth-Morris-Pratt dalam pencarian Word
Suggestion yang terdiri dari flowchart ,Unified Modeling Language UML
dan perancangan interface aplikasi.
BAB IV IMPLEMENTASI DAN PENGUJIAN Bab ini berisi implementasi sistem dan coding berdasarkan hasil analisis dan
perancangan. Pengujian dilakukan untuk membuktikan perangkat lunak berjalan sesuai dengan spesifikasi yang telah ditentukan pada tahap analisis.
BAB V KESIMPULAN DAN SARAN Bab ini berisi mengenai kesimpulan dari keseluruhan uraian dari bab-bab
sebelumnya dan saran-saran dari hasil yang telah diperoleh yang kedepannya diharapkan dapat bermanfaat dalam pengembangan selanjutnya.
Universitas Sumatera Utara
BAB II
LANDASAN TEORI
1.8. Query
Query adalah satu atau beberapa kata atau frase kalimat yang di masukan di ketikan
oleh pengguna saat melakukan pencarian pada search engine google atau search engine lainnya.
1.9. Search Engine
Mesin pencari search engine adalah salah satu program komputer yang di rancang khusus untuk membantu seseorang menemukan file-file yang disimpan dalam
komputer, misalnya dalam sebuah web server umum di web www atau komputer sendiri Supriyadi, Eko. 2009. Mesin pencari memungkinkan kita untuk meminta
content media dengan kriteria yang spesifik biasanya berisikan frase atau kata yang
kita inginkan dan memperoleh daftar file yang memenuhi kriteria tersebut. Mesin pencari biasanya menggunakan indeks yang sudah di buat sebelumnya
dan di mutakhirkan secara teratur untuk mencari file setelah pengguna memasukan kriteria pencarian. Mesin pencari yang akan saya bahas adalah mesin pencari khusus
yang di gunakan untuk mencari informasi dan berbagai file di Internet, sehingga mesin pencari sangat berguna bagi para penggunanya untuk mencari berbagai bahan
referensi atau lainnya. Untuk memudahkan pencarian di database yang begitu besar, mesin pencari
menggunakan indeks untuk memilah-milah informasi yang ada di database. Sedangkan untuk memudahkan dan mempercepat pencarian, mesin pencari
mempunyai metode pencarian tertentu yang sering di sebut algoritma pencarian,
Universitas Sumatera Utara
kecepatan dan ketepatan pencarian sebuah mesin pencarian tergantung kepada cara pengindeksan dan algoritma pencarian yang digunakan.
Adapun struktur umum sebuah mesin pencari adalah sebagai berikut : 1.
Kotak teks pencari Kotak ini digunakan sebagai tempat memasukan kata kunci yang akan
dijadikan acuan dilakukan pencarian. 2.
Tombol pencari Tombol ini yang akan menjalankan perintah pencarian.
2.2.1. Jenis – Jenis Mesin Pencari Search Engine
Berdasarkan cara mengumpulkan data halaman-halaman web, mesin pencari dapat di kelompokkan menjadi 4 kategori yaitu :
1. Human Organized Search Engine
Mesin pencari yang di kelola sepenuhnya oleh tangan manusia. Mesin pencari ini menggunakan metode dengan memilah-milih informasi yang relevan dan
dikelompokan sedemikian rupa sehingga lebih bermakna dan bermanfaaat bagi penggunannya. Situs ini dalam prakteknya memperkerjakan para pakar dalam
bidang-bidang tertentu, kemudian para pakar tersebut dapat mengkelompokan situs-situs tertentu sesuai dengan bidangnnya atau kategori situs itu sendiri.
2. Computer Created Search Engine
Search engine kategori ini banyak memiliki kelebihan karena banyak menyajikan informasi walaupun kadang-kadang ada beberapa informasi yang
tida relevan tidak seperti yang kita ingin kan. Search engine ini telah menggunakan software laba-laba atau spider software yang berfungsi
menyusup pada situs-situs tertentu, kemudian mengunpulkan data serta mengelompokan dengan sedikit bantuan tangan manusia.
Universitas Sumatera Utara
3. Hybrid Seacrh Engine
Merupakan gabungan antara tangan manusia dengan komputer, sehingga menghasilkan hasil pencarian yang relatif akurat. Peran manusia dalam hal ini
adalah sebagai penelaah dalam proses pengkoleksian database halaman web. Sebenarnya tipe ini lah yanag paling mudah pembuatannya karena dapat di
desain sesuai dengan keinginan kita.
4. MetaCrawler Meta Search
Merupakan perantara dari mesin pencari yang sebenarnya. Mesin ini hanya akan mengirimkan permintaan pencarian ke berbagai mesin pencari serta
menampilkan hasilnya satu di layer browser sehingga akan menampilkan banyak sekali hasil dari berbagai mesin pencari yang ada.
2.2.2. Cara Kerja Mesin Pencari Search Engine
Mesin pencari web bekerja dengan cara menyimpan informasi tertang banyak halaman web
, yang diambil secara langsung dari www. Halaman ini di ambil dengan web crawler-browser
, web yang otomatis mengikuti setiap pranala yang di lihatnya. Isi setiap halaman lalu dianalisis untuk menentukan cara mengindeksnya misalnya kata-
kata di ambil dari judul, subjudul, atau field khusus yang di sebut meta tag . Data tentang halaman web disimpan dalam sebuah database indeks untuk di gunakan dalam
pencarian selanjutnya. Sebagian mesin pencari seperti Google, menyimpan seluruh atau sebagian halaman sumber yang di sebut cache maupun informasi tentang
halaman web itu sendiri. Ketika seorang pengguna menggunakan mesin pencari dan memasukin query, biasanya dengan memasukan kata kunci, mesin mencari akan
meng-indesk dan memberikan daftar halaman web yang paling sesuai dengan kriterianya. Daftar ini biasanya di sertai ringkasan singkat menggenai judul dokumen
dan terkadang sebagian teks dari hasil pencarian yang kita cari.
Universitas Sumatera Utara
2.3. Word Suggestion
Word suggestion merupakan kata berbahasa inggris yang berarti “Sugesti Kata”.
Jika kita uraikan menurut Kamus Umum Bahasa Indonesia, “Kata” berarti unsur bahasa yg diucapkan atau dituliskan yg merupakan perwujudan kesatuan perasaan dan
pikiran yg dapat digunakan dalam berbahasa, sedangkan “Sugesti” adalah pendapat yg
dikemukakan untuk dipertimbangkan; anjuran; saran; 2 pengaruh yg dapat menggerakkan hati orang ; dorongan. KBBI Online, 2015
Word suggestion merupakan fungsi dari Aplikasi Auto Text yang digunakan
untuk memberikan saran terhadap kata yang akan diketik atau dicari. Dengan mengetikkan beberapa huruf atau seluruh huruf maka sistem akan mencari ke dalam
database apakah ada sebuah kata yang memenuhi kriteria dari huruf-huruf yang
dimasukkan. Jika setelah dicek dan ternyata di dalam database ada, maka akan muncul list yang menunjukkan sugesti kata yang ada. Pengecekan itu sendiri
berdasarkan dari kecocokan huruf dari kata yang dimasukkan user dengan list kata- kata yang ada di database Pradhana, F. 2012
2.3.1. Cara Kerja Word Suggestion
Menurut Fandi Pradhana 2012 cara kerja word suggestion dalam sistem pencarian adalah sebagai berikut:
a. User menentukan informasi yang akan dicari, Misalnya informasi yang akan
dicari User adalah “Play” dalam sebuah database kamus, maka setiap User
melakukan input, word suggestion mencocokan teks input dengan database informasi yang akan dicari.
b. Jika User meng-input karakter “P”, maka word suggestion akan menampilkan
beberapa data yang cocok dengan database kamus, misalnya ”Play”, “Pool”,
“Pluto”, dan “Plan”. Biasanya word suggestion membatasi jumlah opsi yang akan ditampilkan.
c. Dengan adanya word suggestion User bisa dengan mudah menemukan kata
“Play” dengan cepat. Pradhana, F. 2012
Universitas Sumatera Utara
2.4. Algoritma
Istilah algoritma digunakan dalam ilmu komputer untuk menggambarkan metode pemecahan masalah yang terbatas, deterministik, dan efektif yang cocok untuk
implementasi sebagai program komputer Sedgewick et al, 2011. Algoritma yang akan di implementasikan pada penelitian ini adalah algoritma
String Matching yaitu algoritma Brute Force dan algoritma Knuth-Morris-Pratt
KMP . Hal ini dikarenakan menurut banyak peneliti komputer menganggap bahwa
String matching adalah pencarian sebuah pattern pada sebuah teks. Menurut Munir
2004 algoritma string matching adalah algoritma yang ditujukan untuk melakukan pencocokan sub string pada string besar.
2.4.1. Algoritma Pencocokan String String Matching
Algoritma pencocokan string merupakan komponen dasar dalam pengimplementasian berbagai perangkat lunak praktis yang sudah ada. String matching digunakan untuk
menemukan satu atau lebih string yang disebut dengan pattern string yang akan dicocokkan ke dalam text dalam string yang disebut dengan text string yang di-
input Charras Lecroq, 2004.
Menurut Singla dan Garg 2012, ada dua teknik utama dalam algoritma string matching
yaitu exact matching dimana hasil pencocokannya mengandung string yang sama persis dengan string yang di-input, contohnya pada algoritma Needleman
Wunsch , algoritma Smith Waterman, algoritma Knuth-Morris-Pratt, algoritma Boyer-
Moore-Horspool dan approximate matching dimana hasil pencocokannya
mengandung string yang tidak harus persis dengan string yang di-input, contohnya pada algoritma Fuzzy String Searching, algoritma Rabin Karp, algoritma Brute Force.
2.4.2. Klasifikasi Algoritma Pencocokan String String Matching
Menurut Christian Charras dan Thierry Lecroq 2004:12-14 yang diterjemahkan oleh Serupa Creative Commons yang dilansir dari situs Wikipedia 2013 tentang
Algoritma Pencocokan String, Algoritma pencocokkan string dapat diklasifikasikan menjadi tiga bagian menurut arah pencariannya, yaitu :
a. Dari arah yang paling alami, dari kiri ke kanan, yang merupakan arah untuk
membaca, algoritma yang termasuk kategori ini adalah:
Universitas Sumatera Utara
1. Algoritma Brute Force
2. Algoritma dari Morris dan Pratt, yang kemudian dikembangkan
oleh Knuth, Morris, dan Pratt. b.
Dari kanan ke kiri, arah yang biasanya menghasilkan hasil terbaik secara praktikal, contohnya adalah Algoritma dari Boyer dan Moore, yang kemudian
banyak dikembangkan, menjadi algoritma turbo Boyer Moore, Algoritma Tuned
Boyer Moore, dan algoritma Zhu-Takaoka. c.
Dan kategori terakhir, dari arah yang ditentukan secara spesifik oleh algoritma tersebut, arah ini menghasilkan hasil terbaik secara teoritis, algoritma yang
termasuk kategori yaitu Algoritma Colussi dan Algoritma Crochemore-Perrin.
2.4.3. Algoritma Brute Force
Charras dan Lecroq 2004 meneliti bahwa algoritma Brute Force digunakan dalam pengecekan pada setiap kedudukan dalam text dari karakter pertama hingga karakter
akhir. Seusai pengecekan karakter pertama terjadi, maka proses shift dilakukan dengan berpindah tepat satu posisi ke arah kanan berpindah ke karakter kedua, ketiga dan
seterusnya. Algoritma Brute Force tidak memerlukan tahap praproses. Selama tahap pencarian, pembadingan karakter pada text dapat selesai pada posisi manapun.
Berikut merupakan coding algoritma Brute Force dalam bahasa C. void BF char x, int m, char y, int n {
int i, j;
Searching for j = 0; j = n
– m { for i = 0; i m x[i] == y[i + j]; ++i;
if i = m OUTPUTj;
} }
Universitas Sumatera Utara
Pada algoritma Brute Force, diberikan y sebagai text dan x sebagai pattern. Maka dilakukanlah proses pencocokan pattern pada text-nya. Untuk tahap pencocokan
pertama, dilakukan pencocokan terhadap text sepanjang karakter dari pattern. Apabila match
karakter pertama pada text dan karakter pertama pada pattern, maka dimulailah proses pencocokan pertama. Pada pencocokan pertama ini, dilakukanlah pencocokan
pada karakter kedua untuk masing-masing text dan pattern. Apabila ditemukan match pada pencocokan ini, maka lakukanlah pencocokan untuk karakter-karakter
selanjutnya. Jika mismatch terjadi, maka proses berlanjut pada tahap pencocokan kedua.
Tahap pencocokan kedua dilakukan dengan berpindah satu karakter ke arah kanan dari tahap pencocokan pertama. Dilakukanlah pencocokan karakter kedua dari
text dan karakter pertama pada pattern awal pada tahap sebelumnya. Jika ditemukan
match pada pencocokan ini, maka dimulailah proses pencocokan kedua. Selanjutnya lakukan pencocokan pada karakter ketiga pada text dan karakter kedua pada pattern.
Apabila match, lanjutkan ke karakter-karakter berikutnya dan apabila mismatch, lakukan tahap pencocokan ketiga. Untuk memulai tahap pencocokan ketiga,
berpindahlah satu karakter ke arah kanan terhadap text. Tahap demi tahap dilakukan pada proses pencocokan hingga ditemukan match
pada text yang karakternya sama panjang terhadap karakter pada pattern. Proses berakhir saat karakter terakhir pada text telah dilakukan pencocokan ditemukan atau
tidaknya pattern pada text. Sebagai
contoh, diberikan
sejumlah karakter
sebagai text
= GCATCGCAGAGAGTATACAGTACG dan yang akan dicocokkan adalah pattern =
GCAGAGAG sebagaimana dikutip pada Carras dan Lecroq 2004. Gambar 2.1 dan gambar 2.2 berikut akan menggambarkan proses pencocokan yang telah dijelaskan
sebelumnya pada algoritma Brute Force dimana y merupakan text dan x merupakan pattern
. Setelah dilakukan tahap pencocokan sepanjang karakter pada pattern, proses shift
dilakukan dengan berpindah tepat satu karakter ke arah kanan terhadap text.
Universitas Sumatera Utara
Gambar 2.1 Ilustrasi tahap pencarian algoritma brute force
Universitas Sumatera Utara
Gambar 2.2 Ilustrasi tahap pencarian algoritma brute force lanjutan
Universitas Sumatera Utara
Menurut Fandi Pradhana 2012 pseudocode pada Algoritma Brute Force adalah sebagai berikut :
Public static int BruteForce string text, string pattern {
Int n = text.length; cari panjangnya text Int m = pattern.length; cari panjangnya pattern
Int j; For int i = 0; i = n-m; i++ {
J = 0; While j m text.charAti+j == pattern.charAtj
J++; Ifj == m
Return i; kecocokan ditemukan di i }
Return -1; tidak ada yang cocok }
Pada fungsi Brute Force Panjang teks di masukkan ke dalam variabel n, Panjang pattern dimasukkan ke variabel m, dilakukan pengulangan untuk
membandingkan karakter dimulai dari 0 sampai n-m, di dalam pengulangan tersebut dilakukan perbandingan karakter pada text dan pattern. Jika ditemukan kecocokan di
kembalikanlah nilai i, jika tidak di kembalikan nilai -1.
2.4.4. Algoritma Knuth-Morris-Pratt
Algoritma Knuth Morris Pratt merupakan salah satu algoritma yang sering digunakan untuk menyelesaikan masalah pencocokan string. Algoritma ini adalah
penyempurnaan dari algoritma pencocokan string dengan menggunakan algoritma brute force
. Pada algoritma brute force, setiap kali ditemukan ketidak cocokan pattern dengan teks, maka pattern akan digeser satu ke kanan. Sedangkan pada algoritma
Knuth-Morris-Pratt, kita memelihara informasi yang digunakan untuk melakukan jumlah pergeseran. Algoritma menggunakan informasi tersebut untuk membuat
pergeseran angka lebih jauh, tidak hanya satu karakter seperti pada algoritma brute force
. Dengan algoritma Knuth Morris Pratt ini, waktu pencarian dapat dikurangi
Universitas Sumatera Utara
secara signifikan. Algoritma Knuth Morris Pratt ini dikembangakan oleh D. E. Knuth, bersama-sama dengan J. H. Morris dan V. R. Pratt 1997.
Algoritma Knuth-Morris-Prath memelihara informasi yang digunakan saat melakukan pergeseran. Informasi ini digunakan untuk melakukan pergeseran yang
lebih jauh, tidak seperti brute force yang melakukan pergeseran perkarakter. Pergeseran dilakukan berdasarkan suffix kesamaan suffix dan prefix dalam pattern dan
yang ditemukan di dalam teks. Secara sistematis, langkah-langkah yang dilakukan algoritma Knuth-Morris-Pratt pada saat mencocokkan string :
1. Algoritma Knuth-Morris-Pratt mulai mencocokkan pattern pada awal teks.
2. Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter
pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi
berikut dipenuhi: 1.
Karakter di pattern dan di teks yang dibandingkan tidak cocok mismatch. 2.
Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan penemuan di posisi ini.
3. Algoritma kemudian menggeser pattern berdasarkan tabel, lalu
mengulangi langkah 2 sampai pattern berada di ujung teks.
Pencocokan karakter dari kiri ke kanan mencari prefix terpanjang dari P[0..j-1] yang juga merupakan suffix dari P [1..j-1], untuk menghindari pergeseran yang tidak
perlu. Hasil dari pencarian prefix terpanjang disimpan dalam tabel yang disebut juga sebagai failure function. Misalkan panjang string yang telah diperiksa dan cocok = n
dan nilai dari failure function adalah M, maka dilakukan pergeseran sebanyak n-m.
Universitas Sumatera Utara
Gambar 2.3 dan gambar 2.4 berikut akan menggambarkan proses pencocokan yang telah dijelaskan sebelumnya pada algoritma Knuth-Morris-Pratt dikutip Carras dan
Lecroq 2004, dimana y merupakan text dan x merupakan pattern. Setelah dilakukan tahap pencocokan sepanjang karakter pada pattern, proses shift dilakukan dengan
berpindah tidak hanya satu karakter seperti pada algoritma brute, pada algoritma Knuth-Morris-Pratt
, algoritma ini dapat memelihara informasi yang digunakan untuk melakukan jumlah pergeseran.
Gambar 2.3 Ilustrasi tahap pencarian algoritma Knuth-Morris-Pratt
y x
y x
y x
y x
Universitas Sumatera Utara
Gambar 2.4 Ilustrasi tahap pencarian algoritma Knuth-Morris-Pratt lanjutan
y x
y x
y x
y x
Universitas Sumatera Utara
Menurut Fandi Pradhana 2012 berikut merupakan pseudocode pada algoritma Knuth-Morris-Pratt :
public static int kmpMatch string text, string pattern {
Int n = text.length; Int m = pattern.length;
Int fail[] = computeFail pattern; Int i = 0 ;
Int j = 0 ; While i n {
If pattern.charAtj == text.charAti { i++;
j++; Return i - m + 1; match
}
else if j 0 { J = fail[j-i]; }
else
{
i++; }
} Return -1; no match
} end of kmpMatch
Pada fungi KMP panjang teks di masukkan ke dalam variabel n, panjang pattern dimasukkan ke variabel m, i=0 dan j=0, jika i lebih kecil dari pada n jika pattern pada
karakter j sama dengan teks pada posisi i jika cocok.. i + 1, j+1 j 0 maka i – m +
1 match. Jika tidak sama maka j menyimpan j-i sebagai failure Function dan i+1. jika j tidak sama dengan i dan j tidak lebih besar daripada 0 maka dikembalikan -1 no
macth.
Universitas Sumatera Utara
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Bab ini akan membahas tentang analisis serta perancangan sistem fitur Word Suggestion
dengan menggunakan Algoritma Brute Force dan Algoritma Knuth- Morris-Pratt
, membuat pemodelan sistem seperti merancang alur kerja sistem flowchart. Mempelajari konsep dan proses kerja Algoritma Brute Force dan
Algoritma Knuth-Morris-Pratt, serta merancang antarmuka.
Gambar 3.1. merupakan diagram Ishikawa yang dapat digunakan untuk menganalisis masalah. Bagian kepala atau segiempat yang berada di sebelah kanan
merupakan masalah. Sementara di pada bagian tulang merupakan penyebab.
Gambar 3.1 Diagram Ishikawa Untuk Analisis Masalah
Bagaimana Algoritma Brute Force
dan Algoritma Knuth- Morris-Pratt
KMP melakukan pencarian dalam
Word Suggestion
Mencari kata atau informasi dengan
waktu yang cepat Tidak dapat melakukan
pencarian kosa kata yang bukan istilah
komputer
Belum ada acuan dalam memilih
algoritma yang cocok dalam pencarian
Word Suggestion Kurangnya
sistem aplikasi berbasis web
PEOPLE MATERIAL
METHOD MACHINE
Universitas Sumatera Utara
3.2.Analisis Persyaratan
Untuk membangun sebuah sistem, perlu dilakukan sebuah tahap analisis kebutuhan sistem. Analisis kebutuhan sistem dapat dikelompokkan menjadi dua bagian yaitu:
kebutuhan fungsional dan kebutuhan non-fungsional.
3.2.1. Persyaratan Fungsional
Persyaratan fungsional sistem adalah aktifitas dan pelayanan yang harus dimiliki oleh sebuah sistem berupa input, proses, output, maupun penyimpanan data Harahap,
2013. Adapun Persyaratan fungsional yang dibutuhkan yaitu:
1. Pengguna memasukkan input berupa huruf.
2. Sistem melakukan pencocokan string
melalui setiap huruf yang diketikkan.
3.
Sistem harus mampu menampilkan word suggestion yang mendekati seperti input yang dimasukkan.
3.2.2. Persyaratan Non-Fungsional
Persyaratan non-fungsional sistem merupakan persyaratan apa yang harus dilakukan sistem. Beberapa persyaratan non-fungsional yang harus dipenuhi oleh sistem yang
dirancang adalah sebagai berikut.
1. Performa
Sistem yang akan dibangun harus dapat menunjukkan hasil dari proses pencarian word suggestion.
2. Mudah dipelajari dan digunakan
Sistem yang akan dibangun harus sederhana dan mudah di pelajari oleh pengguna user.
3. Dokumentasi
Sistem yang akan dibangun dapat menyimpan saran kata yang ditambahkan oleh pengguna user ke dalam database.
4. Kontrol
Sistem yang akan dibangun harus memiliki pesan not found jika kata yang di ketikkan pengguna user tidak ada di dalam database kata.
Universitas Sumatera Utara
5. Hemat biaya
Sistem yang akan dibangun tidak memerlukan perangkat tambahan dalam proses eksekusinya.
3.3. Pemodelan Sistem
Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem, serta hal-hal apa saja yang harus
dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi dengan baik sesuai dengan kegunaannya.
Pada penelitian ini digunakan UML Unified Modeling Language sebagai bahasa pemodelan untuk mendesain dan merancang Sistem Pencarian Word
Suggestion dengan algoritma Brute Force dan algoritma Knuth-Morris-Pratt KMP.
Model UML yang digunakan antara lain use case diagram, activity diagram, dan sequence diagram.
3.3.1. Use-Case Diagram
Use case merupakan fungsionalitas dari suatu sistem, sehingga customer atau
pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun. Use case
berperan menggambarkan interaksi antar komponen-komponen yang
berperan dalam sistem yang akan dirancang.
Universitas Sumatera Utara
Gambar 3.2 Use Case Diagram Sistem
Use case pada gambar 3.2 menjelaskan aksi yang dapat dilakukan oleh user,
user dapat melakukan pencarian word suggestion dan akan mengecek kata tersebut
ada atau tidak ada pada search engine serta dapat menambahkan word suggestion atau
saran kata istilah baru pada aplikasi search engine tersebut.
System
Menampilkan list saran kata Algoritma Brute Force,
Algoritma Knuth Morris-Pratt Input Karakter
huruf
Menampilkan Hasil iterasi dan
Running Time
User
Menambah saran kata
include
include
Universitas Sumatera Utara
Tabel 3.1. Tabel Use Case Proses Pencarian Word Suggestion
Name Proses Pencarian
Word Suggestion Actors
User yang telah ditentukan.
Description Use Case
ini mendeskripsikan Pencarian Word Suggestion
dengan algortima Brute Force dan algoritma Knuth-Morris-Pratt.
Basic Flow
User memasukkan inputan karakter berupa huruf.
Alternate Flow
User dapat memilih alternatif saran Brute Force,
Knuth-Morris-Pratt , tambah kata dan tampilan lainnya.
Pre Condition
-
Post Condition
User mengetahui hasil iterasi, running time alternatif
Brute Force , Knuth-Morris-Pratt.
Universitas Sumatera Utara
3.3.2. Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang
dirancang atau menggambarkan proses parallel yang mungkin terjadi dalam beberapa eksekusi. Gambar 3.3 merupakan activity diagram dari sistem yang dibangun.
Gambar 3.3 Activity Diagram Sistem
Mulai
Input Karakter Menampilkan
halaman awal
Input Karakter Selanjutnya
Menampilkan Hasil Iterasi dan Running Time
Pencarian Kata User
System
= brute force
=KMP ≠ brute force or
KMP = list_kata
≠ list_kata
Menampilkan kata Kata
tidak ditemukan not found
Pilih Tentang Menampilkan
Halaman Tambah Kata Pilih Tambah kata
Menampilkan Halaman Tentang
Universitas Sumatera Utara
Tabel 3.2 Keterangan Bagian-Bagian Rancangan Halaman Utama
3.3.3. Sequence Diagram
Sequence diagram merupakan diagram yang menggambarkan interaksi antar objek
dan menjelaskan bagaimana suatu operasi dilakukan.Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh objek. Dalam sistem yang akan dibangun,
interaksi dilakukan antara pengguna dan sistem. Sequence diagram sistem dapat dilihat pada Gambar 3.4.
Name Activity Diagram Activity diagram Sistem
Actors User
Deskripsi Activity ini mendeskripsikan proses Sistem pada Aplikasi
Pencarian Word Suggestion
Prakondisi Sudah Masuk ke tampilan utama
Bidang Khas
Suatu Kejadian
Kegiatan User Respon system
1. Menginputkan kata yang
ingin dicari 2.
Menekan tombol kata saran Brute Force
3. Menekan tombol kata
saran Knuth-Morris-Pratt 4.
Menekan tombol tambah kata
5. Menambahkan kata yang
baru 6.
Menekan tombol tentang 1.
System menampilkan halaman yang dipilih
2. System akan melakukan
searching pada database 3.
Tampilkan Hasil iterasi dan
Running Time
dalam pencarian word Suggestion
4. Menyimpan kata yang
baru.
Pasca kondisi Menampilkan Word Suggestion
Universitas Sumatera Utara
Gambar 3.4 Sequence Diagram Sistem
Dari keterangan diatas dapat digambarkan dengan sequence diagram mengenai informasi sistem yang berjalan saat ini, sehingga dengan diagram ini dapat
menggambarkan pergerakan sebuah objek dan pesan yang terjadi di dalam sistem penyampaian informasi.
Halaman awal
Halaman hasil iterasi Brute Force
Halaman hasil iterasi KMP
Halaman tambah kata
Halaman tentang
Menampilkan halaman hasil iterasi
KMP
Menambah kata baru Halaman awal
Memilih tombol saran kata
Brute Force Menampilkan
halaman hasil iterasi Brute Force
Menyimpan ke database
Menampilkan halaman awal
Memilih tombol saran kata
KMP
Memilih halaman
tambah kata
Menampilkan halaman
tambah kata
Memilih halaman
tentang Menampilkan
halaman tentang
User
Universitas Sumatera Utara
3.4. Analisis Data
Data word suggestion yang digunakan pada sistem ini berdasarkan data kata yang ada dan telah disimpan pada database, dimana database tersebut berisi kata berdasarkan
kamus istilah komputer. Pada tabel 3.3 akan diberikan beberapa data kata pada database
yang akan digunakan sebagai word suggestion.
Tabel 3.3 Sampel Data Word Suggestion
No. Word Suggestion
1. aku
2. kiat
3. kita
4. kata
Dapat dilihat pada tabel 3.3 bahwa data yang telah disimpan dalam database adalah sebanyak 4 data kata, dimana data tersebut akan dijadikan sebagai word suggestion
yang akan di implementasikan pencariannya dalam search engine dengan algoritma Brute Force
dan algorima Knuth-Morris-Pratt.
3.5. Analisis Pencarian