Deteksi Plagiarisme pada Kode Sumber Berbasis Problem Solving dengan Perbandingan Similaritas Bahasa Tengah Menggunakan Algoritma Adaptive Local Alignment.

(1)

i

Universitas Kristen Maranatha

ABSTRAK

Plagiarisme bisa terjadi dibanyak tempat, bahkan didunia pendidikan terdapat banyak kasus plagiarisme. Hal yang paling sering terjadi dalam kasus plagiarisme di dunia pendidikan adalah dalam pembuatan tugas siswa terutama programming. untuk dapat mengetahui kode sumber yang plagiat dibutuhkan aplikasi yang dapat mendeteksi plagiat secara otomatis. Dengan adanya aplikasi detektor plagiarisme maka akan membantu untuk mendeteksi mana yang plagiat atau tidak. dengan kode sumber yang berkarakteristik sekuen, menggunakan algoritma adaptive local alignment dan pendekatan bahasa menengah dapat mendeteksi kemiripan antar program dengan lebih baik.

Kata kunci: plagiarisme, programming, adaptive local alignment, matrik kemiripan, bahasa menengah


(2)

ABSTRACT

Plagiarism can happen in many places, even in education world there are lots cases of plagiarism. The most common in cases of plagiarism in the education field is making the student programming assignments. to be able to determine the source code plagiarism required applications that can automatically detect plagiarism. With the application of plagiarism detector will help to detect which one plagiarism or not. Due to the characteristics of the source source code that is sequences, using adaptive local alignment algorithms and approaches intermediate language can detect similarities between the programs better.

Keywords: plagiarism, progamming, adaptive local alignment, similarity matrix, intermediate language


(3)

iii

Universitas Kristen Maranatha

DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

DAFTAR ISI ... iii

DAFTAR GAMBAR ... vi

DAFTAR TABEL ... viii

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Tujuan Pembahasan ... 2

1.4 Ruang Lingkup ... 2

1.5 Sumber Data ... 2

1.6 Sistematika Penyajian ... 3

BAB 2 KAJIAN TEORI ... 4

2.1 Plagiarisme ... 4

2.1.1 Identifikasi Plagiarisme ... 5

2.2 Algoritma Adaptive Local Alignment ... 6

2.3 C# ... 8

2.4 Common Intermediate Language (CIL) ... 9

2.5 Kontribusi Penelitian ... 10

BAB 3 ANALISIS DAN RANCANGAN SISTEM ... 12

3.1 Analisis ... 12

3.1.1 Gambaran Aplikasi... 12

3.1.2 Gambaran Algoritma ... 14


(4)

3.2 Desain Perangkat Lunak ... 18

3.2.1 Pemodelan Perangkat Lunak ... 18

3.2.1.1 Usecase Diagram ... 19

3.2.1.2 Activity Diagram Tranlasi berkas ke CIL dan Tokenisasi ... 20

3.2.1.3 Activity Diagram Hitung Similaritas ... 21

3.2.1.4 Activity Diagram Tokenisasi Berkas .cs ... 22

3.2.1.5 Activity Diagram Ekspor Hasil ... 23

3.2.2 Class Diagram ... 24

3.2.3 Rancangan Antarmuka ... 24

BAB 4 IMPLEMENTASI ... 26

4.1 Antarmuka Aplikasi ... 26

4.1.1 Antarmuka halaman awal ... 26

4.1.2 Antarmuka pilih file ... 26

4.1.3 Antarmuka Hasil perhitungan ... 31

4.2 Implementasi Algoritma... 32

4.2.1 Constructor ... 32

4.2.2 Create Matrix ... 33

4.2.3 Traceback ... 35

4.2.4 Alignment ... 35

BAB 5 PENGUJIAN ... 37

5.1 Pengujian Black Box ... 37

5.2 Hasil Pengujian ... 37

BAB 6 SIMPULAN DAN SARAN ... 44

6.1 Simpulan ... 44

6.2 Saran ... 44


(5)

v

Universitas Kristen Maranatha LAMPIRAN A Tabel Instruksi Bahasa Tengah C# ... A-1 LAMPIRAN B Tabel Hasil Pengujian ... B-9 LAMPIRAN C Pengujian Realcase ... C-11


