Algoritma Not So Naϊve Kamus

Gambar 2.7 Fase Pencarian dengan Algoritma Galil-Seiferas.

2.4. Algoritma Not So Naϊve

Algoritma Not So Naϊve bekerja dimana selama fase pencarian dalam perbandingan karakter yang dibuat diatur dalam susunan sebagai berikut: 1, 2,...., m-2, m-1, 0. Untuk setiap upaya dimana jendela diposisikan pada faktor teks: y [j .. j + m -1]: jika x [0] = x [1] dan x [1] y [j+1] dari jika x [0] x [1] dan x [1] = y [j+1] pola digeser oleh 2 posisi pada akhir upaya dan dengan 1 sebaliknya. Dengan demikian tahap preprocessing dapat dilakukan dalam ruang dan waktu yang konstan. Tahap pencarian algoritma Not So Naïve memiliki kasus kuadrat terburuk tapi itu sedikit dengan koefisien sub-linear dalam kasus rata-rata. Charras. 1997. Program Bahasa C void NSNchar x, int m, char y, int n { int j, k, ell; Preprocessing if x[0] == x[1] { k = 2; ell = 1; } else { k = 1; ell = 2; } Searching j = 0; while j = n - m if x[1] = y[j + 1] j += k; else { if memcmpx + 2, y + j + 2, m - 2 == 0 x[0] == y[j] OUTPUTj; j += ell; } } Universitas Sumatera Utara Contoh : Fase Pre-processing k=1 and =2 Fase Searching Algoritma Not So Naϊve melakukan 24 perbandingan karakter Universitas Sumatera Utara Gambar 2.8 Fase Pencarian dengan Algoritma Not So Naϊve Universitas Sumatera Utara

2.5. Kompleksitas Algoritma

Algoritma merupakan salah satu cabang ilmu komputer yang membahas prosedur penyelesaian suatu permasalahan. Dalam beberapa konteks, algoritma merupakan spesifikasi urutan langkah untuk melakukan pekerjaan tertentu . Algoritma adalah prosedur komputasi yang terdefenisi dengan baik yang menggunakan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang disebut keluaran. Munir. 2007. Adanya algoritma yang baik maka komputer bisa menyelesaikan perhitungan dengan cepat dan benar. Sebaliknya jika algoritma kurang baik maka penyelesaian lambat dan bahkan tidak didapat solusi yang diharapkan. Baik buruknya sebuah algoritma dapat dibuktikan dari kompleksitas waktu yang digunakan. Kompleksitas dari suatu algoritma merupakan seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi. Azizah. 2013. Dua hal penting untuk mengukur efektivitas suatu algoritma yaitu kompleksitas ruang keadaan dan kompleksitas waktu. Kompleksitas ruang berkaitan dengan sistem memori yang dibutuhkan dalam eksekusi program. Kompleksitas waktu dari algoritma berisi ekspresi bilangan dan jumlah langkah yang dibutuhkan sebagai fungsi dari ukuran permasalahan. Analisa asimtotik menghasilkan notasi Ο Big O dan dua notasi untuk komputer sain yaitu ϴ Big Theta dan Big Omega. Purwanto. 2008. Kinerja algoritma dibuktikan dengan menjumlahkan bilangan bulat dari masing-masing operasi ketika algoritma di jalankan. Kinerja sebuah algoritma dievaluasi sebagai fungsi ukuran masukan n dan konstanta modulo pengali yang digunakan. Pada penelitian ini kompleksitas yang digunakan adalah Bigϴ. Universitas Sumatera Utara

8.4.1. Big-O O

Secara informal, Ogn adalah himpunan semua fungsi yang lebih kecil atau dengan urutan yang sama dengan gn hingga beberapa konstanta, sampai n ke tak terhingga. Sebuah fungsi tn dikatakan bagian dari Οgn yang dilambangkan dengan tn Є Οgn, jika tn batas atasnya adalah beberapa konstanta gn untuk semua n besar, jika terdapat konstanta c positif dan beberapa bilangan bulat tidak negatif n seperti tn ≤ cgn untuk semua n≥n . Levitin. 2011.

8.4.2. Big Omega

gn merupakan himpunan semua fungsi dengan tingkat pertumbuhan lebih besar atau sama dengan gn hingga beberapa konstanta, sampai n ke tak terhingga. Sebuah fungsi tn dikatakan bagian dari gn, dilambangkan dengan tn Є gn, jika tn batas bawahnya adalah beberapa konstanta positif dari gn untuk semua n besar. Terdapat konstanta c positif dan beberapa bilangan bulat tidak negatif n seperti tn ≥ cgn, untuk setiap n ≥ n . Levitin. 2011.

8.4.3. Big Theta ϴ

ϴgn adalah himpunan semua fungsi yang memiliki tingkat pertumbuhan yang sama dengan gn hingga beberapa konstanta, sampai n ke tak terhingga. Sebuah fungsi tn dikatakan bagian dari ϴgn, dilambangkan dengan tn Є ϴgn, jika tn batas atas dan bawahnya adalah beberapa konstanta positif gn untuk semua n yang besar, yaitu jika ada beberapa konstanta positif c 1 dan c 2 serta beberapa bilangan bulat non-negatif n seperti c 2 gn ≤ tn ≤ c 1 gn untuk semua n ≥ n . Levitin. 2011.

2.6. Kamus

Menurut Kamus Besar Bahasa Indonesia KBBI, pengertian kamus adalah buku acuan yang memuat kata dan ungkapan yang biasanya disusun menurut abjad berikut keterangan maknanya, pemakaiannya dan terjemahannya. Kamus juga dapat digunakan sebagai buku rujukan yang menerangkan makna kata – kata yang berfungsi untuk membantu seseorang mengenal perkataan baru. Selain menerangkan makna kata, kamus juga mungkin mempunyai pedoman sebutan, asal-usul etimologi suatu Universitas Sumatera Utara perkataan dan juga contoh penggunaan bagi kata tersebut. Kamus disusun sesuai dengan abjad dari A-Z dengan tujuan memudahkan pengguna kamus dalam mencari istilah yang diinginkannya dengan cepat dan mudah. Secara fisik, kamus terbagi menjadi dua jenis yaitu kamus yang berbentuk buku dan kamus elektronik digital. Kamus berbentuk buku terdiri dari puluhan bahkan ratusan lembar halaman kata. Berbeda dengan kamus buku yang cenderung besar dan tebal, kamus elektronik atau kamus digital merupakan sebuah fasilitas yang membantu pengguna mencari kata dengan cara mengetikkan kata yang diinginkan pada kolom pencarian. Penggunaan kamus elektronik atau kamus digital ini lebih efisien dalam hal waktu dibandingkan dengan kamus buku. Tania. 2015. Kamus digital lebih mengutamakan pada fasilitas pengolah kata elektronis, yaitu sebuah fasilitas yang memungkinkan aplikasi pengolah kata memeriksa ejaan dari dokumen yang diketik. Hal ini dapat meminimumkan kemungkina salah eja atau salah ketik. Pengguna kamus elektronis atau kamus digital dalam aplikasi pemrosesan teks merupakan hal yang tidak dapat dihindarkan. Kamus merupakan basis pemeriksaan, basis pengetahuan, bahkan sebagai basis penyelidikan Pasaribu. 2013.

2.7. Hukum