APLIKASI CHIPERTEXT GENERATOR MENGGUNAKAN ALGORITMA VIGENERE BERBASIS MODIFIKASI FIBONACCI TUGAS AKHIR - APLIKASI CHIPERTEXT GENERATOR MENGGUNAKAN ALGORITMA VIGENERE BERBASIS MODIFIKASI FIBONACCI

  

APLIKASI CHIPERTEXT GENERATOR MENGGUNAKAN

ALGORITMA VIGENERE BERBASIS MODIFIKASI FIBONACCI

TUGAS AKHIR

Oleh:

REZA PUTRA DEWANGGA

  

NPM : 0734010232

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

  

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR

SURABAYA

2012

KATA PENGANTAR

  Alhamdulillaahi Robbil ‘Alamin… , Penulis bersyukur kepada Allah SWT atas

  semua Rahmat, Taufik, dan Hidayah-Nya yang telah diberikan kepada penulis sehingga dapat menyelesaikan Skripsi ini dengan baik.

  Dalam menyelesaikan Skripsi ini, penulis berpegang pada teori serta bimbingan dari para dosen pembimbing Skripsi. Dan berbagai pihak yang banyak membantu hingga terselesaikannya Skripsi ini. Skripsi merupakan salah satu syarat bagi mahasiswa untuk menyelesaikan program studi Sarjana Strata Satu (S-1) di Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran” Jawa Timur.

  Terwujudnya Skripsi ini adalah berkat usaha, kerja keras serta dukungan dari berbagai pihak. Dan tanpa menghilangkan rasa hormat, penulis mengucapkan banyak terima kasih kepada pihak-pihak yang telah membantu penulis antara lain: 1.

  Bapak Prof. Dr. Ir. Teguh Soedarto, MP Selaku Rektor UPN “Veteran” Jawa Timur.

  2. Bapak Ir. Sutiyono, MT Selaku Dekan Fakultas Teknologi Industri UPN “Veteran” Jawa Timur.

  3. Ibu Dr. Ir. Ni Ketut Sari, MT Selaku Kepala Jurusan Teknik Informatika UPN “Veteran” Jawa Timur.

  

ii

  4. Prof. Dr. Ir. H. Akhmad Fauzi, MMT Selaku pembimbing I yang dengan sabar telah meluangkan banyak waktu, pikiran dan tenaga di antara kesibukan beban- beban kegiatan akademik untuk memberikan bimbingan dan kesempatan penyusun untuk berkreasi dalam proses pembuatan Skripsi ini.

  5. Bapak Chrystia Aji Putra, S.Kom selaku pembimbing II yang memberi banyak masukan dan petunjuk khususnya mulai cara memprogram sampai menjadi sebuah aplikasi.

  6. Bapak dan Ibu dosen Teknik Informatika yang telah memberikan ilmunya kepada penulis selama kuliah.

  7. Ayahanda tercinta, yang merupakan lelaki terhebat yang pernah aku temui dan ibunda tersayang yang juga merupakan perempuan yang kesabarannya tiada bandingnya didunia ini. Adik-adik yang sangat menyayangi aku, terima kasih atas semuanya, aku tidak akan bisa seperti ini tanpa keluargaku. Aku beruntung terlahir dikeluarga ini.

  8. Teman-teman seperti Surya(yayak) yang menjadi teman pertama, menjadi my

  bound brother , Abraham yang merupakan teman SMA sampe sekarang dan

  sebagai guru sepak bola maupun guru catur baik nyata maupun tidak nyata, Bos Yudha yang merupakan teman dari kecil sampe sampai jadi bos ditempat saya bekerja, Lek Agung guru poker yang selalu memberikan chip dan mengajarkan mencari uang dari poker, Dwi dan Erina(Duyung) yang selalu memberi makanan kalau g ada dana, Argo (Jhikey) teman sekaligus guru music dan bahasa inggris

  

iii

  you’re the best men , Yoyok(yok’s/guru musik legendaris) maaf mas g bisa

  meneruskan bermusik. Yhonathan (Meta) teman sekaligus vokalis yang hebat semoga bisa masuk 10 besar Indonesia idol tidak hanya 50 besar.

  9. Teman-teman kuliah khususnya,,,,,Aris(Brewok) tanpa dirimu q g akan bisa skripsi, kamu telah mengajarkan segala tentang komputer maupun bahasa PHP mulai dari dasar semoga kamu jadi pemilik software house bukan hanya pegawai, Fajar(Bro) “Bersama kita bisa” sungguh kata-kata mutiara yang berarti dalam hidupku, Dzulfikar(Mas Injunk) terima kasih telah memberi dukungan baik moril maupun titip absen, Dimas(Disukai mas-mas) teman pertama dari ospek senasib sependeritaan semoga tetap berteman kita, Tony S.Kom, Satya S.Kom, Novita S.Kom, Misbahlul Munir(Ibet) S.Kom, Dony S.Kom, Wahyu P.(Qyeb) S.Kom, Duwy(Gondrong) S.Kom, Ahmad Nur Setyo Chandra S.Kom, Rizal Febriyanto(Komeng) S.Kom, Anisa(Super Partner) S.Kom Aryo dan Vivi (UPN berdua), Lingga S.Kom. Para anggota TF-E semoga bisa jadi sarjana yang berguna bagi nusa dan bangsa. Teman-teman seperjuangan dalam menyusun skripsi Abet, Endang, Kiky, Panjul, Indra (Bos), Rino (Erno/Pataya) ayo len- jelen. Seluruh teman-teman KKN TM 31 khususnya Achmad Hariyanto(Aha) Derema Berkaber, Dahlia thanks sampai saat ini selalu kamu yang ngeluarin duit, Astria(Trea) S.Kom semoga bisa jadi bupati seperti anda. Anak-anak Kriposoft dengan adanya komunitas ini diInformatika bisa menjadi penolong bagi mahasiswa-mahasiswa untuk saling berbagi ilmu dan meningkatkan ilmu

  

iv

  

v

  dibidang indormatika baik formal maupun informal “Lanjutkan”. Dan semua anak TF 2007 dan SI 2007 ayo kita masuk kuliah sama-sama, lulus sama-sama semoga sukses.

  10. Teman- teman mahasiswa dan teman-teman diluar kampus yang tak bisa saya sebutkan satu persatu,,,,,terimakasih atas semua dukungan selama ini dan terimakasi atas pertemanannya……

  Penulis menyadari bahwa penulisan ini masih jauh dari kesempurnaan, karena tiada gading yang tak retak. Oleh sebab itu, penulis mengharapkan kritik dan saran yang bersifat membangun guna terciptanya kesempurnaan penulisan ini selanjutnya. Semoga penulisan ini dapat menambah wawasan serta ilmu pengetahuan bagi siapa saja yang membacanya.

  Surabaya, Mei 2012 Penulis

  DAFTAR ISI

ABSTRAK ............................................................................................................ i

KATA PENGANTAR ......................................................................................... ii

DAFTAR ISI ....................................................................................................... vi

DAFTAR GAMBAR .......................................................................................... ix

DAFTAR TABEL ............................................................................................... xi

  

BAB I PENDAHULUAN ................................................................................... 1

1.1. Latar Belakang ................................................................................... 1 1.2. Perumusan Masalah ........................................................................... 2 1.3. Tujuan ................................................................................................ 3 1.4. Batasan Masalah ................................................................................ 3 1.5. Manfaat .............................................................................................. 4 1.6. Metodologi Penulisan ........................................................................ 4 1.7. Sistematika Penulisan ........................................................................ 6

BAB II TINJAUAN PUSTAKA ........................................................................ 8

2.1. Kriptografi ........................................................................................... 8 2.1.1. Enkripsi dan Dekripsi .......................................................... 9 2.1.2. Teknik Kriptografi ............................................................ 10 2.2. Algoritma Vigenere .......................................................................... 12 2.2.1. Metode Kasiski .................................................................. 16 2.3. Deret Fibonacci ................................................................................. 23 2.3.1. Misteri Fibonaci .................................................................. 24 2.4. PHP ................................................................................................... 28 2.5. CSS ................................................................................................... 31 2.6. HTML ............................................................................................... 34 2.7. Javascript ............................................................................................ 37

  2.7.1. Sejarah ................................................................................. 38 Penulisan Javascript ............................................................ 39 2.8. Jquery ................................................................................................. 39 2.9.

  Xampp ................................................................................................ 43

  

BAB III ANALISIS DAN PERANCANGAN SISTEM ................................ 46

3.1. Analisis Sistem ................................................................................... 46 3.2. Perancangan Sistem .......................................................................... 47 3.3. Perancangan Proses ............................................................................ 49 3.3.1. Proses Modifikasi Fibonacci ............................................... 49 3.3.2. Proses Alur Program ........................................................... 52 3.4. Desain Antar Muka ............................................................................ 55 3.4.1. Desain Menu ....................................................................... 56 3.4.2. Desain Tampilan Muka Aplikasi ........................................ 59

BAB IV IMPLEMENTASI DAN UJI COBA ................................................. 69

4.1. Lingkungan Implementasi ................................................................ 69 4.1.1. Implementasi Perangkat Keras............................................ 69 4.1.2. Implementasi Perangkat Lunak ........................................... 70 4.2. Implementasi Sistem ........................................................................ 70 4.3. Implementasi Program ..................................................................... 73 4.3.1. Implementasi Antar Muka .................................................. 74 4.3.2. Form Home ......................................................................... 74 4.3.3. Form Enkripsi ..................................................................... 75 4.3.4. Form Dekripsi ..................................................................... 78 4.4. Pengujian Program ........................................................................... 81 4.4.1. Uji Coba Enkripsi .............................................................. 82 4.4.2. Uji Coba Dekripsi ............................................................... 86

  4.5 Hasil Uji Coba Program ...................................................................... 90

  4.5.1 Hasil Uji Coba Panjang Kunci ............................................ 90

  

BAB V PENUTUP ............................................................................................ 93

Kesimpulan ...................................................................................... 93 5.2. Saran ................................................................................................ 94

DAFTAR PUSTAKA ........................................................................................ 95

  DAFTAR GAMBAR

Gambar 3.2 Gambar Alur Enkripsi Dengan Modifikasi ................................... 48Gambar 3.3 Gambar Alur Program ................................................................... 53Gambar 3.4 Gambar Alur Desain Menu Program ............................................ 56Gambar 3.5 Gambar Rancangan Tampilan Home ............................................ 59Gambar 3.6 Gambar Rancangan Tampilan Encrypt ......................................... 60Gambar 3.7 Gambar Rancangan Menu Encrypt ............................................... 61Gambar 3.8 Gambar Rancangan Encrypt Manual ............................................ 62Gambar 3.9 Gambar Rancangan Encrypt Auto ................................................ 63Gambar 3.10 Gambar Rancangan Tampilan Decrypt ......................................... 64Gambar 3.11 Gambar Rancangan Menu Decrypt ............................................... 65Gambar 3.12 Gambar Rancangan Decrypt Manual ............................................ 66Gambar 3.13 Gambar Rancangan Decrypt Auto ................................................ 67Gambar 4.1 Pseudocode Enkripsi ..................................................................... 71Gambar 4.2 Pseudocode Dekripsi ..................................................................... 73Gambar 4.3 Form Home ................................................................................... 75Gambar 4.4 Form Enkripsi ............................................................................... 75Gambar 4.5 Form Pemilihan Menu Enkripsi .................................................... 76Gambar 4.6 Form Proses Enkripsi Manual ....................................................... 77Gambar 4.7 Form Proses Enkripsi Auto ........................................................... 78Gambar 4.8 Form Dekripsi ............................................................................... 78Gambar 4.9 Form Pemilihan Menu Dekripsi .................................................... 79Gambar 4.10 Form Proses Dekripsi Manual ....................................................... 80Gambar 4.11 Form Proses Dekripsi Auto ........................................................... 81Gambar 4.12 Ketik Teks Plain ............................................................................ 82Gambar 4.13 Tekan Encrypt ............................................................................... 83Gambar 4.14 Simpan Encrypt ............................................................................. 83Gambar 4.15 Pilih Teks Enkrip .......................................................................... 84Gambar 4.16 Hasil Open Enkrip ......................................................................... 84Gambar 4.18 Simpan Encrypt Auto .................................................................... 85Gambar 4.19 Ketik Teks Chiper ......................................................................... 86Gambar 4.20 Tekan Decrypt ............................................................................... 87Gambar 4.21 Simpan Decrypt ............................................................................. 87Gambar 4.22 Pilih Teks Dekrip .......................................................................... 88Gambar 4.23 Hasil Open Dekrip......................................................................... 88Gambar 4.24 Hasil Decrypt Auto ....................................................................... 89Gambar 4.25 Simpan Decrypt Auto .................................................................... 89Gambar 4.26 Hasil Uji Coba ............................................................................... 91

  DAFTAR TABEL

Tabel 2.1. Tabel Enkripsi Vigenere .................................................................... 15Tabel 2.2. Tabel Dekripsi Vigenere .................................................................... 15Tabel 2.3 Tabel Modus Vigenere ........................................................................ 21Tabel 2.4 Tabel Kunci Vigenere ......................................................................... 22

  

Judul : APLIKASI CHIPERTEXT GENARATOR MENGGUNAKAN ALGORITMA VIGENERE

BERBASIS MODIFIKASI FIBONACCI Pembimbing I : Prof. Dr. Ir. H. Akhmad Fauzi, MMT

  Pembimbing II : Chrystia Aji Putra, S.Kom Penyusun : Reza Putra Dewangga

ABSTRAK

  Pada saat ini perkembangan teknologi semakin pesat diberbagai bidang termasuk dibidang informasi. Oleh sebab itu keamanan informasi (information

  

security ) merupakan hal yang penting dan cara untuk mengamankan pesan yang

  dikirim tersebut melalui enkripsi. Enkripsi merupakan suatu proses untuk mengubah suatu kata yang bisa dibaca (plaintext) menjadi suatu data rahasia yang tidak dapat dibaca (chipertext). Tetapi karena semakin berkembangnya zaman maka algoritma-algoritma untuk mengenkripsi data rahasia tersebut ditemukan kelemahan-kelemahan.

  Salah satu algoritma yang telah ditemukan kelemahannya oleh Friedrich Kasiski yaitu algoritma vigenere. Yang memiliki kelemahan yaitu kata kuncinya masih bisa ditebak dengan metode analisis frekuensi. Dikarenakan algoritma

  

vigenere ditemukan kelemahannya, oleh sebab itu maka perlu dilakukan

permodifikasian sehingga kelemahan yang ada pada algoritma tersebut tertutupi.

  Dan cara untuk menutupi kelemahan tersebut dilakukan dengan menambahkan perhitungan fibonacci, tetapi karena bilangan fibonacci sudah umum diketahui maka rumus fibonacci tersebut dilakukan permodifikasian. Dan untuk menerapkannya dibuatlah aplikasi chipertext generator menggunakan algoritma

  vigenere berbasis modifikasi fibonacci.

  Dengan dibuatnya aplikasi chipertext generator menggunakan algoritma

  

vigenere berbasis modifikasi fibonacci maka dapat mengatasi kelemahan yang ada

pada algoritma vigenere sehingga dapat menjaga kerahasian pesan.

Keyword : keamanan informasi (information security), plaintext, chipertext

vigenere, fibonacci

BAB I PENDAHULUAN

1.1. Latar Belakang

  Dengan melihat perkembangan teknologi dan informasi yang kini semakin pesat di berbagai bidang, maka secara tidak langsung hal tersebut mempengaruhi sistem perdagangan, transaksi dan sistem informasi selama ini. Terutama di era internet ini, semua informasi terkirim suatu jaringan dengan tingkat keamanan yang rendah. Untuk itulah peranan teknologi keamanan informasi benar-benar dibutuhkan. Keamanan Informasi (Information Security) merupakan bagian yang sangat penting dari sebuah jaringan komputer terutama yang berhubung dengan internet. Sebuah sistem yang mempermudah dan memanjakan pengguna tidak akan berguna tanpa didukung oleh sistem keamanan yang tinggi. Oleh karena itu, informasi atau data rahasia yang akan dikirim harus disandikan agar tidak dapat dibaca oleh orang lain.

  Teknik untuk mengubah informasi yang dapat dibaca/teks asli (plain text) menjadi kode-kode tertentu disebut sebagai enkripsi (encryption) dan hasilnya disebut

  

chipertext, sedangkan teknik untuk mengubah chipertext menjadi plain text disebut

  deskripsi (decryption). Algoritma yang digunakan untuk proses enkripsi dan deskripsi adalah Algoritma kriptografi (cryptographic algorithm) atau sering disebut chiper.

  Algoritma kriptografi ini bekerja dengan menggunkan kunci (key) seperti kata, nomor maupun frase tertentu. Jika dilakukan enkripsi pada plaintext yang sama dengan menggunakan kunci yang berbeda, maka akan menjadi chipertext yang berbeda.

  Salah satu algoritma dari berbagai macam Algoritma kriptografi (cryptographic

  2 yang digunakan untuk menyembunyikan pesan berupa teks dari pihak yang tidak berhak dengan menggunakan teknik substitusi dimana tiap huruf pada plainteks akan disubstitusi menjadi huruf lain berdasarkan kunci yang digunakan. Berbeda dengan

  

Caesar cipher, vigenere cipher adalah algoritma substitusi jamak dimana suatu huruf

  plainteks tidak selalu disubstitusi menjadi huruf yang sama, namun disubstitusi berdasarkan kunci yang digunakan.

  Kelemahan algoritma vigenere cipher muncul jika panjang kunci lebih pendek dari panjang plainteksnya sehingga terdapat perulangan kunci yang digunakan untuk mengenkripsi plainteks tersebut. Kunci yang berulang tersebut menimbulkan celah berupa jumlah pergeseran yang sama untuk setiap plainteks yang disubstitusi oleh huruf pada kunci yang sama sehingga huruf-huruf pesan atau plainteks dapat dikelompokkan berdasarkan kunci yang digunakan. Karena terdapat kelompok huruf-huruf plainteks yang disubstitusi dengan huruf kunci yang sama karena perulangan kunci, maka tiap kelompok huruf-huruf tersebut dapat dikenakan metode analisis frekuensi terhadapnya.

  Oleh sebab itu perlu dilakukan modifikasi agar memperkuat kelemahan dari algoritma vigenere, salah satu cara untuk memperkuatnya adalah dengan menggunakan modifikasi Fibonacci dimana seperti yang kita ketahui Fibonacci memiliki deret seperti (0,1,1,2,3,5,8,13,....) dengan adanya Fibonacci kita dapat menggunakan kunci yang acak yang panjangnya sama dengan plaintext (pendekatan OTP).

1.2. Perumusan Masalah

  Permasalahan yang akan dipecahkan dalam kegiatan ini dapat dirumuskan sebagai berikut :

  3 1).

  Bagaimana meminimalisir perulangan chipertext yang dihasilkan? 2). Dibagian mana kita meletakkan rumus fibonacci kedalam algoritma vigenere? 3). Bagaimana cara memodifikasi rumus fibonacci sehingga lebih dinamis? 4). Bagaimana cara agar menghasilkan chipertext yang kalimatnya tidak sama ketika diinputkan kata kunci ganjil maupun genap sehingga meminimalisir metode analisis frekuensi?

  1.3. Tujuan

  Adapun tujuan-tujuan dari dibuatnya penelitian mengenai aplikasi chipertext generator menggunakan algoritma vigenere berbasis modifikasi Fibonacci adalah : 1).

  Memperbaiki kelemahan pada algoritma vigenere, yang kelemahannya adalah pengulangan kata kunci.

  2).

  Meminimalisir chipertext berulang yang dihasilkan oleh algoritma vigenere. 3).

  Memodifikasi sebuah Algoritma Vigenere dengan deretan Fibonacci yang sudah di modifikasi.

  4).

  Membangkitkan kata kunci berbasis bilangan fibonacci untuk menghilangkan perulangan kata kunci pada sandi vigenere 5).

  Membuat sebuah aplikasi yang dapat melakukan enkripsi dan deskripsi berdasarkan algoritma Vigenere yang sudah dimodifikasi dengan Fibonacci.

  1.4. Batasan Masalah

  Di dalam penulisan skripsi ini, agar pembahasan masalah sesuai dengan yang diinginkan dan tidak menyimpang dari apa yang semula dirumuskan, maka penulis

  4 1).

  Penelitian ini dilaksanakan pada file berekstensi *.txt. 2).

  Penelitian dilakukan pada plaintext berupa alphabet A hingga Z dan a hingga z, sementara karakter lain dalam ASCII akan diabaikan.

  3).

  Penelitian menggunakan sandi vigenere. 4).

  Penyempurnaan kunci dilakukan dengan menggunakan modifikasi dari deret fibonacci .

  5).

  Penelitian menggunakan bahasa pemrograman PHP 5

  1.5. Manfaat J ika aplikasi ini berjalan maka tingkat keamanan dalam mengenkripsi sebuah

  kata akan semaikin tinggi dan akan sulit dikriptanalisis, baik dengan analisis frekuensi,

  

known-plaintext attack , maupun serangan lainnya. Dan juga dapat memperbaiki

kelemahan yang ada pada sandi vigenere.

  1.6. Metodologi Pembuatan Skripsi

  Dalam pembuatan Tugas Akhir ini, penulis akan menjelaskan tentang metode yang digunakan selama penulis menyusun dan membuat laporan Tugas Akhir ini.

  1).

  Studi Literatur Mempelajari konsep atau metode yang akan digunakan sehingga dapat dijadikan panduan untuk merancang aplikasi ini dengan menggunakan PHP 5, serta mencari contoh-contoh apapun untuk membantu penyelesaian Tugas Akhir ini.

  5 2).

  Survey atau Pengumpulan Data Setelah mempelajari teori akan dilanjutkan survey ke orang yang berkecimpung dalam masalah jaringan. Disini kita mencari informasi mengenai hal apa saja yang berhubungan dengan keamanan jaringan 3).

  Perancangan Aplikasi Pada tahap ini dibuat suatu perancangan aplikasi Chipertext generator menggunakan algoritma vigenere berbasis modifikasi fibonacci .

  4).

  Pembangunan Aplikasi Pada Tahap ini, aplikasi mulai dibangun sesuai dengan metode yang telah ditentukan dan perancangan yang telah dibuat sebelumnya dengan menggunakan PHP(Personal Home Page).

  5).

  Testing dan Evaluasi Pada tahap ini setelah aplikasi selesai dibuat maka dilakukan pengujian aplikasi untuk mengetahui apakah aplikasi tersebut telah bekerja dengan benar sesuai dengan konsep yang diajukan 6).

  Penyusunan Buku Tugas Akhir Pada tahap ini dilakukan penyusunan laporan yang berisi dasar teori, dokumentasi dari hasil perancangan aplikasi Chipertext generator menggunakan algoritma vigenere berbasis modifikasi fibonacci dan hasil yang diperoleh selama mengerjakan tugas akhir. Juga difungsikan sebagai referensi para pembaca dalam mengembangkan Tugas Akhir lebih lanjut.

  7).

  Pembuatan Kesimpulan

  6 Pada tahap ini adalah bagian akhir pembuatan Tugas Akhir yang berisikan kesimpulan dan saran dari hasil pembuatan aplikasi yang diperoleh sesuai dengan dasar teori yang mendukung dalam pengerjaan aplikasi tersebut secara keseluruhan.

1.7. Sistematika Penulisan

  Dalam pembuatan tugas akhir ini secara garis besar disusun dalam lima bab, dengan sistematika penulisan sebagai berikut :

BAB 1 : PENDAHULUAN Bab ini berisi latar belakang masalah, tujuan penulisan, perumusan masalah, batasan masalah, metode penulisan, dan sistematika penulisan. BAB 2 : TEORI PENUNJANG Bab ini berisi teori-teori dasar yang digunakan sebagai penunjang dalam pembuatan tugas akhir ini. BAB 3 : PERANCANGAN DAN PEMBUATAN Bab ini berisi tentang perancangan perangkat lunak dan mekanik sistem yang akan dibuat. BAB 4 : PENGUJIAN PROGRAM Bab ini berisi data-data yang didapat dari pengujian program baik per-blok

  7