(6)

DAFTAR GAMBAR

Gambar 2.1 Pseudocode Algoritma Adaptive Local Alignment ... 7

Gambar 2.2 CIL Instruction ... 9

Gambar 3.1 Flowchart Aplikasi Deteksi Plagiarisme ... 12

Gambar 3.2 CIL C# ... 13

Gambar 3.3 CIL filtering... 14

Gambar 3.4 Tokenisasi... 14

Gambar 3.5 Use Case Aplikasi Deteksi Plagiarisme ... 19

Gambar 3.6 Activity Diagram Tranlasi berkas ke CIL dan Tokenisasi ... 20

Gambar 3.7 Activity Diagram Hitung Similaritas ... 21

Gambar 3.8 Activity Diagram Tokenisasi Berkas .cs ... 22

Gambar 3.9 Activity Diagram Ekspor Hasil ... 23

Gambar 3.10 Class Diagram Aplikasi ... 24

Gambar 3.11 Rancangan Antarmuka ... 25

Gambar 4.1 Antarmuka Awal ... 26

Gambar 4.2 Antarmuka Pilih File Exe ... 27

Gambar 4.3 Kode Sumber Fungsi Translasi ... 28

Gambar 4.4 Kode Sumber button Pilih exe file ... 28

Gambar 4.5 Kode Sumber Fungsi Tokenisasi... 29

Gambar 4.6 Antarmuka Pilih File cs ... 29

Gambar 4.7 Kode Sumber Button Pilih File cs ... 30

Gambar 4.8 Kode Sumber Tokenisasi raw ... 31

Gambar 4.9 Antarmuka Hasil Perhitungan ... 31

Gambar 4.10 Kode Sumber Button Hitung ... 32

Gambar 4.11 Constructor ... 33

Gambar 4.12 Fungsi Create Matrix ... 34

Gambar 4.13 Fungsi Calc_score ... 34

Gambar 4.14 Traceback ... 35

Gambar 4.15 Fungsi Alignment_string ... 36

Gambar 5.1 Grafik Penalty ... 39

Gambar 5.2 Jumlah token ... 40


(7)

vii

Universitas Kristen Maranatha Gambar 5.4 Token kasus 5017 ... 41 Gambar 5.5 Pengujian Soal UVa ... 42


(8)

DAFTAR TABEL

Tabel 3.1 Matrik Kemiripan ... 17

Tabel 3.2 Matrik Traceback Parent ... 17

Tabel 5.1 Pengujian Blackbox ... 37


(9)

1

Universitas Kristen Maranatha

BAB 1

PENDAHULUAN

1.1Latar Belakang

Plagiarisme bisa menjadi masalah besar di universitas-universitas. Ada penelitian yang melaporkan bahwa lebih dari 10% siswa melakukan kasus plagiarisme [1]. Siswa dapat dengan mudah meniru tugas programming milik temannya dan memodifikasinya agar tidak terlihat seperti mencontek. Oleh karena itu penting untuk mengembangkan sistem deteksi plagiarisme yang secara otomatis menghitung kesamaan sepasang kode sumber.

Penelitian untuk mendeteksi plagiarisme sebagian besar dibagi menjadi dua kelompok, yaitu mendeteksi kasus plagiarisme di media dokumen teks yang ditulis dalam bahasa alami dan mendeteksi plagiarisme antara program komputer. Pada kenyataannya, untuk mendeteksi plagiarisme itu sebenarnya bukanlah tugas sebuah komputer akan tetapi itu tugas manusia, karena untuk mendeteksi plagiarisme itu sebenarnya dibutuhkan pemahaman dari dokumen tersebut.

Namun untuk manusia, memahami kode sumber program komputer itu jauh lebih sulit daripada dokumen normal. Jadi sistem deteksi otomatis diperlukan untuk membandingkan kode sumber program komputer. Ada beberapa penelitian untuk mendeteksi kesamaan antara program komputer, seperti MOSS yang menggunakan metode Winnowing [2], YAP3 menggunakan Rabin-Karp Greedy-String-Tiling [3], JPlag menggunakan Greedy-Greedy-String-Tiling [4].

