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

BAB I
PENDAHULUAN

1.1 Latar Belakang

Mencari suatu informasi untuk semua bidang adalah hal yang sangat perlu untu
menambah pengetahuan seseorang. Pencarian suatu informasi dapat dilakukan
dalam berbagai bentuk, bisa dengan mencari informasi melalui buku, internet atau
hal lain yang memungkinkan untuk menemukan suatu informasi tersebut. Salah
satu metode yang digunakan untuk mencari informasi ialah menggunakan metode
pencocokan string atau dengan kata lain string matching.
Algoritma dan pseudocode adalah dua hal yang saling berdampingan, yang
selalu menjadi topik utama bagi mahasiswa/i program studi computer science.
Pseudocode merupakan dekripsi ringkas suatu algoritma. Mahasiswa/i seringkali
memerlukan sebagian teks kecil informasi dari keseluruhan informasi mengenai
pencarian pseudocode tertentu. Informasi yang dimaksud adalah string, atau yang
lebih sering disebut pattern, dalam sebuah dokumen teks. Sekalipun data disimpan
dalam berbagai cara, teks tetap menjadi bentuk utama dalam proses pertukaran
informasi. Hal ini terutama terlihat jelas pada literatur atau linguistik dimana data
terdiri dari corpus besar dan kamus. Hal ini juga berlaku untuk ilmu komputer di
mana sejumlah besar file disimpan dalam bentuk file linear (Charras, 2004).

Dalam pencarian string, diperlukan algoritma untuk mencocokkan string
yang dicari dengan semua string yang terdapat dalam dokumen teks tersebut.
Pencocokan string atau string matching adalah proses pencarian semua
kemunculan string pendek P [0...n-1] yang disebut pattern di string yang lebih
panjang T [0...m-1] yang disebut teks. (Kamara, 2008). Proses pencocokan tersebut
menggunakan algoritma yang sesuai dengan string yang akan dicocokkan.

1
Universitas Sumatera Utara

2

Pengelompokan algoritma string maching dikelompokkan dalam beberapa
hal yang mendasar, yaitu, prefix based, suffix based, dan factor based. (Nazzaro,
2002). Penulis akan mencoba membandingkan dua algoritma dari prefix based dan
mencari algoritma mana yang lebih efisien didalam konteks dengan dasar yang
sama. Pada teorinya algoritma Morris Pratt memiliki tingkat efisiensi untuk
pencocokan string lebih baik dari Shift-And dan juga lebih cepat. Dalam teorinya
beberapa penelitian telah meneliti tingkat kompleksitas kedua algoritma ini dengan
menggunakan notasi big oh (O).

Pada penelitian kali ini penulis akan menggunakan kompleksitas (big Ө),
waktu yang dibutuhkan untuk mencocokkan pattern (milisekon) untuk berbagai
panjang pattern P[0..n-1], dan waktu (milisekon). Hasil dari masing-masing
komponen tersebut akan dibandingkan satu sama lain sehingga dapat disimpulkan
algoritma mana yang lebih efisien dalam proses pencocokan string.
1.2 Rumusan Masalah
Belum diketahui secara rill yang mana antara algoritma Shift-And dengan algoritma
Morris-Pratt yang memiliki tingkat efisiensi yang paling baik untuk pencocokan
string.
1.3 Batasan Masalah
1.

Parameter pembanding yang diukur adalah kompleksitas teoretis (big Ө),
running time pencocokkan pattern (milisekon) untuk berbagai panjang pattern
P[0..n-1].

2.

Data yang digunakan sebagai studi kasus adalah sejumlah Algoritma beserta
Pseudocode sebanyak 100 entri.


3.

Bahasa pemrograman yang digunakan adalah Visual Basic 2015 dan Database
Management System yang digunakan adalah MySQL v5.6.28.

4.

Sistem yang dibuat hanya menyediakan fitur teks dan tidak menyediakan fitur
suara di dalamnya.

Universitas Sumatera Utara

3

1.4 Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk mencari algoritma yang lebih efisien dalam
pencocokan string dengan membandingkan kompleksitas teoretis (big Ө), running
time pencocokkan pattern (milisekon) untuk berbagai panjang pattern P[0..n-1],
dan kompleksitas waktu pada pencarian pada algoritma Shift-And dan MorrisPratt.

1.5 Manfaat Penelitian
Manfaat dari penelitian ini adalah pembaca dapat memahami cara kerja algoritma
Shift-And dan Morris-Pratt serta mengimplementasikan algoritma yang lebih
efisien.
1.6 Metodologi Penelitian
1. Studi Literatur
Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam
penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang
diperlukan untuk penulisan skripsi ini. Referensi yang digunakan dapat berupa
buku, jurnal, artikel, maupun situs internet yang berkaitan dengan algoritma
exact string matching Shift-And, Morris Pratt, Shift-Or, dan Knutt-MorrisPratt.
2. Analisis dan Perancangan Sistem
Merancang sistem sesuai dengan rencana yang telah ditentukan, yaitu meliputi
perancangan desain awal seperti button maupun font yang lebih minimalis,
perancangan sistem dengan UML, flowchart dan perancangan user interface.
Proses perancangan ini berdasarkan pada batasan masalah dari penelitian ini.
3. Implementasi Sistem
Pada tahap ini pembuatan sistem telah selesai dilaksanakan dan menambahkan
data hasil algoritma Shift-And dan Morris Pratt ke dalam sistem.
4. Pengujian Sistem

Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah
dikembangkan.

Universitas Sumatera Utara

4

5. Dokumentasi Sistem dan Laporan
Melakukan pembuatan dokumentasi sistem mulai dari tahap awal hingga
pengujian sistem, untuk selanjutnya dibuat dalam bentuk laporan penelitian
(skripsi).

1.7 Sistematika Penulisan
Agar pembahasan menjadi lebih sistematis, skripsi ini dibuat dalam lima bab,
meliputi:

BAB I

PENDAHULUAN
Bab ini berisi latar belakang penelitian judul skripsi “Studi

Perbandingan Kinerja Teoritis dan Riil Algoritma Exact String
Matching Shift-And dan Morris-Pratt”, rumusan masalah, batasan
masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian,
tinjauan pustaka, dan sistematika penulisan skripsi.

BAB II

LANDASAN TEORI
Bab ini berisi penjelasan singkat mengenai definisi algoritma,
pseudocode, algoritma pencocokan string, algoritma Shift-And,
algoritma Morris Pratt, fase preprocessing, fase pencarian, analisis
algoritma, dan notasi asimptotik.

BAB III

ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi uraian dari analisis sistem, analisis kebutuhan, analisis
proses, Ishikawa Diagram, Unified Modeling Language (UML)
Diagram, flowchart, dan design interface system.


Universitas Sumatera Utara

5

BAB IV

IMPLEMENTASI DAN PENGUJIAN SISTEM
Pada tahap ini dilakukan pembuatan sistem dan coding sesuai dengan
analisis dan perancangan. Kemudian dilakukan pengujian sistem.

BAB V

KESIMPULAN DAN SARAN
Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian dari
bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang
diharapkan dapat bermanfaat dalam pengembangan selanjutnya.

Universitas Sumatera Utara