• Tidak ada hasil yang ditemukan

APLIKASI OBFUSCATION PADA SOURCE CODE PEMROGRAMAN JAVA UNTUK MELINDUNGI KARYA CIPTA PERANGKAT LUNAK. Tugas Akhir

N/A
N/A
Protected

Academic year: 2021

Membagikan "APLIKASI OBFUSCATION PADA SOURCE CODE PEMROGRAMAN JAVA UNTUK MELINDUNGI KARYA CIPTA PERANGKAT LUNAK. Tugas Akhir"

Copied!
13
0
0

Teks penuh

(1)

APLIKASI OBFUSCATION PADA SOURCE CODE PEMROGRAMAN JAVA UNTUK MELINDUNGI KARYA CIPTA PERANGKAT LUNAK

Tugas Akhir

Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang

Zaenal Abidin

NIM. 201110370311050

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH MALANG

(2)

LEMBAR PERSETUJUAN

APLIKASI OBFUSCATION PADA SOURCE CODE PEMROGRAMAN JAVA UNTUK MELINDUNGI KARYA CIPTA PERANGKAT LUNAK

TUGAS AKHIR

ZAENAL ABIDIN 201110370311050

Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang

Menyetujui, Dosen I

Maskur, S.Kom, M.Kom

NIDN : 0711098402

Dosen II

Ilyas Nuryasin, S.Kom, M.Kom

(3)

LEMBAH PENGESAHAN

APLIKASI OBFUSCATION PADA SOURCE CODE PEMROGRAMAN JAVA UNTUK MELINDUNGI KARYA CIPTA PERANGKAT LUNAK

TUGAS AKHIR

Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang

Disusun Oleh :

ZAENAL ABIDIN 201110370311050

Tugas Akhir ini telah diuji dan dinyatakan lulus melalui sidang majelis penguji pada tanggal 21 April 2015

Menyetujui, Penguji I

Eko Budi Cahyono, S.Kom, M.T

NIDN : 0717027001

Penguji II

Ali Sofyan Kholimi, S.Kom, M.Kom

NIDN : 0701038202

Mengetahui,

Ketua Jurusan Teknik Informatika

Yuda Munarko, S.Kom, M.Sc

(4)

LEMBAR PERNYATAAN

Yang bertanda tangan dibwah ini :

NAMA : ZAENAL ABIDIN NIM : 201110370311050

FAK./JUR. : TEKNIK/INFORMATIKA

Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul APLIKASI OBFUSCATION PADA SOURCE CODE PEMROGRAMAN JAVA UNTUK MELINDUNGI KARYA CIPTA PERANGKAT LUNAK beserta seluruh isinya adalah karya saya sendiri bukan merupakan karya tulis orang lain, baik sebagian maupun seluruhnya, kecuali dalam bentuk kutipan yang telah disebutkan sumbernya.

Demikian surat pernyataan ini saya buat dengan sebenar-benarnya. Apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini maka saya siap menanggung segala bentuk resiko/sanksi yang berlaku

Malang, 8 April 2015 Dosen Pembimbing

Maskur, S.Kom, M.Kom

NIDN : 0711098402

Yang Membuat Pernyataan

Zaenal Abidin

(5)

LEMBAR PERSEMBAHAN

Puji syukur kepada Allah SWT atas rahmat dan karuniaNya sehingga penulis dapat menyelesaikan Tugas Akhir ini. Penulis menyampaikan ucapan terima kasih yang sebesar besarnya kepada :

1. Allah SWT yang selalu memberikan kesehatan dan petunjuk dalam pengerjaan tugas akhir ini.

2. Kedua orang tua saya Bapak Tawi, Ibu Kuriyah serta Kakak saya Moch. Khudori dan Adik saya Moch. Khojin, beserta keluarga besar yang telah memberikan semangat, dukungan, motivasi dan lain lain yang tidak dapat disebut satu persatu.

