PENGEMBANGAN MODEL ABSTRACT SYNTAX TREE BERBASIS B-TREE DAN NAÏVE BAYES UNTUK PERHITUNGAN KESAMAAN SINTAKS PADA PROGRAM KOMPUTER SKRIPSI

dokumen-dokumen yang mirip
PENERAPAN METODE PROBABILITAS BAYESIAN DAN NEAREST NEIGHBOUR DALAM SISTEM PAKAR BERBASIS CASE BASED REASONING (CBR) KOMPETENSI KOMPUTASI SKRIPSI

PENGARUH EKSTRAKSI FITUR TWO DIMENSIONAL LINEAR DISCRIMINANT ANALYSIS

ANALISIS DAN IMPLEMENTASI REGULAR EXPRESSION UNTUK PENGUMPULAN DATA DAN LEVENSHTEIN DISTANCE DALAM MEMBANDINGKAN DATA HALAMAN WEB

PERANCANGAN SISTEM APLIKASI DOWNLOAD MANAGER DENGAN ENKRIPSI PADA URL MENGGUNAKAN ALGORITMA BLOWFISH JARINGAN KOMPUTER SKRIPSI

MADE PASEK AGUS ARIAWAN

SISTEM KLASIFIKASI REPORTING BERITA MENGGUNAKAN METODE NAIVE BAYES (Studi Kasus Situs Resmi Pemerintahan) KOMPETENSI RPL SKRIPSI

ANALISIS KINERJA JARINGAN MPLS DAN ROUTING PROTOCOL OSPF PADA APLIKASI VIDEO STREAMING KOMPETENSI JARINGAN SKRIPSI

PERANCANGAN APLIKASI KOMPRESI VIDEO DENGAN MENGUNAKAN METODE FRACTAL VIDEO COMPRESSION SKRIPSI

RANCANG BANGUN FITUR PENILAIAN KEAKTIFAN SISWA PADA FORUM DISKUSI SISTEM E-LEARNING KOMPETENSI REKAYASA PERANGKAT LUNAK SKRIPSI

PERANCANGAN DAN IMPLEMENTASI SISTEM PEMINATAN SISWA SMA DENGAN ALGORITMA C4.5 PADA SMAK HARAPAN DENPASAR

PART-OF-SPEECH TAGGING UNTUK DOKUMEN BAHASA BALI MENGGUNAKAN ALGORITMA BRILL TAGGER KOMPETENSI KOMPUTASI SKRIPSI NI PUTU MERI SRIYATI NIM.

PENERAPAN MODIFIKASI ALGORITMA A* PATHFINDING DALAM GAME BALAP 3D BERBASIS MOBILE KOMPETENSI REKAYASA PERANGKAT LUNAK SKRIPSI

PERANCANGAN DAN IMPLEMENTASI SISTEM INFORMASI PANGGILAN DARURAT RUMAH SAKIT BERBASIS MOBILE (ANDROID) DAN GEOTAGGING KOMPETENSI RPL SKRIPSI

PERINGKASAN TEKS OTOMATIS DOKUMEN BAHASA INDONESIA DENGAN ALGORITMA GENETIKA LEMBAR JUDUL KOMPETENSI REKAYASA PERANGKAT LUNAK SKRIPSI

TUGAS AKHIR PERANCANGAN DAN IMPLEMENTASI SISTEM PENCARIAN BUKU RUANG BACA ILMU KOMPUTER UDAYANA BERBASIS WEB DENGAN METODE BM25 KOMPETENSI RPL

PENGENALAN AKSARA BALI MENGGUNAKAN METODE MODIFIED DIRECTION FEATURE DAN ALGORITMA GENERALIZED LEARNING VECTOR QUANTIZATION (GLVQ)

PENGENALAN KUALITAS BUAH JERUK KINTAMANI MENGGUNAKAN METODE SUPPORT VECTOR MACHINE (SVM) KOMPETENSI KOMPUTASI SKRIPSI KOMANG SONIYA GUNAWAN

PENGAMANAN FILE GAMBAR PADA PERANGKAT MOBILE ANDROID MENGGUNAKAN METODE STEGANOGRAFI LSB DAN ALGORITMA KRIPTOGRAFI AES SKRIPSI

SISTEM PENDUKUNG KEPUTUSAN MASA RAWAT INAP MENGGUNAKAN METODE CASE BASE REASONING SKRIPSI

PERANCANGAN DAN IMPLEMENTASI SISTEM REKOMENDASI PENCARIAN BUKU PERPUSTAKAAN MENGGUNAKAN METODE VECTOR SPACE MODEL

ANALISIS DAN IMPLEMENTASI WATERMARKING UNTUK KEAMANAN DOKUMEN MENGGUNAKAN FINGERPRINT KOMPETENSI JARINGAN SKRIPSI

SKRIPSI MADE SUKA SETIAWAN NIM

ANALISIS KETAHANAN METODE STEGANOGRAFI ADVANCE LEAST SIGNIFICANT BIT

ANALISIS DAN PERANCANGAN SISTEM PEMESANAN PADA PERCETAKAN BERBASIS WEB SKRIPSI

KATA PENGANTAR. Bukit Jimbaran, 06 Januari 2017 Penyusun. I Made Kurniawan Putra

TUGAS AKHIR IMPLEMENTASI ALGORITMA KRIPTOGRAFI LOKI97 UNTUK PENGAMANAN AUDIO FORMAT AMR KOMPETENSI JARINGAN SKRIPSI

IMPLEMENTASI ALGORITMA HUFFMAN UNTUK KOMPRESI DAN DEKOMPRESI GAMBAR DIGITAL

LOAD BALANCING PADA CLOUD COMPUTING MENGGUNAKAN ALGORITMA WEIGHTED LEAST CONNECTION JARINGAN KOMPUTER SKRIPSI

ANALISIS KINERJA SIGNATURE-BASED IDS DENGAN MENGGUNAKAN SNORT DAN IP-TABLES DALAM MENDETEKSI SERANGAN ICMP FLOODING PADA WEB SERVER SKRIPSI

Analisis Perbandingan Metode Fuzzy Mamdani dan Metode Fuzzy Tsukamoto pada Diagnosa Tingkat Kerusakan Mobil KOMPETENSI KOMPUTASI SKRIPSI

ANALISIS PERBANDINGAN KINERJA LOAD BALANCING DENGAN METODE PCC DAN NTH MENGGUNAKAN SIMULATOR GNS3 SKRIPSI I MADE WINDIPALLA ROYKE NIM.

PENERAPAN METODE ANT COLONY OPTIMIZATION PADA METODE K-HARMONIC MEANS UNTUK KLASTERISASI DATA HALAMAN JUDUL

KLASIFIKASI PENYAKIT CACAR AIR DAN CAMPAK BERDASARKAN KARAKTERISTIK DIAGNOSA PENYAKIT MENGGUNAKAN METODE K-MEANS CLUSTERING

LAPORAN TUGAS AKHIR STEGANOGRAFI PESAN TEXT KEDALAM VIDEO FORMAT MP4 MENGGUNAKAN METODE SPREAD SPECTRUM JARINGAN KOMPUTER

KEAMANAN JARINGAN MENGGUNAKAN FIREWALL DENGAN METODE RANDOM PORT KNOCKING UNTUK KONEKSI SSH

PERANCANGAN SISTEM PENENTUAN KECAKAPAN MENULIS BAHASA INGGRIS SISWA SMP MENGGUNAKAN ALGORITMA K-MODES CLUSTERING (STUDI KASUS : SMPN 6 DENPASAR)

PEMANFAATAN TEKNOLOGI RFID (RADIO FREQUENCY IDENTIFICATION) UNTUK DETEKSI PENGISIAN BBM PADA MOBIL DINAS DI LINGKUNGAN UNIVERSITAS UDAYANA

JARINGAN KOMPUTER I WAYAN MULIAWAN NIM

ANALISIS DAN IMPLEMENTASI INISIALISASI NGUYEN WIDROW PADA METODE BACKPROPAGATION UNTUK PREDIKSI JENIS PENYAKIT PARU - PARU

PERANCANGAN DAN IMPLEMENTASI SISTEM PENILAIAN JAWABAN ESAI OTOMATIS MENGGUNAKAN ALGORITMA RABIN-KARP KOMPETENSI REKAYASA PERANGKAT LUNAK SKRIPSI

RANCANG BANGUN SISTEM PENCARIAN DOKUMEN JURNAL MENGGUNAKAN METODE BM25+

RANCANG BANGUN SISTEM PENYELARASAN KATA BERBAHASA INDONESIA DENGAN MENGGUNAKAN ALGORITMA LEVENSHTEIN DISTANCE

PENERAPAN METODE HIDDEN MARKOV MODEL DAN MEL FREQUENCY CEPSTRUM COEFFICIENT DALAM PENGENALAN VOICE COMMAND BERBAHASA INDONESIA KOMPETENSI KOMPUTASI

IMPLEMENTASI ALGORITMA HUFFMAN DAN ALGORITMA AES UNTUK MENGAMANKAN FILE GAMBAR SKRIPSI. Anak Agung Ngurah Mahendra Adhi Putra NIM.

RANCANG BANGUN APLIKASI MULTIMEDIA GEGENDINGAN BALI MENGGUNAKAN ALGORITMA BOYER MOORE BERBASIS ANDROID SKRIPSI I WAYAN J. WIRATAMA NIM.

PENGAMANAN APLIKASI VOICE CHATTING DENGAN MENGGUNAKAN ALGORITMA AES (ADVANCED ENCRYPTION STANDARD) SKRIPSI

ESSAY GRADING DENGAN KONSEP SIMILARITY RABIN KARP

STEGANOGRAFI FILE DOKUMEN TERENKRIPSI MENGGUNAKAN METODE LSB PADA VIDEO

IMPLEMENTASI DAN ANALISIS BROADCAST SMS DENGAN ALGORITMA ANTRIAN CLASS BASED QUEUING (CBQ) KOMPETENSI JARINGAN SKRIPSI

IMPLEMENTASI KEAMANAN MENGGUNAKAN PERTUKARAN KUNCI DIFFIE HELLMAN DAN ALGORITMA ENKRIPSI BLOWFISH KOMPETENSI JARINGAN KOMPUTER SKRIPSI

Kata Kunci: pengecekan ejaan, kata berimbuhan, string matching, algoritma KMP.

ANALISIS KUALITAS VIDEO STREAMING DENGAN PROTOKOL ROUTING OLSR DAN AODV PADA MOBILE ADHOC NETWORK SKRIPSI ANGGARDA SANJAYA NIM.

IMPLEMENTASI ALGORITMA SELF ORGANIZING MAP UNTUK REKOMENDASI MUSIC INTEREST DALAM APLIKASI FACEBOOK KOMPETENSI KOMPUTASI SKRIPSI HALAMAN JUDUL

PROTOTYPE SISTEM ABSENSI MAHASISWA MENGGUNAKAN RADIO FREKUENSI IDENTIFICATION (RFID) DAN FINGERPRINT KOMPETENSI JARINGAN

KOMPETENSI KOMPUTASI SKRIPSI LUH EKA KUSUMAYANTI

SISTEM INFORMASI PALANG MERAH INDONESIA MENGGUNAKAN PENERAPAN ARSITEKTUR MULTI-TIER DENGAN DCOM SEBAGAI PROTOKOL JARINGAN KOMPUTER SKRIPSI

PENERAPAN NEAR FIELD COMUNICATION (NFC) SEBAGAI PENGGANTI TIKET KONVENSIONAL PADA BUS TRANS SARBAGITA SKRIPSI

PERANCANGAN DAN IMPLEMENTASI APLIKASI ONLINE ANALYTICAL PROCESSING (OLAP) PADA SISTEM INFORMASI EKSEKUTIF RUMAH SAKIT

IMPLEMENTASI DAN ANALISIS ALGORITMA ONE TIME PAD SEBAGAI KEAMANAN DATA PADA SOFTWARE AS A SERVICE BERBASIS OWNCLOUD SKRIPSI

IMPLEMENTASI ADAPTIVE HYPERMEDIA SYSTEM (AHS) PADA E-LEARNING BELAJAR BAHASA JEPANG UNTUK PEMULA

IMPLEMENTASI APLIKASI OLAP UNTUK ANALISIS REKAPITULASI LAPORAN PADA SISTEM INFORMASI RUMAH SAKIT KOMPETENSI REKAYASA PERANGKAT LUNAK SKRIPSI

Perancangan Prototype Sistem Informasi Antrian Nasabah Bank Online berbasis Mobile Application

IMPLEMENTASI ALGORITMA RABIN-KARP UNTUK SISTEM PENDETEKSI KESAMAAN DOKUMEN PROPOSAL TUGAS AKHIR SKRIPSI

PENGAMANAN INFORMASI GAMBAR FORMAT GIF DENGAN TEKNIK WATERMARKING METODE DCT(DISCRETE COSINE TRASFORM) KOMPETENSI JARINGAN KOMPUTER [SKRIPSI]

ANTARMUKA BAHASA INDONESIA PENGAKSES BASIS DATA DENGAN PEMBANGKITAN INPUT QUERY ALTERNATIF MENGGUNAKAN KAIDAH SINTAKSIS DAN SEMANTIK

SISTEM DESKRIPSI NUTRISI MAKANAN BERBASIS WEBSITE KOMPETENSI RPL SKRIPSI

ANALISIS KUALITAS VIDEO CONFERENCE PADA MOBILE AD-HOC NETWORK (MANET) MENGGUNAKAN PROTOKOL MAODV LEMBAR JUDUL SKRIPSI

ANALISIS BACKUP DAN SINKRONISASI DATA OTOMATIS

SISTEM PENDUKUNG KEPUTUSAN PENJURIAN DENGAN MENGGUNAKAN METODE SAW (SIMPLE ADDITIVE WEIGHTING) BERBASIS WEB REKAYASA PERANGKAT LUNAK SKRIPSI

ABSTRAK. Kata Kunci: City Guide,TOPSIS,Unified Modeling Language

ABSTRAK. Kata Kunci : Banten, Transaksi, E-commerce

RANCANG BANGUN APLIKASI PERLINDUNGAN HAK CIPTA FILE MUSIK DENGAN TEKNIK WATERMARKING MENGGUNAKAN METODE ECHO DATA HIDING BERBASIS ANDROID SKRIPSI

RANCANG BANGUN APLIKASI MOBILE TRANSAKSI KAS KELILING NASABAH LPD LEGIAN MENGGUNAKAN SCANNING QRCODE SKRIPSI

SISTEM REKOMENDASI DOSEN PEMBIMBING TUGAS AKHIR BERBASIS TEXT MINING MENGGUNAKAN VECTOR SPACE MODEL

KAJIAN MASALAH ANTRIAN PADA SISTEM PENGUMPULAN TOL KONVENSIONAL TERHADAP RANCANGAN SISTEM PENGUMPULAN TOL ELEKTRONIK KOMPETENSI KOMPUTASI SKRIPSI

PERANCANGAN DAN IMPLEMENTASI APLIKASI ANALISIS KERANJANG PASAR DENGAN METODE FUZZY C-COVERING

IMPLEMENTASI ALGORITMA AES UNTUK PENGAMANAN ISI FILE CSS PADA WEBSITE KOMPETENSI JARINGAN SKRIPSI

ABSTRAK. Kata Kunci: Android, Algoritma Knuth-Morris-Pratt, Waterfall, Blackbox-testing, Whitebox-testing, Strees- testing. iii

KATA PENGANTAR. penelitian ini.

ANALISIS PERFORMANSI FTP (File Transfer Protocol) DENGAN MEKANISME TUNNELING TEREDO UNTUK INTERKONEKSI IPV4 DAN IPV6 [SKRIPSI]

PERANCANGAN PURWARUPA SISTEM KEAMANAN RESEP OBAT RUMAH SAKIT BERBASIS RFID (Radio Frequency Identification)

Analisis dan Perancangan Sistem Penentuan Penerima Bantuan Bedah Rumah Bali Mandara dengan Metode Entropy

Disusun Oleh : Dinita Christy Pratiwi NIM. M

PERANCANGAN DAN IMPLEMENTASI SISTEM MONITORING BKD (BEBAN KERJA DOSEN) BERBASIS WEB DI JURUSAN ILMU KOMPUTER SKRIPSI

PERANCANGAN DAN IMPLEMENTASI SISTEM PENENTUAN MENU DIET GIZI PADA PENDERITA PENYAKIT GINJAL KRONIK DENGAN ALGORITMA GENETIKA

PEMBUATAN APLIKASI UJIAN ONLINE UNTUK PERGURUAN TINGGI TUGAS AKHIR

KENDALI PERGERAKAN MOTOR STEPPER SUMBU X-Y PADA PROTOTIPE MESIN CUTTER UNTUK MEMBUAT POLA GARIS TEGAK LURUS DAN PERSEGI

KLASIFIKASI RUMAH TANGGA UNTUK PENENTUAN PENERIMA KPS (KARTU PERLINDUNGAN SOSIAL) DENGAN MENGGUNAKAN METODE MODIFIED K-NEAREST NEIGHBOR (MKNN) SKRIPSI

KATA PENGANTAR. I Kade Adi Haryawan

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II TINJAUAN PUSTAKA

IMPLEMENTASI SCHEDULED VIDEO KLIP STREAMING PADA WEB KOMPETENSI JARINGAN KOMPUTER SKRIPSI

PERANCANGAN APLIKASI GIZI BERBASIS MOBILE SKRIPSI I PUTU WIDI INDRIYANA NIM

PENERAPAN METODE PARTICLE SWARM OPTIMIZATION PADA OPTIMASI DISTRIBUSI LPG DARI AGEN KE TOKO KOMPETENSI KOMPUTASI SKRIPSI

SISTEM INFORMASI JALUR OPTIMAL TRANSPORTASI UMUM (TAKSI) BERBASIS MOBILE MENGGUNAKAN METODE ALGORITMA GENETIKA. (Studi Kasus: Denpasar Utara)

SURAT PERNYATAAN KEASLIAN KARYA ILMIAH

Pengembangan Sistem Verifikasi Mata Kuliah Dengan Parsing Data Text Transkrip Siakad Pada Jurusan Ilmu Komputer

PERANCANGAN DAN IMPLEMENTASI METODE CASED BASED REASONING (CBR) UNTUK MENENTUKAN PRAKIRAAN TOTAL BIAYA PASIEN KOMPETENSI REKAYASA PERANGKAT LUNAK

PERANCANGAN APLIKASI KAWASAN BALI TOURISM DEVELOPMENT CORPORATION (BTDC) DENGAN MENGGUNAKAN METODE LOCATION-BASED SERVICE (LBS) BERBASIS ANDROID

ABSTRAK. Kata kunci: temperamen, kepribadian, Hippocrates, sinonim, antonim, pembelajaran mesin. Universitas Kristen Maranatha

Transkripsi:

PENGEMBANGAN MODEL ABSTRACT SYNTAX TREE BERBASIS B-TREE DAN NAÏVE BAYES UNTUK PERHITUNGAN KESAMAAN SINTAKS PADA PROGRAM KOMPUTER SKRIPSI I GEDE WISESA PRIYA FENTIKA NIM. 1208605081 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS UDAYANA BUKIT JIMBARAN 2016 i

SURAT PERNYATAAN KEASLIAN KARYA ILMIAH Yang bertanda tangan di bawah ini menyatakan bahwa naskah Skripsi dengan judul:...... Nama : I Gede Wisesa Priya Fentika NIM : 1208605081 Program Studi : Teknik Informatika E-mail : sesa.fentika@gmail.com Nomor telp/hp : 087861375820 Alamat : Dusun Nyuh, Desa Lemukih, Kec. Sawan, Kab. Buleleng, Bali. Belum pernah dipublikasikan dalam dokumen skripsi, jurnal nasional maupun internasional atau dalam prosiding manapun, dan tidak sedang atau akan diajukan untuk publikasi di jurnal atau prosiding manapun. Apabila di kemudian hari terbukti terdapat pelanggaran kaidah-kaidah akademik pada karya ilmiah saya, maka saya bersedia menanggung sanksi-sanksi yang dijatuhkan karena kesalahan tersebut, sebagaimana diatur oleh Peraturan Menteri Pendidikan Nasional Nomor 17 Tahun 2010 tentang Pencegahan dan Penanggulangan Plagiat di Perguruan Tinggi. Demikian Surat Pernyataan ini saya buat dengan sesungguhnya untuk dapat dipergunakan bilamana diperlukan. Bukit Jimbaran, April 2016 Yang membuat pernyataan, (I Gede Wisesa Priya Fentika) NIM. 1208605081 i

PENGEMBANGAN MODEL ABSTRACT SYNTAX TREE BERBASIS B-TREE DAN NAÏVE BAYES UNTUK PERHITUNGAN KESAMAAN SINTAKS PADA PROGRAM KOMPUTER KOMPETENSI KOMPUTASI [SKRIPSI] Sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Udayana Tulisan ini merupakan hasil penelitian yang belum pernah dipublikasikan I GEDE WISESA PRIYA FENTIKA NIM. 1208605081 Pembimbing I Pembimbing II I Made Widiartha, S.Si., M.Kom NIP. 198212202008011008 I Gede Santi Astawa, S.T., M.Cs NIP. 198012062006041003 ii

LEMBAR PENGESAHAN TUGAS AKHIR Judul Kompetensi Nama NIM : 1208605081 : Pengembangan Model Abstract Syntax Tree Berbasis B-Tree dan Naïve Bayes Untuk Perhitungan Kesamaan Sintaks Pada Program Komputer : Komputasi : I Gede Wisesa Priya Fentika Tanggal Seminar : 22 April 2016 Pembimbing I Disetujui Oleh : Penguji I (I Made Widiartha, S.Si., M.Kom) (I Komang Ari Mogi, S.Kom., M.Kom) NIP. 198212202008011008 NIP. 198409242008011007 Pembimbing II Penguji II (I Gede Santi Astawa, S.T., M.Cs) (Ida Bagus Made Mahendra, S.Kom., M.Kom) NIP. 198006162005011001 NIP. 198006212008121002 Penguji III (I Gede Arta Wibawa, S.T., M.Kom) NIP. 198310222008121001 Mengetahui, Ketua Jurusan Ilmu Komputer FMIPA Universitas Udayana (Agus Muliantara, S.Kom., M.Kom) NIP. 198006162005011001 iii

Judul : Pengembangan Model Abstract Syntax Tree Berbasis B-Tree dan Naïve Bayes Untuk Perhitungan Kesamaan Sintaks Pada Program Komputer Nama : I Gede Wisesa Priya Fentika (NIM: 1208605081) Pembimbing : 1. I Made Widiartha, S.Si., M.Kom 2. I Gede Santi Astawa, S.T., M.Cs ABSTRAK Pemrograman merupakan salah satu keterampilan (skill) yang harus dimiliki oleh setiap mahasiswa yang mengambil jurusan dalam ranah Teknologi Informasi (TI) pada Perguruan Tinggi. Setiap matakuliah pemrograman yang diambil, tugas membuat program merupakan suatu hal yang mutlak diperlukan untuk mengukur tingkat kepahaman akan konsep pemrograman yang diajarkan. Setiap tugas yang diberikan akan memiliki tenggat waktu (deadline) untuk dikumpulkan. Pengumpulan tugas yang bersamaan akan memunculkan permasalahan yaitu menentukan apakah dua buah program memiliki kesamaan atau tidak. Disamping itu, proses pemeriksaan tugas dilakukan secara manual sehingga membutuhkan waktu yang lama. Oleh karena itu diperlukan sebuah sistem yang dapat mempercepat dan mempermudah proses untuk pengecekan kesamaan kode program. Sistem dibuat dengan mengembangkan model Abstract Syntax Tree (AST) berbasis B-Tree dan Naïve Bayes. Sistem ini bernama Syntax Similarity Program (SSP). Pengujian yang dilakukan pada sistem bertujuan untuk mengukur ketepatan dalam memeriksa kesamaan kode program dan kecepatan dalam proses pemeriksaan. Ketepatan diuji dengan membandingkan hasil presentase kesamaan (PK) sistem dengan hasil perhitungan manual. Sedangkan Kecepatan diuji dengan menghitung kompleksitas waktu total dari proses-proses penting pada sistem. Hasil dari pengujian ketepatan menghasilkan nilai 100 % dan hasil dari pengujian kecepatan menghasilkan nilai kompleksitas waktu O(lg n 4 + n 3 ). Dengan total 10 himpunan kode program yang diuji, hasil pengujian membuktikan bahwa pengembangan model Abstract Syntax Tree (AST) berbasis B-Tree dan Naïve Bayes dapat berjalan dengan ketepatan dan kecepatan yang baik untuk memeriksa kesamaan kode program. Kata Kunci : Pemrograman, Abstract Syntax Tree (AST), B-Tree, Naïve Bayes, Syntax Similarity Program (SSP). iv

Title : Development of B-Tree based Abstract Syntax Tree and Naïve Bayes for Syntax Similarity Computation on Computer Programs Name : I Gede Wisesa Priya Fentika (NIM: 1208605081) Supervisor : 1. I Made Widiartha, S.Si., M.Kom 2. I Gede Santi Astawa, S.T., M.Cs ABSTRACT Programming is one of the skills prossessed by any student who majored in the realm of Information Technology (IT) in Higher Education. In each programming course taken, the task of creating a program is something that is necessary to measure the level of understanding of the concept of programming taught. Any given task will have a deadline to submit. The submission of tasks simultaneously will bring up problems that may determine whether the two programs have similarities or not. In addition, the evaluation process of a task is done manually so it takes a long time. Therefore, a system is needed that can speed up and simplify the process for checking the similarity of the program code. The system is created by developing the Abstract Syntax Tree (AST) based on B-Tree and Naive Bayes. This system is called Syntax Similarity Program (SSP). Tests conducted on the system aims to measure the accuracy in checking the program code and the speed in the examination process. Accuracy is tested by comparing the system of similarity percentage results (PK) with the results of manual computations while speed is tested by computing the total time complexity of important processes on the system. The results of testing the accuracy yielded the value of 100% and the results of testing the speed yielded value time complexity O(lg n 4 + n 3 ). With a total of 10 sets of program codes tested, the test results proved that the development model of Abstract Syntax Tree (AST) based on B-Tree and Naive Bayes could run with good accuracy and speed for examining the program codes. Keywords: Programming, Abstract Syntax Tree (AST), B-Tree, Naïve Bayes, Syntax Similarity Program (SSP) v

KATA PENGANTAR Penelitian dengan judul Pengembangan Model Abstract Syntax Tree Berbasis B-Tree dan Naïve Bayes Untuk Perhitungan Kesamaan Sintaks Pada Program Komputer ini disusun dalam rangkaian kegiatan pelaksanaan Tugas Akhir di Jurusan Ilmu Komputer FMIPA UNUD. Penelitian ini dilaksanakan pada periode Juli 2015 hingga April 2016 di Universitas Udayana. Sehubungan dengan telah terselesaikannya penelitian ini, maka diucapkan terima kasih dan penghargaan kepada berbagai pihak yang telah membantu penyusun, antara lain: 1. Bapak I Made Widiartha, S.Si., M.Kom sebagai Pembimbing I yang telah banyak meluangkan waktu untuk membantu pelaksanaan penelitian ini; 2. Bapak I Gede Santi Astawa, S.T., M.Cs sebagai Pembimbing II yang telah bersedia mengkritisi, memeriksa dan menyempurnakan penulisan ini; 3. Bapak Agus Muliantara, S.Kom., M.Kom selaku Ketua Jurusan Ilmu Komputer Universitas Udayana yang telah banyak memberikan masukan dan motivasi sehingga memperlancar dalam proses pengerjaan penelitian ini; 4. Bapak-bapak dan ibu-ibu dosen di Jurusan Ilmu Komputer yang telah meluangkan waktu turut memberikan saran dan masukan dalam pelaksanaan penelitian; 5. Kawan-kawan di Jurusan Ilmu Komputer yang telah memberikan dukungan moral dalam penyelesaian penelitian ini. Disadari pula bahwa sudah tentu hasil-hasil dari penelitian ini masih mengandung kelemahan dan kekurangan. Memperhatikan hal ini, maka masukan dan saran-saran penyempurnaan sangat diharapkan. Bukit Jimbaran, April 2016 Penyusun I Gede Wisesa Priya Fentika vi

DAFTAR ISI HALAMAN JUDUL... i LEMBAR PERNYATAAN... ii LEMBAR PENGESAHAN... iii ABSTRAK... iv ABSTRACT... v KATA PENGANTAR... vi DAFTAR ISI... vii DAFTAR TABEL... x DAFTAR GAMBAR... xi DAFTAR LAMPIRAN... xii BAB I PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Rumusan Masalah... 2 1.3 Batasan Masalah... 3 1.4 Tujuan Penelitian... 3 1.5 Manfaat Penelitian... 3 1.6 Metodologi Penelitian... 3 1.6.1 Desain Penelitian... 3 BAB II TINJAUAN PUSTAKA... 5 2.1 Sintaks Program Komputer... 5 2.1.1 Elemen Dasar Bahasa Java... 6 2.2 Ekspresi Reguler... 11 2.3 Abstract Syntax Tree (AST)... 14 2.4 Struktur Data B-Tree... 15 2.5 Probabilitas Naïve Bayes... 16 2.6 Tree Pattern Matching (TPM)... 17 BAB III ANALISIS DAN PERANCANGAN... 19 3.1 Kebutuhan Fungsional... 19 3.1.1 Melakukan Input Data... 19 3.1.2 Melakukan Ekstraksi Data... 20 vii

3.1.3 Pembuatan Abstract Syntax Tree (AST)... 20 3.1.4 Perhitungan Naïve Bayes... 20 3.1.5 Melakukan Tree Pattern Matching... 20 3.2 Rancangan Data... 21 3.3 Rancangan Antar Muka Sistem... 25 3.3.1 Header... 26 3.3.2 Input Data Program... 26 3.3.3 Hasil Ekstraksi Kode Program... 26 3.3.4 Proses Perhitungan... 27 3.3.5 Hasil Statistik... 27 3.4 Pengolahan Data... 28 3.4.1 Preprocessing... 28 3.4.2 Pembuatan Abstract Syntax Tree... 29 3.4.3 Perhitungan Naïve Bayes... 29 3.4.4 Proses Tree Pattern Matching... 30 3.5 Pengujian dan Evaluasi... 31 3.5.1 Skenario Pengujian... 31 3.5.2 Evaluasi Sistem... 31 BAB IV HASIL DAN PEMBAHASAN... 33 4.1 Implementasi Input Data... 33 4.2 Implementasi Melakukan Ekstraksi Data... 34 4.3 Implementasi Perhitungan Naïve Bayes... 39 4.4 Implementasi Pembuatan Abstract Syntax Tree (AST)... 41 4.5 Implementasi Proses Tree Pattern Matching (TPM)... 44 4.6 Implementasi Proses Inisialisasi Hasil Statistik... 46 4.7 Tampilan Antarmuka Sistem... 49 4.7.1 Tampilan Input Data... 49 4.7.2 Tampilan Lihat Kode Program... 50 4.7.3 Tampilan Data Kategori... 50 4.7.4 Tampilan Status Proses... 51 4.7.5 Tampilan Tabel Probabilitas... 51 4.7.6 Tampilan Tabel Detail Pemeriksaan... 52 viii

4.8 Hasil dan Pengujian Sistem... 52 4.8.1 Hasil Uji Coba Sistem... 52 4.8.2 Analisa Hasil... 55 BAB V KESIMPULAN DAN SARAN... 58 5.1 Kesimpulan... 58 5.2 Saran... 58 DAFTAR PUSTAKA... 59 LAMPIRAN ix