Sebagian besar detektor ini membandingkan kode sumber program komputer secara sintaksis. Namun tidak semua potongan kode sumber dengan makna yang sama memiliki bentuk sintaks yang serupa, seperti baris instruksi for dan while. Secara sintaks berbeda, akan tetapi secara makna mirip. Mengingat permasalahan tersebut maka akan dibangun sebuah detektor yang membandingkan kode sumber secara semantik. Perbandingan ini dilakukan dengan mentranslasikan kode sumber menjadi (Common Intermediate Language) yang disingkat menjadi


(10)

CIL. CIL adalah sebuah intermediate language yang digunakan oleh .NET dan Mono Framework.

1.2Rumusan Masalah

Berdasarkan latar belakang yang telah dijelaskan maka rumusan masalah yang dibahas dalam penelitian ini adalah :

1. Bagaimana mendeteksi kesamaan program secara otomatis pada mata kuliah pemograman dasar?

2. Bagaimana membandingkan kesamaan kode sumber secara efektif dan efisien?

1.3Tujuan Pembahasan

Berdasarkan rumusan masalah yang telah dijelaskan maka tujuan pembahasan yang dibahas dalam penelitian ini adalah :

1. Membuat aplikasi yang dapat mendeteksi kesamaan program secara semantik. 2. membandingkan kode sumber dalam pendekatan intermediate language. Pada

pendektan tersebut, token delimiter akan terbuang sehingga lebih sedikit, dan hanya memperhitungkan token semantik.

1.4Ruang Lingkup

Ruang lingkup kajian dari pemaparan masalah meliputi :

1. Kode sumber yang bisa digunakan adalah semua kode berbasis .NET dan dalam pengujiannya menggunakan bahasa C#.

2. Kode sumber yang tidak lulus tahap kompilasi akan langsung dibandingkan secara sintaksis.

3. Membandingkan kode sumber menggunakan algoritma Adaptive Local Alignment.

4. Deteksi kesamaan kode sumber terfokus pada kode sumber yang berbasis problem solving, dimana program terdiri dari input, proses dan output.

1.5Sumber Data

Perancangan aplikasi ini menggunakan 2 sumber data, yaitu sumber data primer dan sekunder. Data primer didapatkan adalah data kode sumber dataset


(11)

3

Universitas Kristen Maranatha pengujian yang dipakai dalam jurnal berjudul Detecting Source Code Plagiarism on Introductory Programming Course Assignments Using a Bytecode Approach [5] yang memakai konsep 6 level plagiarisme dalam jurnal An empirical approach for detecting program similarity and plagiarism within a university programming environment [6]. Untuk sumber data sekunder didapat dari jurnal penelitian yang terkait dengan topik algoritma local alignment, dan topik pendekatan intermediate language.

1.6Sistematika Penyajian BAB 1 PENDAHULUAN

Bab ini menjelaskan tentang latar belakang masalah, rumusan masalah, tujuan pembahasan, ruang lingkup bahasan,sumber data, sistematika penyajian, dan waktu dan tempat penelitian.

BAB 2 KAJIAN TEORI

Bab ini membahas mengenai teori-teori yang berkaitan dalam penyelesaian proyek tugas akhir ini.

BAB 3 ANALISIS DAN RANCANGAN SISTEM

Bab ini membahas mengenai analisis dan rancangan sistem yang terdapat di tugas akhir ini, dan juga rancangan antarmuka dari proyek yang dikerjakan dalam tugas akhir ini.

BAB 4 IMPLEMENTASI

Bab ini berisi kumpulan screenshot dari proyek yang dibuat beserta penjelasan dari tiap fitur utama yang dibuat.

BAB 5 PENGUJIAN

Bab ini berisi pembahasan dan uji coba program dari fitur utama yang telah dibuat.

BAB 6 KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan pembahasan pada perancangan analisa pengujian aplikasi yang dibuat, serta saran untuk menyempurnakan dan memperbaiki aplikasi supaya menjadi aplikasi yang lebih baik.


(12)

BAB 6

SIMPULAN DAN SARAN

6.1Simpulan

Setelah melakukan serangkaian penelitian, mulai dari rancangan pembuatan hinggan proses uji coba, maka dapat disimpulkan bahwa :

