• Tidak ada hasil yang ditemukan

Implementasi Algortima Manber Pada Persamaan Makna Bahasa Indonesia dan Melayu Berbasis Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algortima Manber Pada Persamaan Makna Bahasa Indonesia dan Melayu Berbasis Android"

Copied!
9
0
0

Teks penuh

(1)

13

BAB 2

LANDASAN TEORI

2.1 Pengertian Text Mining

Text Mining dapat juga diartikan sebagai penambangan data berupa teks yang

bersumber dari dokumen untuk mencari karta-kata yang merupakan perwakilan isi atau pembentuk dokumen teks sehingga penganalisisan dapat dibuat. Berikut ini merupakan tahapan umum pada proses Text Mining, yaitu (Nugroho, 2011):

1. Text Preprocessing, adalah pemrosesan pertama kali yang ditujukan untuk membuat teks menjadi data yang siap olah pada proses berikutnya.

2. Case Folding, adalah pengubahan semua karakter yang merupakan huruf kapital menjadi huruf kecil.

3. Filtering, adalah proses pengambilan kata-kata penting sesuai dengan kondisi yang diinginkan.

4. Tokenizing, adalah tahapan pemecah kalimat yang di-input berdasarkan kata yang penyusunnya, biasanya dipisah oleh karakter whitespace.

5. Text Transformation, adalah pembentukan teks yang masuk pada proses untuk mendapatkan representasi dokumen yang sesuai.

a. Stemming, adalah proses pencarian kata dasar dari setiap kata hasil tokenizing. b. Synonim Recognation, adalah pengubahan kata yang memiliki makna yang

sama dengan penulisan berbeda.

c. Feature Selection, adalah pengurangan dimensi teks sehingga akan menghasilkan kata-kata yang merupakan dasar dari isi teks.

(2)

2.2 Algoritma Manber

Algoritma Manber merupakan salah satu dari tiga algoritma yang menggunakan fingerprint dalam proses penyelesaian permasalahannya, selain algoritma Winowing

dan Rabin-Karp. Penggunaan fingerprint ini ditujukan agar dapat mengidentifikasi penjiplakan termasuk bagian-bagian kecil yang mirip dalam dokumen dengan jumlah kata yang cukup banyak (Purwaetasari, et al.2009).

Setiap algoritma memiliki penyelesaian permasalahan yang berbeda, namun algoritma Manber dan Winowing memiliki langkah penyelesain yang hampir sama. Adapun perbedaan algoritma Manber dan algoritma Winowing adalah sebagai berikut (Kurniawati & Wicaksana, 2008):

1. Jumlah langkah yang lebih sedikit sehingga waktu pemrosesan dokumen menjadi lebih cepat.

2. Tidak memberikan informasi dimana posisi fingerprint berada. 3. Pemilihan fingerprint yang berbeda.

Pada Algoritma Manber, fingerprint dipilih dari setiap nilai hash yang memenuhi persyaratan.

H mod P = 0

di mana H adalah nilai hash dan P adalah nilai pembagi yang digunakan, sementara pada Algoritma Winowing dipilih nilai hash minimum dalam setiap window. Adapun secara singkat, konsep dasar algoritma Manber dimulai dari tahap pencarian kata sehingga hasil akhirnya berupa presentase adalah:

1. Pembentukan rangkaian gram dengan panjang N karakter.

2. Penghitungan nilai hash dari setiap gram menggunakan fungsi hash. 3. Pemilihan beberapa nilai hash menjadi fingerprint dokumen.

(3)

2.3 Metode N-Gram

Teknik N-Gram didasarkan pada pemisahan teks menjadi string dengan panjang n mulai dari posisi tertentu dalam suatu teks. Posisi N-Gram berikutnya dihitung dari posisi yang sebenarnya bergeser sesuai dengan offset yang diberikan. Nilai offset bergantung pada pembagian yang digunakan dalam N-Gram. Pembagian N-Gram dapat bervariasi tergantung dari pendekatan dalam membagi teks menjadi bentuk N-Gram. N-Gram untuk setiap string dihitung dan kemudian dibandingkan satu per

satu. N-Gram dapat berupa unigram (n=1), bigram (n=2), trigram (n=3), dan seterusnya. Teknik N-Gram melibatkan 2 (dua) langkah, yaitu membagi string menjadi overlapping N-Gram (suatu set substring dengan panjang n) dan melakukan pengecekan untuk mendapatkan substring yang memiliki struktur yang sama. Dalam memperkirakan similarity maka teknik N-Gram sering dipadukan dengan pendekatan statistika untuk memperoleh similarity dari 2 (dua) buah sample, seperti Sorensen-Dice Coefficient, Jaccard Coefficient, dan lainnya (Eric, 2015).

Algoritma yang menggunakan fingerprint seperti algoritma Manber memiliki satu metode utama yaitu metode N-Gram. Metode N-Gram merupakan metode yang berfungsi untuk memecah kata ataupun kalimat menjadi sebuah rangkaian dengan panjang N karakter. sebagai contoh :

“ PEPAYA ” dengan nilai N = 2, maka akan menghasilkan :

“PE”, “EP”, “PA”, “AY”, “YA”

Metode N-Gram mempunyai peranan yang sangat penting karena merupakan langkah awal dalam memproses pembentukan fingerprint. Dengan kata lain metode N-Gram memiliki pengaruh terbesar pertama pada hasil akhir yang dikeluarkan.

(4)

digunakan akan semakin besar persentase yang dihasilkan nantinya. Namun tidak selalu dengan menggunakan nilai N = 1, maka hasil yang didapatkan lebih baik. Alasannya adalah jika kalimat terdiri dari huruf yang sama dengan kalimat bandingnya, maka akan menghasilkan presentase kemiripan 100%. Sebagai contoh :

“ RAMAH “ : “R”, “A”, “M”, “A”, “H” “ MARAH “ : “M”, “A”, “R”, “A”, “H”

Didapatkan 4 huruf yang sama , sehingga menghasilkan persentase sebesar 100% . Oleh karena itu, pengguna N-Gram harus disesuaikan dengan kondisi dari teks yang akan diuji.

2.4 Nilai Hash

Hash merupakan teknik untuk mengubah string menjadi nilai unik dengan panjang

tertentu yang nantinya akan berfungsi sebagai penanda string tersebut (Pratama, et al 2012).

Hashing adalah transformasi aritmatik sebuah string dari karakter menjadi

nilai yang merepresentasikan string aslinya. Menurut bahasanya, hash berarti memenggal dan kemudian menggabungkan. Hashing digunakan sebagai metode untuk menyimpan data dalam sebuah array agar penyimpanan data, pencarian data, penambahan data, dan penghapusan data dapat dilakukan dengan cepat. Ide dasarnya adalah menghitung posisi record yang dicari dalam array, bukan membandingkan record dengan isi pada array. Fungsi yang mengembalikan nilai atau kunci disebut

fungsi hash (hash function) dan array yang digunakan disebut tabel hash (hash table). Hash table menggunakan struktur data array asosiatif yang mengasosiasikan record

dengan sebuah field kunci unik berupa bilangan (hash) yang merupakan representasi dari record tersebut (Ayhodia, 2010).

Hash terdiri dari dua elemen, yaitu fungsi hash dan nilai hash. Hubungan

kedua elemen tersebut adalah rangkaian gram yang dihasilkan dari proses N-Gram kemudian diolah dengan menggunakan fungsi hash yang nantinya akan dipilih mejadi fingerprint dokumen (Purwaetasari, et al 2009).

(5)

memprosesnya kedalam persamaan (2.1) berikut:

H(C1 ….. ck + 1) = c1 * b k -1 + c2 * b k-2 * ….. + c k-1 * b + ck (2.1)

Keterangan : H : nilai Hash

c : nilai ASCII karakter b : basis bilangan prima k : banyaknya karakter

2.4.1 Macam - Macam Fungsi Hash

Fungsi Hash (dilambangkan dengan h(k)) bertugas untuk mengubah k (key) menjadi suatu nilai dalam interval [0....X], dimana "X" adalah jumlah maksimum dari record-record yang dapat ditampung dalam tabel. Jumlah maksimum ini bergantung pada

ruang memori yang tersedia. Fungsi Hash yang ideal adalah mudah dihitung dan bersifat random, agar dapat menyebarkan semua key. Dengan key yang tersebar, berarti data dapat terdistribusi secara seragam bentrokan dapat dicegah. Sehingga kompleksitas waktu model Hash dapat mencapai O(1), di mana kompleksitas tersebut tidak ditemukan pada struktur model lain. Ada beberapa macam fungsi hash yang relatif sederhana yang dapat digunakan dalam penyimpanan database:

1. Metode Pembagian Bersisa (Division-Remainder Method)

Jumlah lokasi memori yang tersedia dihitung, kemudian jumlah tersebut digunakan sebagai pembagi untuk membagi nilai yang asli dan menghasilkan sisa. Sisa tersebut adalah nilai hash-nya. Secara umum, rumusnya h(k)= k mod m. Dalam hal ini m adalah jumlah lokasi memori yang tersedia pada array. Fungsi hash tersebut menempatkan record dengan kunci K pada suatu lokasi memori yang beralamat h(k). Metode ini sering menghasilkan nilai hash yang sama dari dua atau lebih nilai aslinya atau disebut dengan bentrokan. Karena itu, dibutuhkan mekanisme khusus untuk menangani bentrokan yang disebut kebijakan resolusi bentrokan.

2. Melipat (Folding)

(6)

nilai-nilai tersebut, dan mengambil beberapa angka terakhir sebagai nilai hash-nya. 3. Transformasi Radiks (Radix Transformation)

Karena nilai dalam bentuk digital, basis angka atau radiks dapat diganti sehingga menghasilkan urutan angka-angka yang berbeda. Contohnya nilai desimal (basis 10) bisa ditransformasikan kedalam heksadesimal (basis 16). Digit atas hasilnya bisa dibuang agar panjang nilai hash dapat seragam.

4. Pengaturan ulang digit (Digit Rearrangement)

Metode ini mengubah urutan digit dengan pola tertentu. Contohnya mengambil digit ke tiga sampai ke enam dari nilai aslinya, kemudian membalikan urutannya dan menggunakan digit yang terurut terbalik itu sebagai nilai hash. Fungsi hash yang bekerja dengan baik untuk penyimpanan pada database belum tentu bekerja dengan baik untuk keperluan kriptografi atau pengecekan kesalahan. Ada beberapa fungsi hash terkenal yang digunakan untuk keperluan kriptografi. Diantaranya adalah fungsi

hash message-diggest, contohnya MD2, MD4, dan MD5, digunakan untuk

menghasilkan nilai hash dari tanda tangan digital yang disebut messagediggest. Ada pula Secure Hash Algorithm (SHA), sebuah algoritma standar yang menghasilkan message-diggest yang lebih besar (60-bit) dan serupa dengan MD4.

5. Kebijakan resolusi bentrokan di luar tabel

Artinya tabel hash bukan lagi menjadi array of records, tetapi menjadi array of pointers. Setiap pointer menunjuk ke senarai berkait yang berisi record tersebut.

Metode seperti ini dinamakan chaining.

(7)

sebanyak dua kali lipat kapasitas yang direkomendasikan hanya akan lebih lambat dua kali lipat dibanding yang berisi sebanyak kapasitas yang direkomendasikan. Kekurangan dari metode chaining ini sama dengan kekurangan dari senarai berkait. Operasi traversal pada senarai berkait memiliki performa cache yang buruk.

Struktur data lain dapat digunakan sebagai pengganti senarai berkait. Misalnya dengan pohon seimbang, kompleksitas waktu terburuk bisa diturunkan menjadi O(log n) dari yang sebelumnya O(n). Namun demikian, karena setiap senarai diharapkan untuk tidak panjang, struktur data pohon ini kurang efisien kecuali tabel hash tersebut memang didesain untuk jumlah record yang banyak atau kemungkinan terjadi bentrokan sangat besar yang mungkin terjadi karena masukan memang disengaja agar terjadi bentrokan.

6. Kebijakan resolusi bentrokan di dalam tabel

Berbeda dengan kebijakan resolusi bentrokan di luar tabel, pada kebijakan resolusi di dalam tabel data disimpan di dalam hash tabel tersebut, bukan dalam senarai berkait yang bertambah terus menerus. Dengan demikian data yang disimpan tidak mungkin bisa lebih banyak daripada jumlah ruang pada tabel hash. Jika suatu record akan dimasukkan ke dalam tabel hash pada lokasi sesuai nilai hash-nya dan ternyata lokasi tersebut sudah diisi dengan record lain maka harus dicari lokasi alternatif yang masih belum terisi dengan cara tertentu, cara ini disebut Open Addressing.

