Makalah Logika Fuzzy Dan Kriptografi

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

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 pihakpihak 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.

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

H = 7 + 11 mod 26 18

E = 4 + 11 mod 26 15

R = 17 + 11 mod 26 2

E = 4 + 11 mod 26 15

A = 0 + 11 mod 26 11

L = 11 + 11 mod 26 22

S = 18 + 11 mod 26 3

T = 19 + 11 mod 26 4

M = 12 + 11 mod 26 23

I = 8 +11 mod 26 19

K = 10 + 11 mod 26 21

Ciphertext

: ESP CPLW DEXTV

2.3

JAVA

2.3.1

Sebuah Bahasa Pemrograman

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 kelaskelas 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

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)

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

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.

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:

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.

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

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

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

You might also like