Implementasi Dan Perbandingan Algoritma Smith Dan Algoritma Raita Pada Pencarian Kata

BAB II
LANDASAN TEORI

2.1. Algoritma
Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang
digunakan untuk memecahkan suatu permasalahan (Utami, 2005).Algoritma
adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis

(Munir,

2005).

Berdasarkan

defenisi

tersebut

dapat


diambilkesimpulan bahwa Algoritma merupakan ilmu yang mempelajari cara
menyelesaikan masalah dengan langkah-langkah yang disusun dengan sistematis
dan menggunakan bahasa yang logis untuktujuan tertentu.
Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus
(efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan
algoritma diukur dari berapa jumlah

waktu dan ruang (space) memori yang

dibutuhkan untuk menjalankannya. Algoritma yang mangkus ialah algoritma
yang meminimumkan kebutuhan waktu dan ruang. Kebutuhan waktu dan ruang
suatu algoritma bergantung pada ukuran masukan (n), yang menyatakan jumlah
data yang diproses. Kemangkusan algoritma dapat digunakan untuk menilai
algoritma yang terbaik.

2.2. Notasi Asimptotik
Untuk membandingkan dan menyusun urutan dari pertumbuhan, ilmuwan
komputer menggunakan tiga notasi:
1. O (big oh)
2. Ө (big theta)

3. Ω (big omega)

Universitas Sumatera Utara

Dalam penelitian ini, penulis akan membandingkan
Ө ( big theta) dari algoritma
Smith dan algoritma Raita

2.2.1 Notasi O
Fungsi t(n) dikatakan berada padaO(g(n)), disimbolkan kan dengan

t(n) ϵ

O(g(n)), jika t(n) diberi batas atas oleh beberapa pengali konstan dari g(n)
untuk semua n bernilai besar, contohnya, jika ada beberapa konstan c bernilai
positif dan n0 integer bukan negatif seperti t(n) ≤ cg(n) untuk semua n ≥ n0
(Levitin, 2012).
Adapun grafik dari notasi big-oh seperti pada gambar 2.1 berikut ini.

Gambar 2.1 Notasi Big – oh (Levitin, 2012).

2.2.2 Notasi Ө
Fungsi t(n) dikatakan berada dalam Ө(g(n)), disimbolkan dengan t(n) ϵ
Ө(g(n)), jika t(n) diberi batas atas dan batas bawah oleh beberapa pengali
konstan dari g(n) untuk semua n bernilai besar, contohnya, jika ada beberapa
konstan c1 dan c2 bernilai positif dan n0 integer bukan negatif seperti c2g(n) ≤
t(n) ≤ c2g(n) untuk semua n ≥ n0 (Levitin, 2012).

Universitas Sumatera Utara

Adapun grafik dari notasi big-theta seperti pada gambar 2.2 berikut ini.

Gambar 2.2 Notasi Big – theta (Levitin, 2012).
2.2.3 NotasiΩ
Fungsi t(n) dikatakan berada dalam Ω(g(n)), disimbolkan dengan t(n) ϵ
Ω(g(n)), jika t(n) diberi batas bawah oleh beberapa pengali konstan dari g(n)
untuk semua n bernilai besar, contohnya, jika ada beberapa konstan c
bernilai positif dan n0 integer bukan negatif seperti t(n) ≥ cg(n) untuk semua
n ≥ n0 (Levitin, 2012).
Adapun grafik dari notasi big-omega seperti pada gambar 2.3 berikut ini.


Gambar 2.3 Notasi Big – omega (Levitin, 2012).

2.3 Pencocokan String (String Matching)
Masalah string matching, yaitu menemukan semua kejadian dari satu string
sebagai substring dari satu sama lain, merupakan masalah mendasar dalam ilmu
komputer.(Nebel, 2006).Pencocokan string adalah masalah mendasar yang
terjadi dalam berbagai aplikasi praktis. (Mitani & Ino, 2016).Pencocokan

Universitas Sumatera Utara

stringadalah proses menemukan jumlah kejadian dari P pola panjang m di T teks
panjang n, di mana dalam prakteknya m jauh lebih kecil dari n.(Abdulrakeeb &
Hassan, 2017).Pencocokan string (string matching) merupakan proses pencarian
semua kemunculan query yang selanjutnya disebut pola (pattern) ke dalam
string yang lebih panjang (teks). Patterndisimbolkan dengan x=x[0...m-1] dan
panjangnya adalah m. Teks disimbolkan dengan y=y[0...n-1] dan panjangnya
adalah n. Kedua string terdiri dari sekumpulan karakter yang disebut alfabet
disimbolkan dengan Σ dan mempunyai ukuran σ (Sarmo, 2012).
Algoritma pencocokan stringatau string matching algorithm adalah
algoritma untukmelakukan pencarian semua kemunculan string pendek P[0..n1] yang disebut pattern di string yang lebih panjang T[0..m-1] yang disebut

teks. (Kumara, 2008).
Persoalan dalam pencarian string dirumuskan sebagai berikut.
1. Diberikan teks, yaitu string yang panjangnya n karakter
2. Diberikan pattern, yaitu string dengan panjang m karakter (m