DAFTAR TABEL Tabel 2.1 Program hello world! Programmer A... 5 Tabel 2.2 Program hello world! pada Programmer B... 5 Tabel 2.3 Format Penulisan Elemen Kode Program pada Java... 6 Tabel 2.4 Kata Kunci pada Java... 9 Tabel 2.5 Daftar Separator di dalam Java... 10 Tabel 2.6 Daftar Metacharacter... 12 Tabel 2.7 Contoh Source Code pada Java... 14 Tabel 3.1 Data Penting pada Format Penulisan Elemen Pemrograman... 22 Tabel 3.2 Data Kategori untuk Kode Program... 24 Tabel 4.1 Pseudocode untuk Mencari File Input... 33 Tabel 4.2 Pseudocode untuk Melihat Isi File Input... 33 Tabel 4.3 Pseudocode Menghitung Jumlah Baris Kode Program... 34 Tabel 4.4 Daftar Regex untuk Ekstraksi Data... 35 Tabel 4.5 Pseudocode Melakukan Ekstraksi Data dengan Regex... 36 Tabel 4.6 Pseudocode Ekstraksi Struktur dari Kode Program... 37 Tabel 4.7 Pseudocode Ekstraksi Konten dari Kode Program... 37 Tabel 4.8 Contoh Kode Program Java untuk Menghitung Probabilitas... 39 Tabel 4.9 Pseudocode Menghitung Probabilitas dengan Naïve Bayes... 40 Tabel 4.10 Pseudocode Membuat Kelas Node untuk B-Tree... 41 Tabel 4.11 Pseudocode Pembuatan Node Root pada B-Tree... 43 Tabel 4.12 Pseudocode Pembuatan Node Child pada B-Tree... 43 Tabel 4.13 Pseudocode Proses Tree Pattern Matching Antara 2 Kode Program... 45 Tabel 4.14 Pseudocode Menampilkan Nilai Probabilitas pada Tabel... 47 Tabel 4.15 Pseudocode Menampilkan Tabel Detail Pemeriksaan Kode Program... 48 Tabel 4.16 Pseudocode Menampilkan Presentase Kesamaan... 49 Tabel 4.17 Hasil Perbandingan PK secara Manual dan Otomatis pada SSP. 53 x

DAFTAR GAMBAR Gambar 1.1 Rancangan Sistem... 4 Gambar 2.1 Model AST untuk Source Code pada Tabel 2.6... 14 Gambar 2.2 Contoh Struktur B-Tree dengan Nilai Orde 5... 15 Gambar 2.3 Sebuah Proses Mapping dengan TPM... 18 Gambar 3.1 Flowchart Proses Pemeriksaan Kode Program... 19 Gambar 3.2 Tampilan Antarmuka SSP versi 2.0... 25 Gambar 3.3 Tampilan Antarmuka Header pada SSP... 26 Gambar 3.4 Tampilan Antarmuka Input Data Program pada SSP... 26 Gambar 3.5 Tampilan Antarmuka Hasil Ekstraksi Kode Program pada SSP 27 Gambar 3.6 Tampilan Antarmuka Proses Perhitungan pada SSP... 27 Gambar 3.7 Tampilan Antarmuka Hasil Statistik pada SSP... 28 Gambar 3.8 Flowchart Ekstraksi Data... 28 Gambar 3.9 Flowchart Preprocessing... 29 Gambar 3.10 Flowchart Pembentukan Pohon... 29 Gambar 3.11 Flowchart Perhitungan Naïve Bayes... 29 Gambar 3.12 Flowchart Tree Pattern Matching... 30 Gambar 3.13 Skema Pemeriksaan Kesamaan untuk 2-5 Kode Program... 31 Gambar 4.1 Contoh B-Tree dari Sebuah Kode Program... 43 Gambar 4.2 Tampilan Hasil Input Data... 50 Gambar 4.3 Hasil Data Kategori dengan Input sama dengan 5... 50 Gambar 4.4 Tampilan Informasi Status Proses... 51 Gambar 4.5 Tampilan Tabel Probabilitas... 51 Gambar 4.6 Tampilan Tabel Detail Pemeriksaan... 51 Gambar 4.7 Tabel Hasil Pemeriksaan... 52 Gambar 4.8 Grafik Pengujian Ketepatan Pemeriksaan Kode Program Secara Manual dan Otomatis dengan SSP... 55 Gambar 4.9 Grafik Laju Pertumbuhan Fungsi Pemeriksaan Kode dengan n : 1-100... 56 xi

Gambar 4.10 Grafik Laju Pertumbuhan Fungsi Pemeriksaan Kode dengan n : 1-5... 57 xii

DAFTAR LAMPIRAN Lampiran 1. Input Kode Program Java xiii

1