IMPLEMENTASI ALGORITMA KRIPTOGRAFI METODE SHIFT CIPHER PADA FOLDER LOCK
NASKAH PUBLIKASI
diajukan oleh
Miftakhul Hudha 06.11.1254
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2012
ii
SHIFT CIPHER ALGORITHM CRIPTOGRAPHY IMPLEMENTATION IN FOLDER LOCK IMPLEMENTASI ALGORITMA KRIPTOGRAFI METODE SHIFT CIPHER PADA FOLDER LOCK
Miftakhul Hudha Melwin Syafrizal Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT Security issues is one of the most important aspects in the world of information technology. Now this to group the data inserted into a specific folder for easier searching later. When we work with the data or the computer connected to the public network, it is important to protect our data file from the access of people who we do not want. One method for protecting data files and restrict access to it is a combination lock folder with a cryptographic algorithm. Shift cipher is an algorithm that existed before the digital era as it is today. Classical algorithm included in the cryptographic system symmetry is an algorithm that have the same key to encrypt and decrypt. That's because at that time undiscovered public key cryptography. Based on the results of testing an application or system built lock folders with shift cipher algorithm that is built with java and have been made in the extension jar has been tested with a lock on the folder, it works by adding a registry extension network. Folders are not in lock-in the form of a regular folder icon while a folder that was in-form lock icon Network icon in a state of hidden and when clicked it will go to Network. The result can be run properly to protect access to the folder with the terms of the computer is installed java minimum version of Java 2 SE 1.2. Keywords: Shift Cipher, JAVA, Cryptography, Folder Lock, Computer
iii
1.
Pendahuluan Masalah keamanan merupakan salah satu aspek penting dalam dunia teknologi
informasi, misalnya : keamanan isi folder. Sekarang ini, untuk mengelompokkan data– data yang spesifik dimasukkan ke dalam suatu folder, untuk memudahkan pencarian dikemudian hari. Di dalam folder bisa dimasukkan folder lain maupun file, misalnya : gambar, database, video dan lain-lain. Folder dapat diberi nama sesuai dengan kebutuhannya. Keamanan telah menjadi aspek yang sangat penting dari suatu sistem informasi. Sebuah sistem informasi umumnya hanya ditujukan bagi segolongan tertentu. Oleh karena itu sangat penting untuk mencegahnya jatuh ketangan pihak–pihak lain yang tidak berkepentingan. Untuk melaksanakan tujuan tersebutlah dirancang suatu sistem keamanan yang berfungsi melindungi sistem informasi. Upaya pengamanan sistem informasi yang dapat dilakukan adalah kriptografi. Salah satu cara untuk mengatasi hal tersebut, dapat dilakukan dengan mengenkripsi isi dari berkas, sehingga pihak yang tidak terotentifikasi untuk merubah maupun menambah data akan sulit menerjemahkannya. Metode yang bisa digunakan, yaitu metode shift cipher, dengan pengacakan data menjadi chipertext yang mengutamakan keamanan data itu sendiri. 2.
Landasan Teori
2.1
kriptografi Kriptografi (cryptography) berasal dari bahasa Yunani yaitu cryptos artinya
rahasia (secret) dan graphein artinya tulisan (writing). Jadi kriptografi berarti tulisan rahasia (secret writing). Secara istilah kriptografi didefinisikan sebagai ilmu sekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai arti atau nilai, dengan cara menyamarkan (mengacak) menjadi bentuk yang tidak dapat dimengerti menggunakan suatu algoritma tertentu. Dalam ilmu kriptografi suatu pesan yang akan dirahasiakan atau disandikan disebut dengan plaintext, sedangkan pesan yang telah disandikan sehingga tidak memiliki nilai dan arti lagi dengan tujuan agar pesan tidak dapat dibaaca oleh pihak yang tidak berhak disebut chipertext. Untuk melakukan kriptografi digunakan algoritma kriptografi. Algoritma kriptografi terdiri dari tiga fungsi, yaitu enkripsi, dekripsi dan kunci. Enkripsi merupakan proses mengubah plaintext menjadi ciphertext, dekripsi merupakan kebalikan dari enkripsi yaitu mengubah ciphertext menjadi plaintext, sedangkan kunci di gunakan untuk melakukan enkripsi dan dekripsi.
1
2.2
Shift Cipher Teknik enkripsi subtitusi shift cipher merupakan generalisasi dari Caesar cipher,
yaitu tidak membatasi pergeseran sebanyak tiga huruf, jadi ada sebanyak 26 kunci pergeseran yang bias digunakan. Proses penyandian (enkripsi) dapat secara matematis menggunakan operasi modulus dengan mengubah huruf-huruf menjadi angka, A = 0, B = 1,..., Z = 25. Untuk menyandikan sebuah pesan, cukup menambahkan setiap huruf yang hendak disaandikan dengan kunci yang telah ditentukan, maka akan didapatkan huruf yang sesuai dengan alphabet sandi. Untuk memecah sandi tersebut gunakan cara sebaliknya. Contoh penyandian sebuah pesan adalah sebagai berikut: Plaintext
: THE REAL STMIK
Kunci
: 11
Untuk mendapatkan ciphertext, dengan menambahkan huruf dengan kunci 11, maka akan didapatkan: •
T = 19 + 11 mod 26 4
E
•
H = 7 + 11 mod 26 18
S
•
E = 4 + 11 mod 26 15
P
•
R = 17 + 11 mod 26 2
C
•
E = 4 + 11 mod 26 15
P
•
A = 0 + 11 mod 26 11
L
•
L = 11 + 11 mod 26 22
W
•
S = 18 + 11 mod 26 3
D
•
T = 19 + 11 mod 26 4
E
•
M = 12 + 11 mod 26 23
X
•
I = 8 +11 mod 26 19
T
•
K = 10 + 11 mod 26 21
V
Ciphertext
: ESP CPLW DEXTV
2.3
JAVA
2.3.1
Sebuah Bahasa Pemrograman
2
Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain. 2.3.2
Sebuah Aplikasi Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang
dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE). 2.3.3
Sebuah Deployment Environment Terdapat dua komponen utama dari Deployment Environment. Yang pertama
adalah JRE, yang terdapat pada paket J2SDK, mengandung kelas–kelas untuk semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya. Komponen yang lain terdapat pada Web Browser. Hampir seluruh Web Browser komersial menyediakan interpreter dan runtime environment dari teknologi Java. 2.3.4
Fase-fase Pemrograman JAVA Gambar dibawah ini menjelaskan aliran proses kompilasi dan eksekusi sebuah
program Java :
Gambar 2.1: Fase dari sebuah Program Java 2.3.5
Java Foundation Class Java Foundation Class (JFC) merupakan sekumpulan class-class Java yang
digunakan untuk mengembangkan perangkat lunak berbasis GUI (Graphical User Interface). Selain itu, JFC juga mempunyai class-class yang digunakan untuk menambahkan fungsi dan kemampuan interaksi yang variatif dari pemrograman Java. 2.3.6
Swing Package Swing API sangat bagus dan lengkap, Java 6.0 menyertakan setidaknya tujuh
belas (17) buah package yang berisi class-class swing yang siap digunakan. Table 2.1 Class-class swing Javax.accessibility
Javax.swing.plaf
3
Javax.swing.text
Javax.swing
Javax.swing.plaf.basic
Javax.swing.text.html
Javax.swing.border
Javax.swing.plaf.metal
Javax.swing.text.rtf
Javax.swing.colorchooser
Javax.swing.plaf.multi
Javax.swing.table
Javax.swing.event
Javax.swing.plaf.synth
Javax.swing.tree
Javax.swing.filechooser 2.3.7
Javax.swing.undo
Netbeans Netbeans merupakan Integrated Development Environment atau IDE. Suatu IDE
adalah lingkup pemrograman yang diintegrasikan ke dalam suatu aplikasi perangkat lunak yang menyediakan pembangun GUI, suatu text editor, suatu compiler atau interpreter dan suatu debugger. 3.
Analisis dan Perancangan Sistem
3.1
Analisis Keamanan Data Keamanan merupakan aspek terpenting dari sistem informasi, namun pada
kenyataannya aspek keamanan berada diurutan terakhir dari sebuah sistem yang dibangun. Pembuat sistem lebih mengistimewakan masalah penampilan dari sistem yang dibangun dari pada mengutamakan keamanannya. 3.2
Analisis Sistem Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem
informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi
dan
mengevaluasi
permasalahan-permasalahan,
kesempatan, hambatan-hambatan yang
kesempatan-
terjadi dan kebutuhan-kebutuhan yang
diharapkan sehingga dapat diusulkan perbaikan-perbaikannya. 3.2.1
Analisis Kebutuhan Sistem Analisis kebutuhan sistem ini digunakan untuk mengetahui kebutuhan-kebutuhan
apa saja yang diperlukan untuk merealisasikan sistem yang diusulkan, diantaranya adalah analisis kebutuhan fungsional dan analisis kebutuhan non fungsional: 3.2.1.1 Analisis Kebutuhan Fungsional Spesifikasi kebutuhan melibatkan analisis perangkat keras (hardware) dan analisis perangkat lunak (software): 3.2.1.1.1 Analisis Kebutuhan Perangkat Lunak (Software)
4
Spesifikasi perangkat lunak yang digunakan dalam pembuatan sistem aplikasi ini memiliki spesifikasi sebagai berikut: 1.
Sistem Operasi
:
Windows 7 Ultimate Service Pack 1.
2.
Java
:
Java Development Kit (JDK) versi 7.
3.
NetBeans
:
NetBeans IDE 7.1 Release Candidate 2.
3.2.1.1.2 Analisis Kebutuhan Perangkat Keras (Hardware) Spesifikasi perangkat keras yang digunakan untuk membangun sistem aplikasi ini merupakan Laptop yang mempunyai spesifikasi sebagai berikut: 1.
Processor
:
Intel® Core™ i3 CPU M390 @ 2.67GHz.
2.
Motherboard
:
Hp.
3.
Ram
:
2 GB.
4.
HardDisk
:
Hitachi 320 GB.
5.
Keyboard+Mouse
:
Standart + Touchpad.
6.
Vga
:
On Board.
7.
Monitor
:
LCD 14 inch.
3.2.1.2 Analisis Kebutuhan non Fungsional Analisis kebutuhan non fungsional menggambarkan keadaan sistem yang akan dibuat. Adapun kebutuhan minimal spesifikasi komputer yang akan dibangun adalah: 1.
Processor
:
Pentium III
2.
RAM
:
512 MB
3.
Hard Disk
:
10 MB
4.
Sistem Operasi
:
Sistem operasi Windows XP
Dari hasil perbandingan antara hasil analisis kebutuhan fungsional dan analisis kebutuhan non fungsional maka aplikasi ini bisa di terapkan di komputer. 3.2.2
Analisis Kelayakan Sistem Aspek-aspek kelayakan yang akan dianalisis dalam perancangan sistem ini
untuk menguji kelayakannya antara lain: 3.2.2.1 Analisis Kelayakan Teknologi
5
Penerapan teknologi dalam sistem diantaranya adalah algoritma shift cipher oleh karena itu sistem ini layak dipandang dari segi teknologi. 3.2.2.2 Analisis Kelayakan Hukum Penerapan sistem harus tidak boleh menimbulkan masalah dikemudian hari karena menyimpang dari hukum yang berlaku terutama dalam perijinan penggunaan aplikasi pendukung system. Aplikasi ini menggunakan lisensi open source. 3.2.3
Analisis Biaya untuk Membangun Rancangan Analisis biaya untuk membangun rancangan folder lock ini merupaakan tahap
yang sangat penting karena akan menentukan estimasi biaya yang akan dikeluarkan untuk membuat folder lock, biaya yang diperlukan sebagai berikut: a.
Perangkat Keras Perangkat kerasnya menggunakan Laptop HP Pavilion G4 1035TU dengan spesifikasi sebagai berikut: 1.
Processor
:
Intel® Core™ i3 CPU M390 @ 2.67 GHz
2.
Memory
:
2 GB of RAM
3.
Harddisk
:
320 GB Hitachi
4.
Monitor
:
LCD 14 inch
5.
Harga
:
Rp. 3.900.000,00
b.
Perangkat Lunak 1.
Sistem Operas
:
Windows 7 Ultimate
2.
Java
:
JDK 7
3.
NetBeans
:
NetBeans IDE 7.1. RC2
4.
Harga
:
Free
3.3
Perancangan Sistem
3.3.1
Algoritma Kriptografi Metode Shift Cipher Aplikasi ini menggunakan kriptografi shift cipher yang algoritmanya sebagai
berikut: •
Dilakukan perulangan perkarakter sepanjang pesannya.
•
Setiap huruf plainteks diganti dengan barisan huruf berikutnya sesuai dengan kunci yang diberikan.
6
Gambar 3.1 Flowchart Shift Cipher Aplikasi ini dinamakan “Aplikasi Kriptografi Shift Cipher” dalam aplikasi ini digunakan analisis kebutuhan yang meliputi lock, proses, dan unlock: •
Lock berupa tombol yang apabila diklik maka akan menuju opsi untuk memilih folder yang akan di lock.
•
Proses berupa proses perhitungan enkripsi dan dekripsi kriptografi metode Shift Cipher.
•
Unlock berupa tombol yang apabila diklik maka akan menuju opsi untuk memilih folder yang akan di unlock.
3.3.2
Use Case Diagram Use case diagram diperlukan untuk menggambarkan fungsionalitas yang
diharapkan dari prespektif pengguna. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Use case mempresentasikan sebuah interaksi antara aktor dengan sistem. Dalam aplikasi ini Use case Diagram digambarkan sebagai berikut:
7
Gambar 3.2 Use Case Diagram Use case diagram pada aplikasi folder lock ini terdiri dari: 1.
Use case input user password, merupakan proses awal untuk bisa mengakses perangkat lunak folder lock. Disini dilakukan verifikasi terhadap master user password pengguna, untuk mengunci folder.
2.
Use case menu utama, merupakan form utama. Disini pengguna dapat melakukan memilih untuk mengunci folder (lock) atau membuka folder (unlock).
3.
Use case lock, yang digunakan untuk melock folder. Pada use case ini pengguna dapat folder yang selanjutnya user password dienkripsi.
4.
Use case unlock yang digunakan mengunlock folder. Pada use case ini pengguna dapat membuka folder dari kuncian dengan terlebih dahulu user password yang telah disimpan didekripsi untuk membuka.
5.
Use case help merupakan menu bantuan. Pengguna dapat memilih menu aplikasi untuk melihat informasi tentang aplikasi dan tentang pembuat.
6.
Use case keluar, untuk keluar dari aplikasi. Diperlukan pengguna agar dapat keluar dari sistem.
3.3.3
Sequence Diagram Sequence Diagram menggambarkan interaksi antar objek di dalam dan di sekitar
sistem berupa message yang digambarkan terhadap waktu. Sequence Diagram digunakan untuk menggambarkan rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Rancangan Sequence Diagram yang dibuat seperti pada gambar 3.3.
8
Gambar 3.3 Sequence Diagram 3.3.4
Activity Diagram Pada diagram ini memperlihatkan aliran kendali dari suatu aktifitas ke aktifitas
lainnya. Activity Diagram berfungsi untuk menvisualisasikan sifat dari sekumpulan obyek, selain itu juga dapat digunakan memodelkan aliran kendali dari suatu operasi. Pada diagram dibawah ini, ditunjukan aliran sistem secara global dimana dapat dilihat aliranaliran atau proses didalam sistem tersebut, seperti gambar dibawah ini.
Gambar 3.4 Activity Diagram System
9
Class Diagram Class Diagram menggambarkan generalisasi serta asosiasi antar class serta atribut-atribut yang melekat pada class tersebut. Dalam aplikasi ini class diagram digambarkan sebagai berikut:
Gambar 3.5 Class Diagram System 4.
Implementasi dan Pembahasan
4.1
Implementasi Sistem Mengerjakan folder lock langkah pertama yang dilakukan adalah mempersiapkan
aplikasi JDK-7u2 dan NetBeans IDE 7.1 RC2, JDK yaitu Java Development Kit Version 7 Update 2 merupakan aplikasi yang diperlukan untuk mem-build projek java yang dibuat. NetBeans
yaitu
suatu aplikasi untuk mempermudah dalam pembuatan alikasi java
desktop. Untuk mendapatkan JDK dan NetBeans bisa mendownload langsung dari internet dengan merujuk di alamat java.sun.com
atau www.oracle.com untuk JDK
www.netbeans.org untuk NetBeans. 4.2
Paket(Package) Aplikasi ini dipisahkan menjadi dua paket yaitu paket Utama dan paket Sumber.
Paket Utama berisi empat kelas yaitu fAbout, fPassword, fTentangKu dan fUtama yang berinteraksi langsung dengan pengguna (GUI class) seperti yang telah dijelaskan pada bab III tentang rancangan antarmuka.
10
Paket Sumber berisi berkas – berkas icon yang digunakan untuk sumber gambar pada aplikasi dan satu berkas teks yang berisi bantuan tentang aplikasi. Berikut gambar ketiga paket tersebut :
Gambar 4.1 Paket - paket dalam aplikasi. 4.3
White box testing White Box Testing adalah cara pengujian dengan melihat kedalam modul untuk
meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses yang dilakukan, maka baris-baris program, variable dan parameter pada unit tersebut akan dicek satu per satu dan diperbaiki kemudian di-compile ulang.
Gambar 4.2 Pengujian white Box pada semua link. 4.4
Pembahasan Sistem
11
Pembahasan system yang dimaksud adalah pengujian aplikasi yang dibangun pada computer dengan system operasi Windows XP SP3 dan Windows 7 tanpa menggunakan IDE Netbeans, yakni dengan menjalankan berkas .jar aplikasi ini. 4.5
Pengujian Program Hasil pengujian pada komputer desktop dengan sistem operasi windows 7 dan
laptop dengan sistem operasi Windows XP Profesional SP.3 menghasilkan tampilan sebagai berikut.
Gambar 4.3 Tampilan Username dan Password Berikut ini gambar form utama setelah username dan password yang dimasukkan benar dan tampilan buka berkas jika tombol Browse di klik:
Gambar 4.4 Tampilan Utama dan Buka Berkas. Berikut ini gambar folder yang akan di-lock:
Gambar 4.5 Tampilan folder yang akan di-Lock.
12
Berikut ini gambar folder yang sudah di-lock:
Gambar 4.6 Tampilan folder yang sudah di-Lock. Berikut ini gambar folder setelah tombol unlock dipilih:
Gambar 4.7 Tampilan folder setelah di-Unlock Berikut ini gambar menu bantuan jika dipilih:
Gambar 4.8 Tampilan About dan Tentangku 4.6
Black Box Testing Black Box Testing cara pengujiannya hanya dilakukan dengan menjalankan atau
mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai dengan proses yang diinginkan.
13
Table 4.1 Black Box Testing
No
Interface
Yang Diuji/Aktivitas
Output
Testing
Status
Muncul alert Tidak
diisi
atau
salah
mengisi dan setelah itu klik menu OK
1
Username atau Password yang Anda masukkan
Benar
salah atau belum diisi
Form fPassword
Muncul Alert Klik menu keluar
Apakah Anda yakin
Benar
ingin keluar ? Diisi dengan benar dan
Form fUtama
setelah itu klik menu OK
terbuka Form memilih folder
Klik menu Browser
terbuka
Pilih folder dan klik menu Remove
Pilih folder dan klik menu Lock 2
Pilihan folder hilang
Benar
Benar
Benar
Folder akan di lock dan hilang di
Benar
Explorer
Form fUtama Pilih folder dan klik menu
Folder akan kembali
Unlock
seperti semula
Benar
Muncul alert Apakah Klik menu Exit
anda yakin ingin
Benar
keluar? Form fPembuat
Klik menu Pembuat
terbuka
14
Benar
Klik menu About 4.7
Form fAbout terbuka
Benar
Analisis Pengujian Aplikasi Dari hasil pengujian diatas, dapat diketahui bahwa aplikasi kriptografi shift cipher
berjalan dengan baik di kedua komputer uji, baik menggunakan IDE netbeans maupun tanpa menggunakan IDE netbeans. Spesifikasi Hardware dari komputer sangat mempengaruhi jalannya aplikasi dalam pembukaan berkas. 5.
Penutup Kesimpulan Dari hasil uraian penjelasan dan pembahasan yang telah dilakukan pada bab –
bab sebelumnya, maka dapat diambil kesimpulan bahwa aplikasi folder lock dengan algoritma shift cipher yang dibangun dengan java dan telah di jadikan extension jar telah di uji cobakan dengan melakukan lock pada folder, cara kerjanya dengan menambahkan extension registri network. Folder yang belum di-lock iconnya berupa folder biasa sedangkan folder yang sudah di-lock iconnya berupa icon Network dalam keadaan terhidden dan bila di klik maka akan menuju Network. Hasilnya dapat dijalankan dengan baik untuk melindungi akses terhadap folder dengan syarat pada komputer telah terinstall java minimal versi J2SE 1.2. Saran Berdasarkan
implementasi
dan
ujicoba
pada
aplikasi
ini,
masih
ada
pengembangan yang dapat dilakukan antara lain : 1.
Sistem dapat ditanami database untuk mendata folder mana saja yang dilock.
2.
Pengembang lain dapat menambahkan atau menggunakan algoritma kriptografi dengan variasi metode yang lain.
15
DAFTAR ISI Anonim, 2002, JavaTM Cryptography Extension (JCE) Reference Guide for the JavaTM 2 SDK, http://java.sun.com/products/jce/, diakses tanggal 19 Mei 2012.
Ardiyanto, 2011, Implementasi Algoritma Kriptografi Caesar Chipher pada Aplikasi SMS Telepon Selular Berbasis J2ME, Skripsi, Jurusan Teknik Informatika STMIK AMIKOM, Yogyakarta
Fikri, Rijalul., Ipam, F.A. dan Prakoso, Imam., 2005, Pemrograman JAVA, Penerbit Andi, Yogyakarta.
Forum Pemrograman (http://www.mycoding.net/2011/07/caesar-cipher-program) diakses tanggal 19 Mei 2012.
Munir, Rinaldi., 2006, Kriptografi, Penerbit Informatika, Bandung.
Purwanto, Arif, 2012, Implementasi Algoritma Kriptografi Metode Cipher Block Chaining dan Message Digest 5 pada Keamanan Data dalam Berkas,Skripsi, Jurusan Teknik Informatika STMIK AKAKOM, Yogyakarta
16