Gambar 4.8 Perbandingan Total Running Time Algoritma Not So Naive dan
Algoritma Skip Search Dari grafik diatas dapat dijelaskan bahwa untuk kasus yang sudah diujicobakan
secara total Algoritma Not So Naive memiliki nilai Total Running Time yang sedikit lebih lama dibandingkan dengan Algoritma Skip Search. Artinya bahwa
Algoritma Skip Search lebih cepat untuk pencocokan kata yang digunakan dalam kamus dibandingkan dengan Algoritma Not So Naive.
4.4. Kompleksitas Algoritma
Kompleksitas algoritma yang akan diuji adalah kompleksitas Algoritma Not So
Naive dan Algoritma Skip Search. Seperti dijelaskan pada Tabel 4.5, 4.6, 4.7, dan 4.8
berikut:
4.4.1 Kompleksitas Algoritma Not So Naive Tabel 4.5
Kompleksitas fungsi preproses dari Algoritma Not So Naive
Code cost
times cost.times
int k,ell; C1
1 C1
ifx[0] == x[1]{ C3
1 C3
k=2; C2
1 C2
ell=1;} C2
1 C2
else { k=1;
C2 1
C2 ell=2;}
C2 1
C2
100 150
200 250
300 350
400
Total Waktu Yang Diperlukan
Running Time
Algoritma Not So Naive Algoritma Skip Search
Universitas Sumatera Utara
FASE PRE-PROSES : T
max
n = C1 + 4C2 + C3 = C1 + 4C2 + C3m
= m = O1
Tabel 4.6 Kompleksitas fungsi proses pencarian dari Algoritma Not So Naive
Code cost
times cost.times
public int searchingString pat, int m, String text, int n{
Preproses; C1
1 C1
int j =0; C2
1 C2
int hasil =0; C2
1 C2
while j = n-m{ C3
n C3n
ifx[1] = y[j+1] komp.komparasi++=0 komp1.komparasi++=0{
C4 n
C4n j += k;}
C2 n
C2n else {
komp.komparasi++; C2
n C2n
Komp1.komparasi++; C2
n C2n
a=1; C2
n C1n
for int b=0;bm;b++{ C5
mn C5n
ifx[b+1] == y[j+1+b] x[0] == y[j] komp.komparasi++=0
komp1.komparasi++=0 C4
mn C4mn
a++;} C2
mn C2mn
else{ break;
C6 mn
C6mn }}
ifa == m{ C4
n C4n
found = true;} C2
n C2n
j+= ell; C2
n C2n
} iffound{
C4 N
C4n return 1;}
C5 1
C5 else{
return 0;} }
C5 1
C5
FASE PROSES : T
max
n = C1 + 2C2 + 2C5 + 5C2n + C3n + 3C4n + C5n + C2mn + C4mn + C6mn
= C1 + 2C2 + 2C5n + 5C2 + C3 + 2C4n
1
+ C2 + C4 + C6mn = m
+ m
1
+ mn ≤mn + mn + mn = 3mn
Universitas Sumatera Utara
= Omn
Tabel 4.5 dan Tabel 4.6 menjelaskan tentang kompleksitas dari Algoritma Not
So Naive. Pada Algoritma Not So Naive fase preproses memiliki Tn = O1 dan fase proses memiliki Tn = Omn. Maka kompleksitas Algoritma Not So Naive
adalah Omn.
4.4.2 Kompleksitas Algoritma Skip Search Tabel 4.7
Kompleksitas fungsi preproses dari Algoritma Skip Search
Code cost
times cost.times
public int preprocess{ public static int ASIZE = 256;
C1 1
C1 int i, j;
C2 1
C2 List1 ptr = null;
C1 1
C1 List1 z[] = new List1[ASIZE];
C1 1
C1 for int a=0; aASIZE; a++{
C3 256
256C3 z[a] = null;}
C1 256
256C1 fori = 0; i m; ++i{
C3 m
C3m ptr = new List1;
C1 m
C1m if ptr==null System.out.printlnERROR;
C4 m
C4m ptr.element = i;
C1 m
C1m ptr.next = z[x[i]];
C1 m
C1m z[x[i]] = ptr;}
} C1
m C1m
FASE PRE-PROSES : T
max
n = 3C1 + C2 + 256C3 + 256C1 + 4C1m + C3m + C4m = 3C1 + 2C2m
+ 256C3 + C1 + 5C1 + 2C3 + 2C4m
1
= m + m
1
≤m
1
+ m
1
= 2m = Om
Universitas Sumatera Utara
Tabel 4.8 Kompleksitas fungsi proses pencarian dari Algoritma Skip Search
Code cost
times cost.times
public int searchingString pat, int m, String text, int n{
Preprocess; C1
1 C1
int i, j; C2
1 C2
char[] x = pat.toCharArray; C3
1 C3
char[] y = text.toCharArray; C3
1 C3
String sub_x, sub_y; C2
1 C2
Boolean found = false; C3
1 C3
forj = m -1; jn; j += m{ C4
n C4n
komp.komparasi++; C3
n C3n
komp1.komparasi++; C3
n C3n
forptr = z[y[j]]; ptr = null; ptr = ptr.next{
C4 n
C4n komp.komparasi++;
C3 n
C3n Komp1.komparasi++;
C3 n
C3n int a=0;
C3 n
C3n for int b=0;bm;b++{
C4 mn
C4mn ifx[b] == y[j-ptr.element+b]
komp.komparasi++=0 komp1.komparasi++=0 C5
mn C5mn
a++; C3
mn C3mn
else break;}
C6 mn
C6mn ifj-ptr.element= n-m a == m
C5 mn
C5mn found = true;}}}
C3 mn
C3mn iffound{
C5 1
C5 return 1;}
C7 1
C7 else{
return 0;} }
C7 1
C7
FASE PROSES : T
max
n = C1 + 2C2 + 3C3 + C5 + 2C7 + 5C3n + 2C4n + 2C3mn + C4mn + 2C5mn +
C6mn = C1 + 2C2 + 3C3 + C5 + 2C7n
+ 5C3 + 2C4n
1
+ 2C3 + C4mn + 2C5mn
+ C6mn = m
+ m
1
+ mn ≤mn + mn + mn = 3mn = Omn
Tabel 4.7 dan Tabel 4.8 menjelaskan tentang kompleksitas dari Algoritma Skip
Search. Pada Algoritma Not So Naive fase preproses memiliki Tn = Om dan fase proses memiliki Tn = Omn. Maka kompleksitas Algoritma Skip Search
adalah Omn.
Universitas Sumatera Utara
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan