Bab 2 Tinjauan Pustaka -...

17
6 Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Penelitian mengenai penggunaan metode String Matching salah satunya adalah oleh McCulloch dan Pitts pada Finite automata. Finite automata dapat dinyatakan sebagai model pengenal bahasa. Bahasa yang dikenal finite automata adalah bahasa sederhana. Ada dua macam finite automata yaitu deterministic finite automata dan non deterministic finite automata. Finite automata merupakan alat abstrak yang berguna untuk mengkomputasi suatu string. Sebagai contoh, automata dapat dipakai untuk komputasi biologi yaitu mencocokkan string DNA. Pada artikel ini akan diangkat permasalahan untuk mencocokkan string DNA pada Aves. Salah satu cara untuk mempercepat proses komputasi adalah dengan memperlakukan string sebagai vektor pada algoritma vektor yang dikerjakan oleh finite automata (Yessica Nataliani, 2007). Sedangkan penelitian tentang penggunaan algoritma Levensthein adalah oleh Dra. Sulis Janu Hartati, MT dan Soliq, ST ., M.Kom tentang Penerapan Text Mining Pada Aplikasi Penilaian Kinerja Pegawai di BKKBN. Penilaian kinerja untuk setiap pegawai sangat diperlukan oleh perusahaan. Namun masih ada permasalahan yang sering timbul dalam proses penilaian kinerja. Sering kali pegawai kurang puas dengan hasil penilaian

Transcript of Bab 2 Tinjauan Pustaka -...

Page 1: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

6

Bab 2

Tinjauan Pustaka

2.1 Penelitian Terdahulu

Penelitian mengenai penggunaan metode String Matching

salah satunya adalah oleh McCulloch dan Pitts pada Finite

automata. Finite automata dapat dinyatakan sebagai model

pengenal bahasa. Bahasa yang dikenal finite automata adalah

bahasa sederhana. Ada dua macam finite automata yaitu

deterministic finite automata dan non deterministic finite

automata. Finite automata merupakan alat abstrak yang berguna

untuk mengkomputasi suatu string. Sebagai contoh, automata

dapat dipakai untuk komputasi biologi yaitu mencocokkan string

DNA. Pada artikel ini akan diangkat permasalahan untuk

mencocokkan string DNA pada Aves. Salah satu cara untuk

mempercepat proses komputasi adalah dengan memperlakukan

string sebagai vektor pada algoritma vektor yang dikerjakan oleh

finite automata (Yessica Nataliani, 2007).

Sedangkan penelitian tentang penggunaan algoritma

Levensthein adalah oleh Dra. Sulis Janu Hartati, MT dan Soliq,

ST ., M.Kom tentang Penerapan Text Mining Pada Aplikasi

Penilaian Kinerja Pegawai di BKKBN. Penilaian kinerja untuk

setiap pegawai sangat diperlukan oleh perusahaan. Namun masih

ada permasalahan yang sering timbul dalam proses penilaian

kinerja. Sering kali pegawai kurang puas dengan hasil penilaian

Page 2: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

7

dari atasan. Hal tersebut disebabkan karena kurang adanya

transparansi antara atasan dengan pegawai. Oleh karena itu,

diperlukan adanya suatu transparansi dalam penilaian kinerja

untuk menghindari masalah-masalah yang muncul karena

terjadinya ketidakpuasan dalam penilaian kinerja pegawai dalam

suatu perusahaan. Uji coba tugas akhir terhadap pegawai

BKKBN Kabupaten Madiun dilakukan dengan memasukkan nilai

(Free Text) berupa kalimat sederhana maupun kalimat bertingkat

yang diperoleh dari Manager Bagian (Pejabat Penilai) kemudian

dilakukan proses sehingga menghasilkan nilai yang berupa angka.

Nilai angka tersebut dapat dijadikan ukuran terhadap hasil kinerja

pegawai tiap periode di BKKBN Kabupaten Madiun (Prasetyo,

2008).

Pada penelitian ini menjelaskan tentang seberapa besar

tingkat kemiripan judul dan abstract skripsi. Dengan

menginputkan judul dan abstract maka aplikasi ini akan memberi

saran dengan menampilkan skripsi yang serupa atau hampir sama

dengan yang diinputkan.

2.2 Plagiarisme

Plagiarisme merupakan tindakan menjiplak, mencuri atau

mengambil ide, hasil karya atau tulisan orang lain, baik seluruh,

sebagian besar maupun sebagian kecil, untuk jadi ide atau karya

tulisan sendiri tanpa menyebutkan nama penulis dan sumber

aslinya.

Page 3: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

8

Ada sejumlah pola umum atau modus operandi yang

