Kompleksitas Algoritma Not So Naive Tabel 4.5 Kompleksitas Algoritma Skip Search Tabel 4.7

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