4.3 Kompleksitas Algoritma Galil-Seiferas
Kompleksitas waktu yang digunakan untuk algoritma Galil-Seiferas adalah notasi Big- ϴm yaitu notasi asimtotik linear dapat dilihat pada tabel 4.4.
Tabel 4.4 Kompleksitas Algoritma Galil-Seiferas Waktu Big- ϴn
C Code C
C
Private Sub
search ByRef
hasil As
Integer While
p = n – m
C
1
n C
1
n
While p + s + q n
AndAlso xs + q = yp + s + q
C
1
5n C
1
5n
q += 1
C
2
5n C
2
5n
End While
C
3
5n C
3
5n
If q = m - s
AndAlso x.Equalsy.Substringp, s + 1
Then
C
4
5n C
4
5n
hasil = p
C
5
5n C
5
5n
End If
C
6
5n C
6
5n
If q = p1 + q1
Then
C
4
5n C
4
5n
p += p1
C
2
5n C
2
5n
q -= p1
C
2
5n C
2
5n
Else
C
7
5n C
7
5n
p += q k + 1
C
2
5n C
2
5n
q = 0
C
2
5n C
2
5n
End If
C
8
5n C
8
5n
End While
C
9
5n C
9
5n
End Sub
C
10
5n C
10
5n
ϴn
Universitas Sumatera Utara
Kompleksitas waktu dari algoritma Galil-Seiferas adalah : Tm,n
=
C
1
n + C
1
5n + 5C
2
5n + C
3
5n + 2C
4
5n + C
5
5n + C
6
5n + C
7
5n + C
8
5n + C
9
5n + C
10
5n = C
1
n
1
+ C
1
+ 5C
2
+ C
3
+ 2C
4
+ C
5
+ C
6
+ C
7
+ C
8
+ C
9
+ C
10
5n
1
= n
1
+ 5n
1
= ϴn Tabel 4.4 menjelaskan tentang kompleksitas dari Algoritma Galil-Seiferas. C
adalah konstanta. adalah frekuensi yang berfungsi sebagai ukuran masukan dan C. adalah untuk mencari kompleksitas waktu Tn, T adalah waktu dan n adalah jumlah
proses. Jumlahkan hasil dari perkalian C. maka ambil pangkat terbesar dari nilai masukan dan didapatlah pangkat terbesar yaitu m.
Pada algoritma Galil-Seiferas nilai m = 5 dikarenakan adanya perbandingan karakter dalam kasus yang besar dalam fase ini. Fase pre-proses memiliki Tn =
Ɵm dan fase pencarian memiliki
Tn = Ɵn. Maka kompleksitas Algoritma Galil- Seiferas adalah
Ɵn.
Universitas Sumatera Utara
4.4 Kompleksitas Algoritma Not So Naϊve
Kompleksitas waktu yang digunakan untuk algoritma Not So Naϊve adalah notasi Big-
ϴm x n yaitu notasi asimtotik linear dapat dilihat pada tabel 4.5.
Tabel 4.5. Kompleksitas Algoritma Not So Naϊve Waktu Big-ϴm x n
Code C
C
If x.Substring0, 1.Equalsx.Substring1, 1
Then
C
1
1 C
1
k = 2
C
2
1 C
2
ell = 1
C
2
1 C
2
Else
C
3
1 C
3
k = 1
C
2
1 C
2
ell = 2
C
2
1 C
2
End If
C
4
1 C
4
While j = n - m
C
5
n C
5
n
If Not
x.Substring1, 1.Equalsy.Substringj + 1, 1
Then
C
6
n C
6
n
j = j + k
C
2
n C
2
n
Else
C
7
n C
7
n
If x.Substring2, m -
2.Equalsy.Substringj + 2, m - 2 And
x.Substring0, 1.Equalsy.Substringj, 1
Then
ϴm n m x n
Return j
C
5
m x n C
5
m x n
End If
C
8
m x n C
8
m x n
j = j + ell
C
2
m x n C
2
m x n
End If
C
9
m x n C
9
m x n
End While
C
10
m x n C
10
m x n
Return n
C
11
1 C
11
ϴm x n
Universitas Sumatera Utara
Kompleksitas waktu dari algoritma Not So Naϊve adalah :
Tm,n
=
C
1
+ 4C
2
+ C
3
+ C
4
+ C
11
+ C
2
n + C
5
n + C
6
n + C
7
n + Ɵm x n + C
2
m x n + C
5
m x n + C
8
m x n + C
9
m x n + C
10
m x n = C
1
+ 4 C
2
+ C
3
+ C
4
+ C
11
m + C
2
+ C
5
+ C
6
+ C
7
n
1
+ C
2
+ C
5
+ C
8
+ C
9
+ C
10
m
1
n
1
+ ϴm x n
= m + n
1
+ m
1
n
1
+ ϴm x n
= ϴm x n Pada Tabel 4.5 dijelaskan tentang kompleksitas dari algoritma
Not So Naϊve. C adalah sebuah konstanta. Kemudian adalah frekuensi yang berfungsi sebagai ukuran
masukan dan C. adalah untuk mencari kompleksitas waktu Tm,n. T adalah waktu, m adalah batas panjang karakter yang di-input pattern dan n adalah batas panjang
karakter pada teks string. Jumlahkan hasil dari perkalian C. lalu kemudian ambil pangkat terbesar dari nilai masukan dan akan di dapatkan pangkat terbesar yaitu
m x n. Maka kompleksitas waktu algoritma Not So Naϊve adalah Ɵm x n. Hal ini
sesuai dengan kompleksitas waktu yang dihitung oleh Charras dalam bukunya yang berjudul Handbook of Exact String Matching tahun 1997 yaitu
ϴm x n.
Universitas Sumatera Utara
BAB 5 KESIMPULAN DAN SARAN
5.1. Kesimpulan
Berdasarkan pengamatan dari analisis dan perancangan sistem, penulis dapat mengambil kesimpulan yaitu :
1. Aplikasi yang dirancang telah didapatkan solusi dari permasalahan dengan
mengimplementasikan algoritma Galil-Seiferas dan algoritma Not So Naϊve
untuk melakukkan pencocokkan kata pada aplikasi kamus hukum. 2.
Algoritma Galil-Seiferas pada tahap searching dilakukan pencarian pada teks T untuk menemukan setiap v dan ketika ditemukan akan dilanjutkan dengan
pencarian terhadap u tepat disebelahnya pada T. 3.
Kompleksitas waktu pada algoritma Galil-Seiferas menggunakan waktu ukurann
ϴn dan algoritma Not So Naϊve menggunakan kompleksitas waktu ukuran
ϴm x n. 4.
Hasil waktu proses dengan algoritma Galil-Seiferas lebih cepat dengan hasil rata-rata 2,087 ms dibanding algoritma
Not So Naϊve 2,456 ms.
Universitas Sumatera Utara