1. Sistem deteksi plagiarisme berhasil dibangun, sistem dapat mendeteksi kesamaan progam pengguna dapat menghitung nilai kesamaan secara otomatis. 2. Dengan adanya aplikasi bawaan visual studio membuat kode program dapat ditranslasikan menjadi bahasa tengah, dan algoritma adaptive local alignment dapat membandingkan tingkat kesamaan program tugas mahasiswa berdasarkan karakteristik dari masing masing kasus. Dengan menggunakan pendekatan bahasa intermediate language, secara rata rata hasil pengujian lebih baik 3% dibanding dengan kode sumber langsung, dan token yang dihasilkan 5,3 kali lebih sedikit dibandingkan dengan pendekatan kode sumber secara langsung. Jadi dengan semakin sedikit token yang diproses oleh program berbanding lurus dengan waktu yang dipakai.

6.2Saran

Setelah melakukan serangkaian penelitian, maka akan diungkapkannya beberapa saran untuk pengembangan aplikasi ini agar dapat berguna di masa yang akan datang. Saran untuk pengembangan aplikasi di masa yang akan datang: 1. Aplikasi yang sudah ada bisa ditambahkan fitur untuk bahasa selain C#. 2. Melakukan penelitian pengujian untuk mendapatkan nilai alpha dan beta yang

optimal.

3. Melakukan perbandingan dengan menggunakan program lain, seperti MOSS, JPLAG, YAP3.

4. Pengujian selanjutnya dapat menggunakan data kategori serangan khusus C# yang didefinisikan oleh Juričić.


(13)

DETEKSI PLAGIARISME PADA KODE SUMBER

BERBASIS PROBLEM SOLVING DENGAN

PERBANDINGAN SIMILARITAS BAHASA TENGAH

MENGGUNAKAN ALGORITMA ADAPTIVE LOCAL

ALIGNMENT

TUGAS AKHIR

Diajukan untuk Memenuhi Persyaratan Akademik dalam

Menyelesaikan Pendidikan pada Program Studi

S1 Teknik Informatika Universitas Kristen Maranatha

Oleh

Faqih Salban Rabbani

1372090

PROGRAM STUDI S1 TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI

UNIVERSITAS KRISTEN MARANATHA

BANDUNG

2016


(14)

PRAKATA

Puji syukur penulis ucapkan kepada Tuhan Yang Maha Esa karena berkat dan rahmat-Nya penulis dapat menyelesaikan laporan tugas akhir ini. tugas Akhir ini ditujukan untuk memenuhi prasyarat kelulusan dalam program studi S1 Teknik Informatika yang wajib dijalani bagi semua mahasiswa jurusan S1 Teknik Informatika di Universitas Kristen Maranatha.

Studi kasus dari tugas akhir yang penulis lakukan didasarkan atas peninjauan tentang dibutuhkannya pengembangan aplikasi yang pernah dibuat sebelumnya agar lingkup pemakaian aplikasi ini dapat diperluas. Berkat bantuan dan bimbingan dari berbagai pihak, laporan ini dapat diselesaikan. Penulis pun ingin mengucapkan terima kasih yang sebesar-besarnya kepada pihak-pihak di bawah ini:

1. Bapak Oscar Karnalim, S.T., M.T., selaku Pembimbing Tugas Akhir; 2. Bapak Hapnes Toba, M. Sc., selaku Dekan Fakultas Teknologi Informasi; 3. Dosen-dosen yang membantu proses penyelesaian laporan dan program; 4. Kedua orangtua penulis, karena dengan doa dan restu merekalah penulis dapat

mencapai keberhasilan pada penelitian ini;

5. Najib Alkhala, Robby Septian, M. Aldi Tahir, dan teman-teman jurusan S1 Teknik Informatika angkatan 2013 lain yang memotivasi penulis;

Penulis pun menyadari bahwa dalam penyusunan laporan ini terdapat banyak sekali kesalahan, maka dari itu penulis menerima dengan lapang dada segala kritik dan saran agar laporan ini bisa menjadi contoh yang baik di masa depan.

Bandung, 14 Desember 2016


(15)

45

Universitas Kristen Maranatha

DAFTAR PUSTAKA