biasanya dilakukan seorang penulis dalam melakukan plagiasi

terhadap karya orang lain maupun karyanya sendiri. Pertama,

seorang penulis mengambil tulisan orang lain dan mengklaim

sebagai tulisannya sendiri. Kedua, seorang penulis mengambil

gagasan orang lain menjadi gagasannya sendiri. Misalnya, dalam

suatu diskusi, peserta diskusi mengajukan sejumlah gagasan unik

yang menarik. Dalam menulis suatu artikel, penulis yang menjadi

narasumber atau peserta diskusi lalu menulis dan menyatakan

gagasan itu berasal dari dirinya.

Ketiga, mengambil hasil riset orang lain jadi temuannya

sendiri. Keempat, mengakuisisi hasil riset atau hasil karya

kelompok jadi hasil riset atau hasil karya sendiri. Kelima,

menerbitkan kembali hasil tulisannya sendiri yang sudah

diterbitkan sebelumnya dalam suatu buku atau jurnal meskipun

menyebutkan sumbernya. Keenam, meringkas dan

memparafrasekan (mengutip tak langsung) suatu pemikiran dari

suatu sumber ke dalam karya tulisnya tanpa menyebutkan

sumbernya (Lako, 2012).

Klasifikasi mengenai plagiarisme dapat dibuat tergantung

dari berbagai aspek pandang :

– Dari segi substansi yang dicuri,

– Dari segi kesengajaan,

– Dari segi volume/proporsi

Page 4: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

9

– Dari pola pencurian, dapat dilakukan kata demi kata,

maupun dapat diseling dari berbagai sumber dan dengan

kata-kata sendiri,

– Ada pula Auto-plagiarism/self-plagiarism.

Self-plagiarism terjadi ketika seseorang menggunakan

ulang karya sendiri dari suatu publikasi sebelumnya tanpa

mencantumkan referensi karya lama ke suatu publikasi yang

baru. Jenis plagiarism ini sebenarnya dapat dianggap “ringan”,

namun bila dimaksudkan atau di kemudian hari dimanfaatkan

misal untuk menambah kredit akademik, maka dapat dianggap

sebagai pelanggaran “berat” etika akademik.

Terdapat pula jenis plagiarisme lainnya, yakni accidental

plagiarism. Sebagai contoh, seorang ibu membacakan sebuah

cerita kepada anaknya yang masih kecil secara berkala. Saat

dewasa, anak itu membuat tugas atau laporan berdasarkan cerita

ibunya tersebut. Jika beberapa orang secara independen

menuangkan ide dan analisis yang sama maka hal ini bukan

dikatakan sebagai plagiat.

Sedangkan plagiarisme dalam penulisan akademik ada dua

tipe utama yaitu:

Plagiarisme ide adalah menggunakan ide (misalnya

penjelasan, teori, kesimpulan, hipotesis, kiasan) secara

keseluruhan atau sebagian, atau dengan pengubahan sedikit

tanpa memberi kredit pada penciptanya. Pencipta ide tadi

Page 5: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

10

tidak menuliskan idenya di media publikasi yang bisa

dirujuk.

Plagiarisme teks.

2.3 Net Beans

Pengembangan NetBeans diawali dari Xelfi, sebuah proyek

mahasiswa tahun 1997 di bawah bimbingan Fakultas Matematika

dan Fisika Universitas Charles, Praha. Sebuah perusahaan

kemudian dibentuk untuk proyek tersebut dan menghasilkan versi

komersial NetBeans IDE hingga kemudian dibeli oleh Sun

Microsystem pada tahun 1999. Sun kemudian menjadikan

NetBeans open source pada bulan Juni tahun 2000. Sejak itu

komunitas NetBeans terus berkembang.

NetBeans mengacu pada dua hal, yakni platform untuk

pengembangan aplikasi desktop java, dan sebuah Integrated

Development Environment (IDE) yang dibangun menggunakan

platform NetBeans. Platform NetBeans memungkinkan aplikasi

dibangun dari sekumpulan komponen perangkat lunak moduler

yang disebut „modul‟. Sebuah modul adalah suatu arsip Java

(Java archive) yang memuat kelas-kelas Java untuk berinteraksi

dengan NetBeans Open API dan file manifestasi yang

mengidentifikasinya sebagai modul. Karena modul dapat

dikembangkan secara independen, aplikasi berbasis platform

NetBeans dapat dengan mudah dikembangkan oleh pihak ketiga

secara mudah dan powerful.

Page 6: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

11

2.4 Bahasa Pemrograman Java

Bahasa Java merupakan bahasa pemrograman Object

Oriented Programming (OOP) karya Sun Microsystem Inc. Rilis

resmi level beta dilakukan pada November 1995. Dua bulan

berikutnya Netscape menjadi perusahaan pertama yang

memperoleh lisensi bahasa Java dari Sun Microsystem Inc

(Hariyanto, 2007).

Java dirancang untuk menjadi bahasa yang memiliki

kemampuan tinggi dalam hal portabilitas dan pemanfaatan

jaringan tanpa mengabaikan kestabilan, keamanan, serta

kemudahan dari sisi desain dan pemrograman aplikasi.

Java yang semula ditujukan untuk pemprograman applet di

web browser telah berkembang menjadi bahasa pemprograman

pengembangan aneka ragam aplikasi, mulai dari yang berjalan di

handheld devices seperti handphone, PDA (Personal Digital

Assistant) sampai aplikasi tersebar skala enterprise di beragam

komputer server. Java merupakan bahasa orientasi objek untuk

pengembangan aplikasi mandiri, aplikasi berbasis internet,

aplikasi untuk perangkat cerdas yang dapat berkomunikasi lewat

internet/jaringan komunikasi. Java tidak lagi hanya bahasa untuk

membuat applet yang memperindah halaman web tapi Java telah

menjadi bahasa untuk pengembangan aplikasi skala enterprise

berbasis jaringan besar (Hariyanto, 2007).

Sebutan Java 2 diberikan untuk java versi 1.2 dan versi

berikutnya. Java 2 terbagi dalam 3 kategori, yaitu:

Page 7: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

12

Java 2 Standart Edition (J2SE). Kategori ini digunakan

untuk menjalankan aplikasi Java pada level komputer

personal.

Java 2 Enterprise Edition (J2EE). Kategori ini

dikhususkan untuk pengembangan aplikasi Java pada

lingkungan enterprise/server.

Java 2 Micro Edition (J2ME). Kategori ini digunakan

untuk pengembangan aplikasi Java yang

diimplementasikan pada perangkat semacam ponsel,

Palm, PDA, dan PocketPC.

2.5 String Matching

Pengertian string menurut Dictionary of Algorithms and

Data Structures, National Institute of Standards and Technology

(NIST) adalah susunan dari karakter-karakter (angka, alfabet atau

karakter yang lain) dan biasanya direpresentasikan sebagai

struktur data array. String dapat berupa kata, frase, atau kalimat.

Pencocokan string merupakan bagian penting dari sebuah

proses pencarian string (string searching) dalam sebuah

dokumen. Hasil dari pencarian sebuah string dalam dokumen

tergantung dari teknik atau cara pencocokan string yang

digunakan.

Pencocokan string (string matching) menurut Dictionary of

Algorithms and Data Structures, National Institute of Standards

and Technology (NIST), diartikan sebagai sebuah permasalahan

Page 8: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

13

untuk menemukan pola susunan karakter string di dalam string

lain atau bagian dari isi teks.

Pencocokan string (string matching) secara garis besar

dapat dibedakan menjadi dua yaitu :

1 Exact string matching, merupakan pencocokan string

secara tepat dengan susunan karakter dalam string yang

dicocokkan memiliki jumlah maupun urutan karakter dalam

string yang sama. Contoh : kata step akan menunjukkan

kecocokan hanya dengan kata step.

2 Inexact string matching atau Fuzzy string matching,

merupakan pencocokan string secara samar, maksudnya

pencocokan string dimana string yang dicocokkan memiliki

kemiripan dimana keduanya memiliki susunan karakter

yang berbeda (mungkin jumlah atau urutannya) tetapi

string-string tersebut memiliki kemiripan baik kemiripan

tekstual/penulisan (approximate string matching) atau

kemiripan ucapan (phonetic string matching). Inexact string

matching masih dapat dibagi lagi menjadi dua yaitu :

a. Pencocokan string berdasarkan kemiripan penulisan

(approximate string matching) merupakan pencocokan

string dengan dasar kemiripan dari segi penulisannya

(jumlah karakter, susunan karakter dalam dokumen).

Tingkat kemiripan ditentukan dengan jauh tidaknya beda

penulisan dua buah string yang dibandingkan tersebut

dan nilai tingkat kemiripan ini ditentukan oleh

Page 9: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

14

pemrogram (programmer). Contoh : c mpuler dengan

compiler, memiliki jumlah karakter yang sama tetapi ada

dua karakter yang berbeda. Jika perbedaan dua karakter

ini dapat ditoleransi sebagai sebuah kesalahan penulisan

maka dua string tersebut dikatakan cocok.

b. Pencocokan string berdasarkan kemiripan ucapan

(phonetic string matching) merupakan pencocokan

string dengan dasar kemiripan dari segi pengucapannya

meskipun ada perbedaan penulisan dua string yang

dibandingkan tersebut. Contoh step dengan steb dari

tulisan berbeda tetapi dalam pengucapannya mirip

sehingga dua string tersebut dianggap cocok. Contoh

yang lain adalah step, dengan steppe, sttep, stepp, stepe.

2.5.1 Approximate String Matching

Dalam metode ini, dilakukan suatu penghitungan perbedaan

antara dua string. Penghitungan tersebut meliputi tiga operasi

string yaitu operasi penghapusan, operasi penyisipan dan operasi

penggantian. Untuk contoh yang akan digunakan, diasumsikan S

adalah string sumber pencarian dan T adalah string yang ingin

dicari.

Operasi Penghapusan

Misalnya S = memori dan T = meri. Penghapusan dilakukan

untuk karakter m pada lokasi ke-3 dan o pada lokasi ke-4. Dua

Page 10: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

15

operasi penghapusan tersebut menunjukkan transformasi S ke T

yang diilustrasikan pada Rumus 2.1.

1 2 3 4 5 6

T = m e - - r i

S = m e m o r i

Rumus 2.1 Operasi Penghapusan

Operasi Penyisipan

Misalnya S = brian dan T = barisan. Operasi sisip

dilakukan dengan menyisipkan a dan s pada posisi 2 dan 5 yang

dapat ditunjukkan pada Rumus 2.2.

1 2 3 4 5 6 7

T = b a r i s a n

S = b – r i – a n

a s

Rumus 2.2 Operasi Penyisipan

Operasi Penggantian

Misalnya S = perasa dan T = pewara. String T

ditransformasikan menjadi S dengan melakukan penggantian

(subtitusi) pada posisi ke-3 dan ke-5. Huruf r dan s pada S

digantikan dengan w dan r pada T. Prosesnya dapat ditunjukkan

pada Rumus 2.3.

Page 11: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

16

1 2 3 4 5 6

T = p e w a r a

S = p e r a s a

w r

Rumus 2.3 Operasi Penggantian

Ketiga operasi di atas dapat digunakan dalam contoh

berikut ini. Misalnya T = abrakadabra dan S = avrakhadabah. S

dapat ditransformasikan menjadi T pada Rumus 2.4.

1 2 3 4 5 6 7 8 9 10 11 12 13

T = a b r a k - a d a b r a -

S = a v r a k h a d a b - a h

b r

Rumus 2.4 Operasi Gabungan

Operasi yang dilakukan pada Rumus 2.4 yaitu:

mengganti v pada posisi 2

menghapus h pada posisi 6

menyisipkan r pada posisi 11

menghapus h pada posisi 13

Secara keseluruhan terdapat 4 operasi, yaitu 1 penggantian, 2

penghapusan, dan 1 penyisipan.

Page 12: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

17

2.6 Levenshtein Distance

Algoritma Levenshtein, atau sering disebut dengan

Levenshtein Distance atau Edit Distance merupakan algoritma

pencarian jumlah perbedaan string yang ditemukan oleh Vladimir

Levenshtein, seorang ilmuwan Rusia, pada tahun 1965.

Algoritma ini digunakan secara luas dalam berbagai bidang,

misalnya mesin pencari, pengecek ejaan (spell checking),

pengenal pembicaraan (speech recognition), pengucapan dialek,

analisis DNA, pendeteksi pemalsuan, dan lain-lain.

Pada dasarnya, algoritma ini menghitung jumlah minimum

pentransformasian suatu string menjadi string lain yang meliputi

penggantian, penghapusan, dan penyisipan. Algoritma ini

digunakan untuk mengoptimalkan pencarian tersebut karena

sangat tidak efisien jika dilakukan pencarian setiap kombinasi

operasi-operasi string tersebut. Oleh karena itu, algoritma ini

tergolong program dinamis dalam pencarian nilai minimal

tersebut.

Dalam algoritma ini, dilakukan penyeleksian panjang kedua

string terlebih dahulu. Jika salah satu atau kedua string

merupakan string kosong, jalannya algoritma ini berhenti dan

memberikan hasil edit distance yang bernilai nol atau panjang

string yang tidak kosong.

levDis( “”, “” ) = 0

levDis( s , “” ) = levDis( “” , s ) = |s|

Rumus 2.5 Edit Distance

Page 13: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

18

Jika panjang string keduanya tidak nol, setiap string

memiliki sebuah karakter terakhir, misalnya c1 dan c2. Misalnya

bagian string pertama tanpa c1 adalah s1 dan bagian string kedua