Ada beberapa metode untuk menemukan lokasi baru yang masih kosong. Dalam proses menemukan lokasi baru ini harus menggunakan pola tertentu agar record yang disimpan tetap bisa dicari dengan mudah saat dibutuhkan kemudian. Metode-metode yang sering digunakan adalah:

1. Linear Probing

Dengan menambahkan suatu interval pada hasil yang diperoleh dari fungsi hash sampai ditemukan lokasi yang belum terisi.

2. Quadratic Probing / Squared Probing

Hampir sama dengan linear probing, hanya saja pada quadratic probing, hasil yang diperoleh dari fungsi hash ditambahkan dengan kuadrat dari interval yang digunakan. 3. Double Hashing

(8)

terisi, maka dilakukan proses hash lagi sampai ditemukan lokasi yang belum terisi.

2.5 Fingerprint Dokumen

Fingerprint dokumen adalah ciri khas yang terdapat pada sebuah dokumen teks. Ciri

ini dapat dikatakan pula sebagai rangkaian pembentuk atau dasar dari dokumen tersebut. Fingerprint berasal dari rangkaian nilai hash yang sudah memenuhi persyaratan.

Fingerprint merupakan tujuan pertama dari algoritma yang menggunakan

fingerprint sebagai langkah penyelesaiannya. Masing-masing algoritma memilki cara

yang berbeda dalam memilih fingerprint. Pada algoritma Manber, pemilihan fingerprint dilakukan dengan cara mengecek apabila nilai hash memenuhi persyaratan

(2.2) berikut:

H Mod P = 0 (2.2)

Dimana :

H = Nilai Hash Mod = Modulo sisa bagi P = Nilai Pembagi

0 = Hasil pembagian sisa harus bernilai 0

Ada tiga faktor yang mempengaruhi pemilihan fingerprint, yaitu :

1. Nilai N menggunakan N-Gram perubahan panjang yang terbentuk akan mengubah fingerprint yang dipilih.

2. Basis pada fungsi hash tentunya perubahan basis akan mengubah nilai hashyang dihasilkan serta fingerprint yang dipilih.

(9)

2.6 Jaccard’s Similarity Coeficient

Jaccard’s Similarity Coeficient (Jacard 1912) merupakan index umum untuk variable

biner. Hal ini didefenisikan sebagai hasil bagi persimpangan dan serikat variable dibandingkan berpasangan antara dua benda (Djafar, 2014).

Untuk menghitung kemiripan dari dua dokumen, diperlukan Jaccard’s Similarity Coeficient, dengan rumus :

Similaritas (di, dj) = x 100 % | w(di ) ∩w (dj)|

| w(di ) ∪ w (dj)|

Dimana :

| = irisan fingerprint teks uji dengan teks banding. | w(di )∪w (dj)

= union fingerprint teks uji dengan teks banding. | w(di ) ∪ w (dj)|

= Hasil bagi irisan dengan gabungan fingerprint yang dikalikan 100 Similaritas (di, dj)

Referensi

Dokumen terkait

Dari analisis yang dilakukan Hyman dan Sheatsley dalam Venus (2009:130) terhadap kegagalan kampanye tersebut disimpulkan bahwa:.. 1) Pada kenyataanya memang selalu ada

Parsing data dilakukan untuk mengambil Informasi penting dari hasil pengukuran aplikasi QMRA untuk dikomunikasikan ke pasien tuna netra dan lanjut usia dengan media

Pelajar perlu menghantar draf penulisan projek kepada penyelia yang terbabit sebanyak DUA (2) kali sepanjang semester Latihan Klinikal II iaitu pada minggu

Sampel ektoparasit diambil dari ikan gabus tangkapan alam dan budidaya masing- masing 20 ekor dengan metode scraping (pengerokan) pada bagian kulit dan insang. Sampel

Volume kupasan tanah pucuk yang sangat besar (5.608.643,0 m 3 ) memiliki arti sangat penting karena tanah yang dikupas tersebut merupakan tanah subur dibanding tanah

Model fungsi transfer merupakan suatu model peramalan deret waktu berganda yang dapat menjelaskan pengaruh curah hujan terhadap produksi kelapa sawit.. Model fungsi transfer

Untuk pengguna pada Admin memiliki menu Dashboard, menu Master Data yang memiliki sub menu Master Data Divisi, Master Data Jabatan, Master Data Karyawan, Master Data User, Master