3. Kedua dosen Pembimbing saya Bapak Maskur, S.Kom, M.Kom, selaku dosen pembimbing satu dan Bapak Ilyas Nuryasin, S.Kom, M.Kom selaku dosen pembimbing dua yang telah membimbing saya dalam tugas akhir ini.

4. Bapak Dekan Fakultas Teknik Universitas Muhammadiyah Malang. 5. Bapak Ketua Jurusan, serta bapak ibu dosen Teknik Informatika

Univeritas Muhammadiyah Malang.

6. Teman teman di Pondok Pesantren Miftahul Ulum Putra, khususnya teman sekamar yaitu cak Alfian, Faldy, Barlian yang telah membangunkan tidurku untuk mengerjakan tugas akhir ini. serta teman teman yang lain yang ada di pondok.

7. Teman teman Lab yang sebagai Laboran, partime 2015 maupun yang menjadi Asisten Lab khususnya asisten angkatan 2011 Jurusan teknik informatika.

(6)

KATA PENGANTAR

Dengan memanjatkan puji syukur kehadirat Allah SWT atas limpahan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan tugas akhir yang berjudul :

APLIKASI OBFUSCATION PADA SOURCE CODE

PEMROGRAMAN JAVA UNTUK MELINDUNGI KARYA CIPTA PERANGKAT LUNAK

Di dalam tulisan ini disajikan pokok-pokok bahasan yang meliputi. Bahasa java, enkripsi AES dan Obfuscation.

Peneliti menyadari masih banyak kekurangan dan keterbatasan dalam penulisan tugas akhir ini. Untuk itu, penulis sangat mengharapkan saran yang membangun agar tulisan ini dapat berguna untuk perkembangan ilmu pengetahuan kedepan.

Malang, …… April 2015 Penulis

(7)

DAFTAR ISI

LEMBAR PERSETUJUAN ... 2

LEMBAH PENGESAHAN ... 3

LEMBAR PERNYATAAN ... 4

ABSTRAK ... ERROR! BOOKMARK NOT DEFINED. ABSTRACT ... ERROR! BOOKMARK NOT DEFINED. LEMBAR PERSEMBAHAN ... 5

KATA PENGANTAR ... 6

DAFTAR ISI ... 7

DAFTAR GAMBAR ... 10

DAFTAR TABEL ... 12

BAB I PENDAHULUAN ... ERROR! BOOKMARK NOT DEFINED.

1.1 LATAR BELAKANG ...ERROR! BOOKMARK NOT DEFINED. 1.2 RUMUSAN MASALAH ...ERROR! BOOKMARK NOT DEFINED. 1.3 TUJUAN ...ERROR! BOOKMARK NOT DEFINED. 1.4 BATASAN MASALAH ...ERROR! BOOKMARK NOT DEFINED. 1.5 METODOLOGI PENELITIAN ...ERROR! BOOKMARK NOT DEFINED.

1.5.1 Studi Pustaka ... Error! Bookmark not defined.

1.5.2 Analisis ... Error! Bookmark not defined.

1.5.3 Desain sistem ... Error! Bookmark not defined.

1.5.4 Implementasi ... Error! Bookmark not defined.

1.5.5 Pengujian ... Error! Bookmark not defined.

1.5.6 Dokumentasi ... Error! Bookmark not defined.

1.6 SISTEMATIKA PENULISAN ...ERROR! BOOKMARK NOT DEFINED. BAB II LANDASAN TEORI ... ERROR! BOOKMARK NOT DEFINED.

(8)

2.2 SEKURITI ...ERROR! BOOKMARK NOT DEFINED. 2.3 KONSEP DASAR PROGRAM APLIKASI .ERROR! BOOKMARK NOT DEFINED.

2.3.1 Program ... Error! Bookmark not defined.

2.3.2 Aplikasi ... Error! Bookmark not defined.

2.3.3 Program Aplikasi ... Error! Bookmark not defined.

2.4 BAHASA PEMROGRAMAN JAVA ...ERROR! BOOKMARK NOT DEFINED.

2.4.1 Java API ... Error! Bookmark not defined.

2.4.2 Karakteristik Java ... Error! Bookmark not defined.