[1] S. Mann dan Z. Frew, “Similarity and originality in code: plagiarism and normal variation in student assignments,” In Proceedings on Eighth Australasian Computing Education, vol. 52, p. 143–150, 2006.

[2] A. Aiken, “Moss: A system for detecting software plagiarism,” University of California–Berkeley, vol. 9, 2005.

[3] M. J. Wise, “YAP3: improved detection of similarities in computer program and other texts,” SIGCSE Bull., vol. 28, pp. 130-134, 1996.

[4] G. Malpohl, L. Prechelt dan M. Philippsen, “Finding Plagiarisms among a Set of Programs with JPlag,” Journal of Universal Computer Science, vol. 8, pp. 1016-1038, 2002.

[5] O. Karnalim, “Detecting Source Code Plagiarism on Introductory

Programming Course Assignments Using a Bytecode Approach,” dalam The

10th International Conference on Information & Communication Technology and Systems, 2016.

[6] F. J. A. W. dan R. S. K., “An empirical approach for detecting program similarity and plagiarism within a university programming environment,” Computers & Education, vol. 11, no. 1, pp. 11-19, 1987.

[7] A. Novanta, “Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman,” 2009.

[8] D. Novian, T. Abdillah, . M. Tuloli dan . R. Yassin, “Aplikasi Pendeteksian Plagiat Pada Karya Ilmiah Menggunakan Algoritma Rabin-Karp,” 2012. [9] T. F. Smith dan M. S. Waterman, “Identification of Common Molecular

Subsequences,” J. Mol. Biol, vol. 147, pp. 195-197, 1981.

[10] D. Huson, “Grundlagen der Bioinformatik Chapter 4 Pairwise alignment,” vol. 4, pp. 20-38, 2008.

[11] microsoft, “Getting Started with C#,” microsoft, [Online]. Available: https://msdn.microsoft.com/en-us/library/a72418yk.aspx. [Diakses 13 September 2016].


(16)

[12] Ecma International, “C# Language Specification,” June 2006. [Online]. Available: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf. [Diakses 13 September 2016].

[13] “Standard ECMA-335,” Ecma International, June 2012. [Online]. Available: http://www.ecma-international.org/publications/standards/Ecma-335.htm. [Diakses 13 September 2016].

[14] R. Singh, “Understanding Common Intermediate Language (CIL),” Code

Project, 23 Maret 2013. [Online]. Available:

http://www.codeproject.com/Articles/362076/Understanding-Common-Intermediate-Language-CIL. [Diakses 13 September 2016].

[15] S.-H. P. G. W. H.-G. C. Jeong-Hoon Ji, “Source Code Similarity Detection Using Adaptive Local Alignment of Keywords,” Eighth International Conference on Parallel and Distributed Computing, Applications and Technologies, pp. 179-180, 2007.

[16] L. Jin-Su , . J. Jeong-Hoon, . C. Hwan-Gue dan W. Gyun , “Plagiarism

Detection Among Source Codes Using,” ICUIMC ’11, February 21-23, 2011,

Seoul, Korea, 2011.

[17] T. J. T. Vedran Juričić, “Performance Evaluation of Plagiarism Detection,” INFuture2011: “Information Sciences and e-Society”, pp. 355-363, 2011.


(1)

3

Universitas Kristen Maranatha pengujian yang dipakai dalam jurnal berjudul Detecting Source Code Plagiarism

on Introductory Programming Course Assignments Using a Bytecode Approach [5]

yang memakai konsep 6 level plagiarisme dalam jurnal An empirical approach for

detecting program similarity and plagiarism within a university programming environment [6]. Untuk sumber data sekunder didapat dari jurnal penelitian yang

terkait dengan topik algoritma local alignment, dan topik pendekatan intermediate

language.

1.6Sistematika Penyajian BAB 1 PENDAHULUAN

Bab ini menjelaskan tentang latar belakang masalah, rumusan masalah, tujuan pembahasan, ruang lingkup bahasan,sumber data, sistematika penyajian, dan waktu dan tempat penelitian.

BAB 2 KAJIAN TEORI

Bab ini membahas mengenai teori-teori yang berkaitan dalam penyelesaian proyek tugas akhir ini.

BAB 3 ANALISIS DAN RANCANGAN SISTEM