tanpa c2 adalah s2, dapat dikatakan penghitungan yang dilakukan

adalah cara mentransformasikan s1+c1 menjadi s2+c2. Jika c1

sama dengan c2, dapat diberikan nilai cost 0 dan nilai edit

distance-nya adalah nilai edit distance dari pentransformasian s1

menjadi s2. Jika c1 berbeda dengan c2, dibutuhkan pengubahan

c1 menjadi c2 sehingga nilai cost-nya 1. Akibanya, nilai edit

distance-nya adalah nilai edit distance dari pentransformasian s1

menjadi s2 ditambah 1. Kemungkinan lain adalah dengan

menghapus c1 dan merubah s1 menjadi s2+c2 sehingga nilai edit

distance-nya dari pentransformasian s1 menjadi s2+c2 ditambah

1. Begitu pula dengan penghapusan c2 dan merubah s1+c1

menjadi s2. Digunakan s1 sebagai string sumber dan s2 sebagai

string target maka implementasinya pada Java seperti pada

Gambar 2.1.

Gambar 2.1 Implementation Edit Distance

Page 14: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

19

Untuk dua string, X adalah panjang dari n dan Y adalah

panjang dari m. ditetapkan D(i,j) dengan edit distance diantara

X[1..i] dan Y[1..j] di mana i adalah karakter pertama dari X dan j

adalah karakter pertama dari Y. Maka edit distance diantara X

dan Y adalah D(n,m).

Untuk menghitung edit distance ed(x,y) diantara string x

dan y, menyusun matrik M1...m+1,1...n+1 dimana Mi,j adalah nilai

minimum dari operasi perubahan yang diperlukan untuk

menyamakan x1..i ke y1..j ditunjukan pada Rumus 2.6.

D(i,0) = i i = 1 ... M

D(0,j) = j j = 1 ... N

D(i-1 , j) + 1

D(i , j) = min D(i , j-1) + 1

D(i-1 , j-1) + 1 ; if X(i) ≠ Y(j)

0 ; if X(i) = Y(j)

Rumus 2.6 Min Edit Distance

Tabel 2.1 Edit Distance

Page 15: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

20

Dari Tabel 2.1 ditetapkan tabel untuk i adalah kata

PENJARA dan untuk j adalah kata JARAK. Dengan

menerapakan Rumus 2.6 maka diperoleh hasil seperti pada Tabel

2.2.

Tabel 2.2 Hasil Min Edit Distance

Recurrence relation :

For each i = 1…M

For each j = 1…N

D(i-1 , j) + 1 deletion

D(i , j) = min D(i , j-1) + 1 insertion

D(i-1 , j-1) + 1 ; if X(i) ≠ Y(j) substitution

0 ; if X(i) = Y(j)

LEFT deletion

ptr(i,j) = DOWN insertion

DIAG subtitution

Rumus 2.7 Arah Min Edit Distance

Page 16: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

21

Dari Tabel 2.2 diambil contoh untuk tabel distance (1,1) yaitu :

D(1-1 , 1) + 1

D(1,1) = min D(1 , 1-1) + 1

D(1-1 , 1-1) + 0 →

D(0 , 1) + 1 → 2

D(1,1) = min D(1 , 0) + 1 → 2

D(0 , 0) + 0 → 0

Rumus 2.8 Nilai Minimum

Dari Rumus 2.8 maka D(1,1) memiliki satu nilai minimum

yaitu 0. Pada Tabel 2.2 Elemen terakhir (yang paling kanan

bawah) adalah elemen yang nilainya menyatakan jarak kedua

string yang dibandingkan atau disebut nilai distance, yaitu 4.

Setelah didapatkan distance dari kedua string, maka dapat

ditentukan formula untuk menghitung derajat plagiarisme kedua

string.

Rumus 2.9 Derajat Plagiarisme

Keterangan untuk Rumus 2.9 yaitu:

Diff = distance

Max(CS,ST) = merupakan nilai yang paling panjang yang

diberikan dari perbandingan CS dan ST

+0 karena e = i dengan kondisi

+1 if X(i) ≠ Y(j)

+0 if X(i) = Y(j)

Page 17: Bab 2 Tinjauan Pustaka - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8605/3/T1_672008030_BAB II.pdfmenyebutkan sumbernya. Keenam, meringkas dan memparafrasekan (mengutip

22

CS = PENJARA

ST = JARAK

Diff = 4

Maka perhitungannya adalah sebagai berikut :

Plagiarized Value = {1 - (4 / 7)} * 100

= {3/7} * 100

= 42,857

Jadi, derajat plagiarismenya adalah 42,857%.