2.4.3 Kekurangan dan Kelebihan Java ... Error! Bookmark not defined.

2.4.4 Fitur dari java ... Error! Bookmark not defined.

2.4.5 Fase Pemrograman Java ... Error! Bookmark not defined.

2.5 OBFUSCATION ...ERROR! BOOKMARK NOT DEFINED. 2.6 ALGORITMA AES ...ERROR! BOOKMARK NOT DEFINED.

BAB III ANALISIS DAN PERANCANGAN SISTEMERROR! BOOKMARK NOT DEFINED.

3.1 ANALISIS SISTEM ...ERROR! BOOKMARK NOT DEFINED.

3.1.1. Proses Listing File ... Error! Bookmark not defined.

3.1.2. Proses parsing ... Error! Bookmark not defined.

3.1.3. Proses Obfuscate ... Error! Bookmark not defined.

3.1.4. Proses pembuatan file java ... Error! Bookmark not defined.

3.2 PERANCANGAN INTERFACE ...ERROR! BOOKMARK NOT DEFINED.

3.2.1. Modul input/output ... Error! Bookmark not defined.

3.2.2. Modul Parse ... Error! Bookmark not defined.

3.2.3. Modul obfuscate ... Error! Bookmark not defined.

3.2.4. Modul monitor ... Error! Bookmark not defined.

BAB IV IMPLEMENTASI DAN PENGUJIANERROR! BOOKMARK NOT DEFINED.

4.1 IMPLEMENTASI SISTEM ...ERROR! BOOKMARK NOT DEFINED.

4.1.1. Implementasi Modul input/output ... Error! Bookmark not defined.

4.1.2. Implementasi modul Parse ... Error! Bookmark not defined.

4.1.3. Implementasi Modul Obfuscate... Error! Bookmark not defined.

4.2 PENGUJIAN SISTEM ...ERROR! BOOKMARK NOT DEFINED.

(9)

4.2.2. Rencana Pengujian ... Error! Bookmark not defined.

4.2.3. Pengujian Wite-box ... Error! Bookmark not defined.

4.2.3.1 Pengujian Wite-box proses listing ... Error! Bookmark not defined. 4.2.3.2 Pengujian wite-box proses ObfuscationError! Bookmark not defined.

4.2.4. Pengujian Modul ... Error! Bookmark not defined.

4.2.5. Hasil pengujian ... Error! Bookmark not defined.

4.2.6. Kesimpulan Pengujian ... Error! Bookmark not defined.

BAB V KESIMPULAN DAN SARAN ERROR! BOOKMARK NOT DEFINED.

5.1 KESIMPULAN ...ERROR! BOOKMARK NOT DEFINED. 5.2 SARAN ...ERROR! BOOKMARK NOT DEFINED. DAFTAR PUSTAKA ... ERROR! BOOKMARK NOT DEFINED.

(10)

DAFTAR GAMBAR

Gambar 2. 1 Fase pembentukan Program Java ... Error! Bookmark not defined. Gambar 2. 2 Konsep Obfuscation ... Error! Bookmark not defined. Gambar 3. 1 Flowchart Listing file ... Error! Bookmark not defined. Gambar 3. 2 Flowchart proses parsing ... Error! Bookmark not defined. Gambar 3. 3 Flowchart proses obfuscate ... Error! Bookmark not defined. Gambar 3. 4 Flowchart enkripsi AES 128 ... Error! Bookmark not defined. Gambar 3. 5 Flowchart replace character symbol . Error! Bookmark not defined. Gambar 3. 6 Flowchart Pembuatan file... Error! Bookmark not defined. Gambar 3. 7 Desain interface modul input/output Error! Bookmark not defined. Gambar 3.8 Desain interface modul Parse ... Error! Bookmark not defined. Gambar 3. 9 Desain interface modul Obfuscate .... Error! Bookmark not defined. Gambar 3. 10 Desain interface modul monitoring . Error! Bookmark not defined. Gambar 4. 1 Implementasi interface modul input/outputError! Bookmark not defined. Gambar 4. 2 Potongan source-code Listing file *.javaError! Bookmark not defined. Gambar 4. 3 implementasi interface modul Parse Error! Bookmark not defined.

Gambar 4. 4 Potongan source-code mendeteksi method dan variabelError! Bookmark not defined. Gambar 4. 5 Potongan source-code mendeteksi method dan menyimpanError! Bookmark not defined. Gambar 4. 6 Potongan source-code mendeteksi variabel dan menyimpanError! Bookmark not defined. Gambar 4. 7 Potongan source-code mendeteksi value stringError! Bookmark not defined.

Gambar 4. 8 implementasi interface modul Obfuscate.Error! Bookmark not defined. Gambar 4. 9 Potongan source-code kunci enkripsi randomError! Bookmark not defined. Gambar 4. 10 source-code rename method ... Error! Bookmark not defined.

Gambar 4. 11 source-code rename method caller .. Error! Bookmark not defined. Gambar 4. 12 source-code rename variable ... Error! Bookmark not defined. Gambar 4. 13 source-code rename variable callerError! Bookmark not defined.

Gambar 4. 14 Potongan source-code membuat decript fileError! Bookmark not defined. Gambar 4. 15 potongan source-code change string valueError! Bookmark not defined. Gambar 4. 16 potongan source-code untuk membuat file *.javaError! Bookmark not defined. Gambar 4. 17 potongan source-code untuk menjalankan commandError! Bookmark not defined. Gambar 4. 18 Potongan source-code Manifest fileError! Bookmark not defined.

(11)

Gambar 4. 19 potongan source-code untuk membuat command *.JarError! Bookmark not defined. Gambar 4. 20 pengubahan flowchart kedalam flow graph proses listingError! Bookmark not defined. Gambar 4. 21 pengubahan flowchart kedalam flow graph proses

Obfuscation ... Error! Bookmark not defined. Gambar 4. 22 Penomoran ulang flow graph ... Error! Bookmark not defined. Gambar 4. 23 Pengujian modul input/output ... Error! Bookmark not defined. Gambar 4. 24 Pengujian modul Parse ... Error! Bookmark not defined.

Gambar 4. 25 Pengujian modul Obfuscate sebelum encriptError! Bookmark not defined. Gambar 4. 26 Pengujian Modul obfuscate setelah encriptError! Bookmark not defined. Gambar 4. 27 Pengujian modul monitor ... Error! Bookmark not defined. Gambar 4. 28 Grafik penggunaan memori RAM . Error! Bookmark not defined. Gambar 4. 29 Grafik performance program ... Error! Bookmark not defined.

(12)

DAFTAR TABEL

Tabel 2. 1 Fase pemrograman Java ... Error! Bookmark not defined. Tabel 2. 2 Jumlah putaran algoritma AES ... Error! Bookmark not defined. Tabel 4. 1 project yang akan di obfuscate ... Error! Bookmark not defined. Tabel 4. 2 Rencana Pengujian ... Error! Bookmark not defined. Tabel 4. 3 Path cyclomatic complexity proses listingError! Bookmark not defined. Tabel 4. 4 Graph matrix proses Listing ... Error! Bookmark not defined. Tabel 4. 5 Pengujian proses listing ... Error! Bookmark not defined. Tabel 4. 6 Path proses Obfuscation ... Error! Bookmark not defined. Tabel 4. 7 Graph Matrix proses Obfuscation ... Error! Bookmark not defined. Tabel 4. 8 Pengujian proses Obfuscation ... Error! Bookmark not defined. Tabel 4. 9 Project testing ... Error! Bookmark not defined. Tabel 4. 10 Pengujian menggunakan Project CalculatorError! Bookmark not defined.

Tabel 4. 11 Pengujian menggunakan Project Calculator ScientificError! Bookmark not defined. Tabel 4. 12 Pengujian menggunakan Project OneClickBankingError! Bookmark not defined. Tabel 4. 13 Hasil pengujian project ... Error! Bookmark not defined.

(13)

Daftar Pustaka

Andi Gunawan M.kom, ST. Metode dan Algoritma. 2010. http://www.metode-algoritma.com/2013/02/kriptografi-algoritma-blowfish.html (accessed 10 27, 2014). Binanto, Iwan. “Konsep Bahasa Pemrograman.” 1. Yogyakarta: Andi, 2009.

Coliberg, CS. Watermarking, Temper-Proofing and Obfuscation - Tools for Software. IEEE Transc On Software Engineering Vol 28 No 6., 2002.

Dhanta, Rizky. “Pengantar Ilmu Komputer.” 32. Surabaya: Indah, 2009.

Eliam, Eldad & Chikofsky, Elliot J. Reversing: secrets of reversing engineering. John Wiley & Sons, 2007.

Ir Sugiyono. “Pemrograman Terstruktur.” 21. Kuningan - Jawa Barat: Panji gumilang press, 2005.

Jogiyanto . “Analisis dan Desain Sistem Informasi.” 4. Jogjakarta: Andi, 2004. Komputer, Wahana. Kamus Lengkap Dunia Komputer. Jogjakarta: Andi, 2009.

Liang, Y. Daniel. Introduction to Java programming: comprehensive version 6 th. London, United States of America: Pearson Education Ltd, 2007.

Microsoft. Microsoft Developer Network. 2005. http://msdn.microsoft.com/en-US/library/ms227255(v=vs.80).aspx (accessed 10 27, 2014).

Presman, Roger. Software Engineering A Practitioner's Approach 6 th Edition. McGraw Hill, 2005.

Republik Indonesia . Undang Undang Republik Indonesia Nomor 19 Tahun 2002 Tentang Hak Cipta. Jakarta, 2002.

Republik Indonesia. Undang Undang Republik Indonesia Nomor 28 Tahun 2014 Tentang Hak Cipta. Jakarta, 2014.

Wangsawidjaja, Jeffrey. “Perancangan Program Aplikasi Obfuskator Source Code Actionscript untuk minimalisasi Tindakan Plagiarisme Menggunakan Algoritma Blowfish.” 2006: 15.

Wardiana, Wawan. “Pencegah Pembajakan Perangkat Lunak dengan MenggunakanTeknik Identity-Based Encryption dan Obfuscation.” INKOM, 2009: 1 - 2.

Referensi

Dokumen terkait

Indonesia sebagai penghasil minyak setengah jadi kelapa sawit (CPO) dengan jumlah yang sangat besar. Produk CPO Indonesia menjadi komoditas unggulan Indonesia yang memenuhi

Penyusunan skripsi ini bertujuan untuk mengetahui dan mengungkap bagaimana Manajemen Sumber Belajar dalam Meningkatkan Kualitas Pembelajaran PAI di SMP Muhammadiyah

Program keagaman di televisi memiliki tingkat popularitas yang berbeda-beda, menggunakan data video program keagamaan dari sample yang kami gunakan dalam penelitian

Cakupan pelayanan kesehatan anak balita Provinsi Kalimantan Selatan (Laporan B12 tahun 2013) sebesar 47,94% yang berarti belum mencapai target renstra 2013 yang sebesar

Pengaruh Entrepreneurial Traits Dan Entrepreneurial Skills Terhadap Intensi Kewirausahaan (Studi Empiris Dampak Pendidikan Kewirausahaan pada Mahasiswa Universitas

Outbound training merupakan kegiatan pelatihan yang sekaligus memberikan nuansa rekreasi yang dilakukan dialam bebas, yang terdiri dari serangkaian simulasi,

Penalaran analogi telah memainkan suatu peran kunci didalam teori psikologi seperti juga di dalam praktik kehidupan sehari-hari, (Sternberg, 1977). Para ahli psikologi

Menyatakan bahwa Tugas Akhir dengan judul: “Pembangunan Perangkat Lunak Perencanaan Tebal Lapis Perkerasan Tambahan Metode Benkelman Beam (BB) Menggunakan Aplikasi