Bab ini membahas mengenai analisis dan rancangan sistem yang terdapat di tugas akhir ini, dan juga rancangan antarmuka dari proyek yang dikerjakan dalam tugas akhir ini.

BAB 4 IMPLEMENTASI

Bab ini berisi kumpulan screenshot dari proyek yang dibuat beserta penjelasan dari tiap fitur utama yang dibuat.

BAB 5 PENGUJIAN

Bab ini berisi pembahasan dan uji coba program dari fitur utama yang telah dibuat.

BAB 6 KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan pembahasan pada perancangan analisa pengujian aplikasi yang dibuat, serta saran untuk menyempurnakan dan memperbaiki aplikasi supaya menjadi aplikasi yang lebih baik.


(2)

44

Universitas Kristen Maranatha

BAB 6

SIMPULAN DAN SARAN

6.1Simpulan

Setelah melakukan serangkaian penelitian, mulai dari rancangan pembuatan hinggan proses uji coba, maka dapat disimpulkan bahwa :

1. Sistem deteksi plagiarisme berhasil dibangun, sistem dapat mendeteksi kesamaan progam pengguna dapat menghitung nilai kesamaan secara otomatis. 2. Dengan adanya aplikasi bawaan visual studio membuat kode program dapat ditranslasikan menjadi bahasa tengah, dan algoritma adaptive local alignment dapat membandingkan tingkat kesamaan program tugas mahasiswa berdasarkan karakteristik dari masing masing kasus. Dengan menggunakan pendekatan bahasa intermediate language, secara rata rata hasil pengujian lebih baik 3% dibanding dengan kode sumber langsung, dan token yang dihasilkan 5,3 kali lebih sedikit dibandingkan dengan pendekatan kode sumber secara langsung. Jadi dengan semakin sedikit token yang diproses oleh program berbanding lurus dengan waktu yang dipakai.

6.2Saran

Setelah melakukan serangkaian penelitian, maka akan diungkapkannya beberapa saran untuk pengembangan aplikasi ini agar dapat berguna di masa yang akan datang. Saran untuk pengembangan aplikasi di masa yang akan datang: 1. Aplikasi yang sudah ada bisa ditambahkan fitur untuk bahasa selain C#. 2. Melakukan penelitian pengujian untuk mendapatkan nilai alpha dan beta yang

optimal.

3. Melakukan perbandingan dengan menggunakan program lain, seperti MOSS, JPLAG, YAP3.

4. Pengujian selanjutnya dapat menggunakan data kategori serangan khusus C#


(3)

DETEKSI PLAGIARISME PADA KODE SUMBER

BERBASIS PROBLEM SOLVING DENGAN

PERBANDINGAN SIMILARITAS BAHASA TENGAH

MENGGUNAKAN ALGORITMA ADAPTIVE LOCAL

ALIGNMENT

TUGAS AKHIR

Diajukan untuk Memenuhi Persyaratan Akademik dalam

Menyelesaikan Pendidikan pada Program Studi

S1 Teknik Informatika Universitas Kristen Maranatha

Oleh

Faqih Salban Rabbani

1372090

PROGRAM STUDI S1 TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI

UNIVERSITAS KRISTEN MARANATHA

BANDUNG

2016


(4)

PRAKATA

Puji syukur penulis ucapkan kepada Tuhan Yang Maha Esa karena berkat dan rahmat-Nya penulis dapat menyelesaikan laporan tugas akhir ini. tugas Akhir ini ditujukan untuk memenuhi prasyarat kelulusan dalam program studi S1 Teknik Informatika yang wajib dijalani bagi semua mahasiswa jurusan S1 Teknik Informatika di Universitas Kristen Maranatha.

Studi kasus dari tugas akhir yang penulis lakukan didasarkan atas peninjauan tentang dibutuhkannya pengembangan aplikasi yang pernah dibuat sebelumnya agar lingkup pemakaian aplikasi ini dapat diperluas. Berkat bantuan dan bimbingan dari berbagai pihak, laporan ini dapat diselesaikan. Penulis pun ingin mengucapkan terima kasih yang sebesar-besarnya kepada pihak-pihak di bawah ini:

1. Bapak Oscar Karnalim, S.T., M.T., selaku Pembimbing Tugas Akhir; 2. Bapak Hapnes Toba, M. Sc., selaku Dekan Fakultas Teknologi Informasi; 3. Dosen-dosen yang membantu proses penyelesaian laporan dan program; 4. Kedua orangtua penulis, karena dengan doa dan restu merekalah penulis dapat

mencapai keberhasilan pada penelitian ini;

5. Najib Alkhala, Robby Septian, M. Aldi Tahir, dan teman-teman jurusan S1 Teknik Informatika angkatan 2013 lain yang memotivasi penulis;

Penulis pun menyadari bahwa dalam penyusunan laporan ini terdapat banyak sekali kesalahan, maka dari itu penulis menerima dengan lapang dada segala kritik dan saran agar laporan ini bisa menjadi contoh yang baik di masa depan.

Bandung, 14 Desember 2016


(5)

45

Universitas Kristen Maranatha

DAFTAR PUSTAKA

[1] S. Mann dan Z. Frew, “Similarity and originality in code: plagiarism and normal variation in student assignments,” In Proceedings on Eighth Australasian Computing Education, vol. 52, p. 143–150, 2006.

[2] A. Aiken, “Moss: A system for detecting software plagiarism,” University of California–Berkeley, vol. 9, 2005.

[3] M. J. Wise, “YAP3: improved detection of similarities in computer program and other texts,” SIGCSE Bull., vol. 28, pp. 130-134, 1996.

[4] G. Malpohl, L. Prechelt dan M. Philippsen, “Finding Plagiarisms among a Set of Programs with JPlag,” Journal of Universal Computer Science, vol. 8, pp.

1016-1038, 2002.

[5] O. Karnalim, “Detecting Source Code Plagiarism on Introductory

Programming Course Assignments Using a Bytecode Approach,” dalam The

10th International Conference on Information & Communication Technology and Systems, 2016.

[6] F. J. A. W. dan R. S. K., “An empirical approach for detecting program similarity and plagiarism within a university programming environment,”

Computers & Education, vol. 11, no. 1, pp. 11-19, 1987.

[7] A. Novanta, “Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman,” 2009.

[8] D. Novian, T. Abdillah, . M. Tuloli dan . R. Yassin, “Aplikasi Pendeteksian Plagiat Pada Karya Ilmiah Menggunakan Algoritma Rabin-Karp,” 2012. [9] T. F. Smith dan M. S. Waterman, “Identification of Common Molecular

Subsequences,” J. Mol. Biol, vol. 147, pp. 195-197, 1981.

[10] D. Huson, “Grundlagen der Bioinformatik Chapter 4 Pairwise alignment,” vol. 4, pp. 20-38, 2008.

[11] microsoft, “Getting Started with C#,” microsoft, [Online]. Available: https://msdn.microsoft.com/en-us/library/a72418yk.aspx. [Diakses 13 September 2016].


(6)

46

Universitas Kristen Maranatha [12] Ecma International, “C# Language Specification,” June 2006. [Online].

Available: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf. [Diakses 13 September 2016].

[13] “Standard ECMA-335,” Ecma International, June 2012. [Online]. Available: http://www.ecma-international.org/publications/standards/Ecma-335.htm. [Diakses 13 September 2016].

[14] R. Singh, “Understanding Common Intermediate Language (CIL),” Code Project, 23 Maret 2013. [Online]. Available: http://www.codeproject.com/Articles/362076/Understanding-Common-Intermediate-Language-CIL. [Diakses 13 September 2016].

[15] S.-H. P. G. W. H.-G. C. Jeong-Hoon Ji, “Source Code Similarity Detection Using Adaptive Local Alignment of Keywords,” Eighth International Conference on Parallel and Distributed Computing, Applications and Technologies, pp. 179-180, 2007.

[16] L. Jin-Su , . J. Jeong-Hoon, . C. Hwan-Gue dan W. Gyun , “Plagiarism

Detection Among Source Codes Using,” ICUIMC ’11, February 21-23, 2011,

Seoul, Korea, 2011.

[17] T. J. T. Vedran Juričić, “Performance Evaluation of Plagiarism Detection,” INFuture2011: “Information Sciences and e-Society”, pp. 355-363, 2011.