implementasi algoritma rsa dan blowfish...

133
1 IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH UNTUK ENKRIPSI DAN DEKRIPSI DATA MENGGUNAKAN DELPHI 7 OLEH : RIO HAMZAH 204091002505 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM SYARIF HIDAYATULLAH JAKARTA 2011/1432 H

Upload: builiem

Post on 11-May-2018

249 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

1

IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH UNTUK

ENKRIPSI DAN DEKRIPSI DATA MENGGUNAKAN DELPHI 7

OLEH :

RIO HAMZAH

204091002505

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM SYARIF HIDAYATULLAH

JAKARTA

2011/1432 H

Page 2: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

2

IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH UNTUK

ENKRIPSI DAN DEKRIPSI DATA MENGGUNAKAN DELPHI 7

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer (S. Kom) Program Studi Teknik Informatika

Fakultas Sains dan Teknologi Universitas Islam Negeri (UIN)

Syarif Hidayatullah Jakarta

Oleh :

RIO HAMZAH

204091002505

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI (UIN)

SYARIF HIDAYATULLAH

JAKARTA 2011 / 1432 H

Page 3: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

3

ABSTRAK

RIO HAMZAH (204091002505), Implementasi Algoritma RSA dan Blowfish Untuk

Enkripsi dan Dekripsi Data Menggunakan Delphi 7(Dibawah bimbingan Arini dan

Herlino Nanang).

Pada saat ini teknologi informasi berkembang sangat pesat, seiring dengan

perkembangan teknologi, berkembang pula bahasa pemrograman dan teknologi

pengamanan data. Data merupakan hal yang sangat penting setiap orang maupun

perusahaan, karena terdapat hal-hal yang bersifat rahasia bagi setiap orang maupun

perusahaan. Oleh karena itu diperlukan suatu teknologi yang berguna untuk menjaga

keamanaan dan kerahasiaan data, teknologi tersebut adalah Kriptografi. Kriptografi

merupakan ilmu yang mempelajari bagaimana supaya pesan atau dokumen kita aman,

tidak bisa dibaca oleh pihak yang tidak berhak, sehingga tidak menimbulkan banyak

kerugian. Dalam pembuatan aplikasi keamanan data ini, penulis menggunakan algoritma

asimetris RSA (Rivest Shamir Adleman) dan algoritma simetris Blowfish. Aplikasi ini

memberikan pilihan pada user untuk memilih salah satu algoritma yang digunakan untuk

mengeksekusi file. Penulis menggunakan Borland Delphi 7 Enterprise Edition sebagai

bahasa pemrograman, Zeosdb untuk koneksi database, MySQL 5.0 untuk membuat

database, suipack untuk mempercantik tampilan aplikasi. Metode penelitian yang penulis

gunakan terdiri dari studi pustaka dan studi literatur. Sedangkan metode pengembangan

sistem yang penulis gunakan adalah RAD (Rapid Application Development). Hasil akhir

berupa aplikasi desktop portabel, tanpa ada proses installer, dapat mengeksekusi file

dalam ukuran yang besar.

Keyword : Kriptografi, RSA, Blowfish, RAD

Page 4: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

4

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR

HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI

ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAUPUN LEMBAGA

MANAPUN.

Jakarta, 29 Juli 2011

Rio Hamzah

204091002505

Page 5: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

5

KATA PENGANTAR

Assalamualaikum warahmatullahi wabarakatu

Segala puji bagi Allah SWT yang telah melimpahkan hidayah, rahmah dan

magfirah-Nya sehingga penulis dapat menyelesaikan pembuaqtan skripsi ini. Salawat

serta salam penulis haturkan kepada Rasulullah SAW, yang telah membawa umatnya dari

zaman kebodohan dan kegelapan menuju zaman yang penuh dengan cahaya hidayah

Allah SWT.

Penulis mengucapkan terimakasih kepada semua pihak yang memberikan

bimbingan, bantuan, dan dukungan selama penyusunan dan pembuatan skripsi ini. Secara

khusus saya ucapkan terimakasih kepada:

1. Bapak DR. Syopiansyah Jaya Putra, M. Sis, selaku Dekan Fakkultas Sains

dan Teknologi.

2. Ibu Arini, ST, M. Eng dan Bapak Herlino Nanang, ST, MT selaku pembi

mbing skripsi yang secara kooperatif, penuh kesabaran dan keramahan,

memberi nasehat dan saran-saran berharga yang secara bijak membantu

dan membimbing penulis dalam menyelesaikan skripsi ini.

3. Kedua orang tuaku yang sangat penulis cintai dan sayangi yang telah seki

an lama membantu, memberikan arahan kepada penulis baik secara moril

maupun materil dalam menjalani hidup ini.

4. Adik sepupuku Marhamah yang menjadi inspirasi bagi penulis.

5. Teman2ku di Perguruan Pencak Silat Beladiri Merpati Putih yang telah

menyadarkan ku dari semua hal-hal negatif, Mas Sodik, Mas Asep Sukabumi,

Gembit, Damar, Gandi, Riky, Ubay, Refki.

6. Teman-teman Teknik Informatika UIN Jakarta Angkatan 2004.

7. Teman-teman alumni SMU 104 yang tergabung dalam forum alumni IKRAR,

Ka Asep, Ka Hendri, Ka Arifin, Agus Setiawan, Didi Sumardi.

Kegagalan adalah awal dari keberhasilan, sebagaimana kesalahan adalah awal dari

kesempurnaan, diiringi kesabaran, keteguhan hati, ketabahan, serta menal yang kuat

untuk memperjuangkan apa yang kita impikan. Itulah keseluruhan gambaran dari apa

yang saya dapatkan dalam penyusunan tugas akhir ini.

Page 6: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

6

Skripsi yang jauh dari sempurna ini telah memberikan begitu banyak manfaat dan hikmat

yang bisa saya petik. Dan hal itu juga yang saya harapkan bisa diperoleh dari siapapun

yang membacanya. Amiin.

Billahi taufik wal hidayah, Wassalamualaikum warah matullahi wabarakatu.

Jakarta, 29 Juli 2011

Rio Hamzah

Page 7: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

7

DAFTAR ISI

Halaman Sampul ...............................................................................................................i

Halaman Judul ..................................................................................................................ii

Lembar Persetujuan Pembimbing .................................................................................iii

Lembar Pengesahan Ujian ..............................................................................................iv

Lembar Pernyataan ..........................................................................................................v

Abstrak .............................................................................................................................vi

Kata Pengantar ...............................................................................................................vii

Daftar Isi .........................................................................................................................xiv

Daftar Gambar ................................................................................................................ix

Daftar Tabel ...................................................................................................................xiii

Bab 1 Pendahuluan ...........................................................................................................1

1.1 Latar Belakang ..............................................................................................................1

1.2 Perumusan Masalah ......................................................................................................2

1.3 Batasan Masalah ...........................................................................................................3

1.4 Tujuan Penelitian ..........................................................................................................3

1.5 Manfaat Penelitian ........................................................................................................4

1.6 Metode Penelitian .........................................................................................................5

1.7 Sistematika Penulisan ...................................................................................................6

Bab II Landasan Teori .....................................................................................................8

2.1 Keamanan dan Kerahasiaan Data .................................................................................8

2.1.1 Privacy ...............................................................................................................10

2.1.2 Integrity ..............................................................................................................10

Page 8: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

8

2.1.3 Authenticity ........................................................................................................10

2.1.4 Non Repudiation

.................................................................................................11

2.2 Kriptografi ..................................................................................................................11

2.2.1 Terminologi ........................................................................................................11

2.2.2 Algoritma Kriptografi ........................................................................................13

2.2.2.1 Kunci Simetris

........................................................................................13

2.2.2.2 Kunci Asimetris

......................................................................................14

2.2.3 Dasar Matematis

.................................................................................................15

2.2.4 Rivest Shamir Adleman(RSA) ...........................................................................17

2.2.4.1 Kelebihan RSA ......................................................................................21

2.2.4.2 Flowchart Enkripsi RSA ........................................................................21

2.2.4.3 Flowchart Dekripsi RSA ........................................................................22

2.2.5 Keamanan Algoritma .........................................................................................23

2.2.6 Blowfish .............................................................................................................24

2.2.6.1 Enkripsi Algoritma Blowfish .................................................................26

2.2.6.2 Flowchart Enkripsi Blowfish .................................................................29

2.2.6.3 Dekripsi Algoritma Blowfish .................................................................30

2.2.6.4 Flowchart Dekripsi Blowfish .................................................................32

2.3 Algoritma Pemrograman .............................................................................................34

Page 9: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

9

2.3.1 Pseudocode ........................................................................................................34

2.3.2 Flowchart ...........................................................................................................35

2.3.3 State Transition Diagram ...................................................................................36

2.4 Model Perangkat Lunak ..............................................................................................38

2.4.1 Model Protype ....................................................................................................38

2.4.2 Model Sekuensial Linear ...................................................................................39

2.4.3 Model Rapid Application Development(RAD) ……………………………...39

2.5 Pengenalan Bahasa Pemorgraman Delphi versi 7 ……………………………….....40

2.5.1 Kegunaan Delphi 7 ............................................................................................40

2.5.2 Keunggulan Delphi 7 .........................................................................................41

2.5.3 Graphic User Interface(GUI) .............................................................................41

2.5.4 Object Oriented Programming(OOP) ................................................................44

2.5.4.1 Unsur OOP .............................................................................................42

2.5.4.2 Delphi 7 dan OOP ..................................................................................43

2.5.5 Instalasi Delphi 7 ...............................................................................................46

2.6 Client Server ...............................................................................................................54

2.6.1 User ....................................................................................................................54

2.6.2 Client ..................................................................................................................54

2.6.3 Server .................................................................................................................55

2.6.4 Pengertian Client Server ....................................................................................55

2.6.5 Perbedaan Tipe Client Server ............................................................................57

2.6.6 Kombinasi Client Server ...................................................................................58

2.6.7 Studi Literatur ...................................................................................................60

Page 10: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

10

Bab III Metodologi Penelitian .......................................................................................65

3.1 Metode Pengumpulan Data .........................................................................65

3.1.1 Studi Pustaka ......................................................................................65

3.1.2 Studi Literatur .....................................................................................65

3.2 Metode Pengembangan Sistem ....................................................................70

3.3 Siklus Penerapan RAD .................................................................................72

Bab IV Analisa dan Pembahasan ..................................................................................74

4.1 Fase Menetukan Syarat-Syarat dan Informasi .............................................74

4.1.1 Tujuan Informasi .................................................................................74

4.1.2 Studi Kelayakan ..................................................................................75

4.1.3 Kelengkapan Hardware .......................................................................74

4.1.4 Kelengkapan Software ........................................................................75

4.1.5 Mendefinisikan Masalah .....................................................................75

4.2 Fase Perancangan .........................................................................................76

4.2.1 Flowchart Diagram .............................................................................77

4.2.2 Perancangan Antar Muka ....................................................................78

4.3 Fase Konstruksi ............................................................................................83

4.3.1 Instalasi Program ................................................................................83

4.3.2 Bagian-bagian Suipack .......................................................................85

4.3.3 Menjalankan Aplikasi Enkripsi ...........................................................90

4.3.3 Tampilan Aplikasi Client Server ........................................................93

4.3.4 Komunikasi Client Server ...................................................................95

4.4 Fase Pelaksanaan .........................................................................................97

Page 11: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

11

4.4.1 Spesifikasi Minimum Penggunaan .....................................................97

4.4.2 Konfigurasi Client Server ...................................................................98

4.4.3 Pengujian Aplikasi ..............................................................................99

4.4.3.1 Pengujian Blackbox Mandiri ..................................................99

4.3.1.1 Pengujian File rtf dengan RSA .................................100

4.3.1.2 Pengujian File rtf dengan Blowfish ..........................101

4.3.1.3 Pengujian File rar dengan RSA .................................102

4.3.1.4 Pengujian File rar dengan Blowfish ..........................103

4.3.1.5 Pengujian File mpeg dengan RSA ............................104

4.3.1.6 Pengujian File mpeg dengan Blowfish .....................105

4.3.1.7 Pengujian File doc dengan RSA ...............................106

4.3.1.8 Pengujian File doc dengan Blowfish ........................107

4.3.1.9 Pengujian File mp4 dengan RSA ..............................108

4.3.1.10 Pengujian File mp4 dengan Blowfish .....................109

4.3.1.11 Pengujian File Gambar dengan RSA.......................110

4.3.1.12 Pengujian File Gambar dengan Blowfish ...............111

4.3.1.13 Pengujian Aplikasi Client Server ............................112

4.3.1.14 Enkripsi Teks dengan RSA pada Client Server ......114

4.3.1.15 Enkripsi Teks dengan Blowfish ..............................116

4.4.3.2 Respon Oleh User Tentang Aplikasi ..............................................119

4.4.4 Analisis Pengujian ..................................................................................119

4.4.4.1 Analisis Pengujian BlackBox Mandiri ........................................119

4.4.4.2 Analisis Hasil Respon Oleh User119

Page 12: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

12

4.4.5 Hasil Penelitian ………………………………………………………...120

Bab V Penutup ………………………………………………………………………..122

5.1 Kesimpulan ………………………………………………………………...122

5.2 Saran ……………………………………………………………………….122

DAFTAR PUSTAKA ………………………………………………………………....123

Lampiran I Proses Konstruksi Program .......................................................................I-VII

Lampiran II Source Code ......................................................................................VIII-XVI

Lampiran III Angket .............................................................................................XVII XIX

Page 13: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

13

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi informasi pada saat ini berkembang sangat pesat.

Teknologi mampu memudahkan setiap kebutuhan manusia. Manusia pun mulai

bergantung kepada teknologi. Setiap permasalahan yang dialami manusia selalu dicoba

dengan diselesaikan dengan menggunakan teknologi, seperti komputer. Teknologi

komputer merupakan salah satu teknologi yang paling banyak digunakan dalam

pengembangan informasi. Karena memiliki banyak fungsi seperti sebagai sarana

komunikasi, dokumentasi, pengolahan citra images dan sebagainya.

Seiring dengan perkembangan teknologi informasi, berkembang pula teknologi di

bidang lainnya dalam dunia teknologi informasi, seperti teknologi kriptografi

(pengamanan informasi) dan algoritma pengacakan data. Pada teknologi kriptografi

banyak algoritma pengacakan data yang dikembangkan, baik algoritma Asimetris

maupun algoritma Simetris.

Pada algoritma Asimetris banyak algoritma pengacakan data yang dikembangkan

salah satunya adalah RSA, begitu pula dengan pada algoritma Simetris banyak algoritma

pengacakan data yang dikembangkan salah satunya adalah Blowfish. Penulis

menggunakan algoritma RSA dengan pertimbangan algoritma RSA yang dikenal paling

maju dalam bidang kriptografi public key, sedangkan algoritma Blowfish merupakan

salah satu algoritma yang terbaik yang menggantikan algoritma DES.

Karena pada saat itu banyak sekali rancangan algoritma yang ditawarkan, namun

hampir semua terhalang oleh paten atau kerahasiaan pemerintah Amerika. Dengan alasan

Page 14: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

14

yang dikemukakan oleh penemunya Schneider bahwa blowfish bebas paten dan akan

berada pada domain public. Dengan pernyataan Schneier tersebut blowfish telah

mendapatkan tempat di dunia kriptografi, khususnya bagi masyarakat yang membutuhkan

algoritma kriptografi yang cepat, kuat, dan tidak terhalang oleh lisensi (Wikipedia :

2010).

Oleh karena itu pengamanan yang kuat sangat dibutuhkan agar data-data tidak

jatuh ke tangan yang tidak bertanggung jawab dan yang tidak berhak atas data tersebut.

Dari hal tersebut diatas maka penulis akan mengkaji :

“IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH UNTUK ENKRIPSI

DAN DEKRIPSI DATA MENGGUNAKAN DELPHI 7”.

1.2 Perumusan Masalah

a. Bagaimana membuat aplikasi Implementasi Algoritma RSA dan Blowfish

Untuk Enkripsi dan Dekripsi Data Menggunakan Delphi 7.

b. Bagaimana menerapkan aplikasi Implementasi Algoritma RSA dan Blowfish

Untuk Enkripsi dan Dekripsi Data Menggunakan Delphi 7 yang berbasis client

server.

c. Bagaimana mengukur waktu proses aplikasi Implementasi Algoritma RSA dan

Blowfish Untuk Enkripsi dan Dekripsi Data Menggunakan Delphi 7.

1.3 Batasan Masalah

Page 15: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

15

Seiring dengan kemampuan penulis yang sangat terbatas, dan untuk

menghindari meluasnya permasalahan, maka pada penulisan skripsi ini hanya

mencakup :

a. Penulisan ini difokuskan pada segi enkripsi dan dekripsi data dengan

algoritma RSA dan Blowfish menggunakan Delphi 7 disertai penggunaan

password.

b. Data yang dienkrip dan didekrip dengan menggunakan algoritma RSA dan

Blowfish adalah data dengan berbagai ukuran (dari puluhan Mega hingga

ratusan Mega Bytes) dan format (doc, rtf, rar, jpg, mp4, mpeg,).

c. Implementasi program yang dibuat dengan menggunakan bahasa

pemrograman Delphi 7.

1.4 Tujuan Penelitian

Ada beberapa maksud dan tujuan yang diharapkan bisa tercapai dari

implementasi yang dilakukan, diantaranya adalah :

1. Memahami dan mengetahui bagaimana cara membuat sebuah aplikasi

Implementasi Algoritma RSA dan Blowfish Untuk Enkripsi dan Dekripsi Data

Menggunakan Delphi 7.

2. Menghasilkan sebuah aplikasi yang lebih dinamis daripada aplikasi sebelumnya

karena mampu mengeksekusi file-file yang berukuran puluhan hingga ratusan

Mega Bytes.

1.5 Manfaat Penelitian

Page 16: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

16

1.5.1 Bagi Pengguna

1. Memberikan pengamanan data pada data yang berukuran puluhan

hingga ratusan Mega Bytes agar suatu data tersebut terjaga

keamanannya dengan algoritma RSA dan Blowfish menggunakan

bahasa pemrograman Delphi 7.

2. Sebagai referensi bagi pengguna lain yang mempunyai minat dalam

mengembangkan tentang pemrograman Delphi 7 dengan memanfaatkan

bidang ilmu kriptografi.

1.5.2 Bagi Penulis

1. Membantu pemahaman tentang kriptografi terutama mengenai algoritma

RSA dan Blowfish untuk enkripsi dan dekripsi data

2. Untuk memenuhi salah satu syarat dalam menempuh gelar S1 (Srata 1)

pada Fakultas Sains dan Teknologi Jurusan Teknik Informatika

Universitas Islam Negeri Jakarta.

3. Membandingkan teori-teori yang ada dengan permasalahan yang

sebenarnya.

4. Menambah pengalaman, memperluas wawasan penulis tentang

pemrograman Delphi 7 dengan memanfaatkan algoritma RSA dan

Blowfish untuk enkripsi dan dekripsi data.

1.5.3 Bagi Universitas

1. Menghasilkan perangkat lunak yang dapat juga digunakan sebagai fasilitas

pendukung dalam proses belajar mengajar untuk materi kriptografi,

khususnya materi algoritma asimetris dan algoritma simetris.

Page 17: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

17

2. Dapat menjadi sumbangan karya ilmiah dalam disiplin ilmu teknologi

informasi khususnya bidang kriptografi.

3. Dapat dijadikan sebagai bahan acuan bagi peneliti lain yang berminat

mengkaji permasalahan atau topik yang sama.

1.6 Metode Penelitian

1.6.1 Metode Pengumpulan Informasi dan Data

Metode pengumpulan data yang penulis pakai adalah :

1. Studi Pustaka

Studi Pustaka adalah teknik pengumpulan data dengan menghimpun

dan menganalisis dokumen. Dokumen-dokumen yang termasuk

didalamnya yaitu penelitian-penelitian terdahulu, buku, artikel dan

jurnal yang berkaitan dengan objek penelitian.

3. Studi Literatur

Melakukan studi perbandingan dan analisis antara aplikasi yang pernah

dibuat oleh seseorang dengan aplikasi yang penulis buat. Termasuk

kelebihan dan kekurangan aplikasi yang telah di buat.

1.6.2 Metode Perancangan Sistem

Metode perancangan sistem yang dipakai untuk penelitian ini adalah

metode Rapid Application Development (RAD). Yang termasuk kedalam

tahapan metode RAD yaitu:

1. Fase Menentukan Tujuan dan Syarat-Syarat Informasi

Pada tahap ini akan dilakukan Studi Feasibilitas, kelengkapan data yang

Page 18: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

18

digunakan, dan terakhir kelengkapan hardware dan software yang

digunakan.

2. Fase Perancangan

Pada tahap ini perancangan Flowchart, perancangan antar muka,

perancangan algoritma program kriptografi.

3. Fase Konstruksi

Pada tahapan ini dilakukan instalasi software pendukung, pengembangan

aplikasi yang telah dibuat menggunakan Delphi 7 untuk dijalankan pada

laptop

4. Pengujian (Testing)

Melakukan pengujian program aplikasi dan pengkajian.

1.7 Sistematika Penulisan

Dalam penyusunan tugas akhir (skripsi) ini, uraian yang penulis sajikan

terbagi dalam lima bab, yaitu:

BAB 1 Pendahuluan

Dalam bab ini berisi uraian tentang latar belakang masalah, perumusan

masalah, batasan masalah, manfaat penelitian, manfaat penelitian, metode

penelitian, sistematika penulisan.

BAB II Landasan Teori

Dalam bab ini berisi tentang landasan teori yang penulis buat. Teori

tersebut antara lain kriptografi, algoritma RSA dan algoritma Blowfish,

Page 19: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

19

metode pengembangan sistem, algoritma pemrograman, model perangkat

lunak, pengenalan bahasa pemrograman Delphi 7, abstrak studi literatur,

pengenalan client server.

BAB III Metodologi Penelitian

Dalam bab ini berisi tentang metodologi penelitian yang terdiri dari

metode pengumpulan data dan pengembangan sistem yang penulis

gunakan pada aplikasi yang penulis buat.

BAB IV Hasil dan Pembahasan

Dalam bab ini penulis membahas aplikasi RSA (Rivest Shamir Adleman)

dan Blowfish, melakukan pengujian terhadap aplikasi, penelitian terhadap

hasil pengujian.

BAB V Kesimpulan dan Saran

Dalam bab ini berisi tentang kesimpulan yang didapat penulis serta

mengemukakan saran yang dianggap perlu.

BAB II

LANDASAN TEORI

2.1 Keamanan dan Kerahasiaan Data

Masalah keamanan dan kerahasiaan data merupakan salah satu aspek penting dari

suatu sistem informasi. Dalam hal ini, sangat terkait dengan betapa pentingnya informasi

tersebut dikirim dan diterima oleh orang yang berkepentingan. Informasi tidak akan

Page 20: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

20

berguna lagi apabila ditengah jalan informasi itu disadap atau dibajak oleh orang yang

tidak berhak (Wahana Komputer : 2000).

Berkaitan dengan masalah yang terjadi dan perlunya pengamanan terhadap data

yang ada dalam komputer, lingkup keamanan data dari suatu sistem komputer mencakup

hal-hal yang tidak saja berkaitan dengan:

a. Keamanan Fisik

Komputer harus diletakkan pada tempat yang dapat dikontrol, karena

kemungkinan penyalahgunaan dapat terjadi (user yang tidak disiplin

meninggalkan komputer dalam keadaan hidup, sehingga orang yang tidak

berhak dapat menggunakan fasilitas komputer tersebut) (Wahana Komputer :

2000, 2).

b. Keamanan Akses

Seluruh akses terhadap sistem komputer secara administrasi harus terkontrol

dan terdokumentasi, sehingga apabila ada suatu permasalahan dapat diketahui

penyebabnya dan mencari solusinya (Wahana Komputer : 2000, 2).

c. Keamanan File atau Data

Untuk file atau data yang sensitif dan bersifat rahasia, diperlukan tingkatan

akses dan bahkan dapat dibuatkan suatu kode sandi tertentu sehingga apabila

file atau data tersebut dicuri, isi informasinya tidak dengan mudah didapatkan

(Wahana Komputer : 2000, 2).

d. Keamanan Jaringan

Dengan pemanfaatan jaringan publik, data yang ditransmisikan dalm jaringan

harus aman dari kemungkinan dapat diketahui isi informasinya sehingga untuk

Page 21: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

21

informasi yang sensitif harus dibuatkan kode sandi tertentu untuk

pengamanannya pada saat transmisi (Wahana Komputer : 2000, 2).

Keamanan dan kerahasiaan data pada jaringan komputer saat ini menjadi isu yang

sangat penting dan terus berkembang. Beberapa kasus menyangkut keamanan jaringan

komputer saat ini menjadi suatu pekerjaan yang membutuhkan biaya penanganan dan

pengaman yang sedemikian besar. Sistem-sistem vital seperti sistem pertahanan, sistem

perbankan dan sistem-sistem setingkat itu, membutuhkan tingkat keamanan yang

sedemikian tinggi, hal ini lebih disebabkan karena kemajuan bidang jaringan komputer

dengan konsep open system-nya sehingga siapa pun, dimana pun, dan kapan pun,

mempunyai kesempatan untuk mengakses kawasan-kawasan tersebut.

Pada garis besarnya, masalah keamanan jaringan dapat dibagi menjadi empat

bidang yang saling berhubungan :

2.1.1 Privacy

Ketika sebuah pesan atau inforamsi dirasa sensitif atau nilai dari informasi itu

menjadi tinggi maka informasi tersebut sifatnya rahasia dan perlu mendapatkan

perlindungan. Apalagi kalau informasi tersebut merupakan hak akses seseorang

yang tidak sembarang orang bisa menggunakannya (Wahana Komputer : 2000, 33).

2.1.2 Integrity

Integritas data diperlukan untuk menjamin bahwa data yang dikirim harus

benar-benar data asli yang dikirim oleh orang atau user yang benar-benar

mengirimnya pula. Selain itu integritas harus dapat memberikan jaminan untuk tiap

bagian bahwa pesan tidak akan mendapatkan perubahan dari saat ia dibuat sampai

Page 22: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

22

saat ia dibuka. Adapun metode yang dipakai untuk menjaga data yang dikirim utuh

dan asli seperti apa adanya, maka banyak orang yang menggunakan model enkripsi

(Wahana Komputer : 2000, 34).

2.1.3 Authenticity

Salah satu isu yang terkait dengan kerahasiaan dan keamanan data adalah

Authenticity (keaslian). Isu ini sangat mendasar sekali, karena untuk membuktikan

asli atau tidaknya dokumen atau pesan yang dipakai oleh sekelompok orang dalam

berinteraksi, sehingga orang diluar kelompok tidak dapat berpura-pura sebagai

anggota kelompok (Wahana Komputer : 2000, 36).

2.1.4 Non Repudiation

Dalam jaringan baik itu jaringan komputer maupun internet, seseorang yang

bertindak sebagai user harus bisa memberikan laporan atau fakta-fakta mengenai

penggunaan layanan yang dipakai, sehingga ia tidak dapt menyangkal bahwa ia

telah benar-benar menggunakan atau melakukan akses terhadap jaringan. Apalagi

kalau seorang telah terlibat dengan orangn lain dalam komunitas, baik itu

mengirimkan dokumen atau pun kegiatan yang lain, maka kondisi seperti ini sangat

diperlukan pembuktian tak tersangkal. Sebab apabila nanti terjadi kekeliruan, maka

dapat dipertanggungjawabkan (Wahana Komputer : 2000, 40).

2.2 Kriptografi

2.2.1 Terminologi

Page 23: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

23

Kriptografi (cryptografi) merupakan ilmu dan seni untuk menjaga pesan agar

aman. Kriptografi (cryptografi) berasal dari bahasa Yunani yaitu ―Crypto” berarti

“secret” (rahasia) dan “graphy” berarti “writing” (tulisan). Para pelaku atau

praktisi kriptografi disebut cryptographers. Sebuah algoritma kriptografi

(cryptography algoritm), disebut cipher, merupakan persamaan matematik yang

digunakan untuk proses enkripsi dan dekripsi. Biasanya kedua persamaan

matematik (untuk enkripsi dan dekripsi) tersebut memiliki hubungan matematis

yang cukup erat.

Proses yang dilakukan untuk mengamankan sebuah pesan (yang disebut

plaintext) menjadi pesan yang tersembunyi (disebut ciphertext) adalah enkripsi

(encryption). Ciphertext adalah pesan yang tidak dapat dibaca dengan mudah.

Menurut ISO 7498-2, terminologi yang lebih tepat digunakan adalah “encipher”.

Proses sebaliknya, untuk mengubah ciphertext menjadi plaintext, disebut dekripsi

(decryption). Menurut ISO 7498-2, terminologi yang lebih tepat untuk proses ini

adalah “decipher”. Cryptanalysis adalah seni dan ilmu untuk memecahkan

ciphertext tanpa bantuan kunci. Cryptanalyst adalah pelaku atau praktisi yang

menjalankan cryptanalysis. Cryptology merupakan gabungan dari Cryptography

dan Cryptanalysis.

Untuk mengenkripsi dan mendekripsi data. Kriptografi menggunakan suatu

algoritma (cipher) dan kunci (key). Cipher adalah fungsi matematika yang

digunakan untuk mengenkripsi dan mendekripsi data. Sedangkan kunci (key)

merupakan sederetan bit yang diperlukan untuk mengenkripsi dan mendekripsi

data.

Page 24: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

24

Algoritma kriptografi modern tidak lagi mengandalkan keamanannya pada

kerahasiaan algoritma tetapi kerahasiaan kunci. Plaintext yang sama bila disandikan

dengan kunci yang berbeda akan menghasilkan Ciphertext yang berbeda pula.

Dengan demikian algoritma kriptografi dapat bersifat umum dan boleh diketahui

oleh siapa saja, akan tetapi tanpa pengetahuan tentang kunci (key), data tersandi

tetap saja tidak dapat terpecahkan. Sistem kriptografi atau Cryptosistem adalah

sebuah algoritma kriptografi ditambah semua kemungkinan plaintext, ciphertext,

key.

2.2.2 Algoritma Kriptografi

Algoritma kriptografi pertama kali dikembangkan untuk mengizinkan

organisasi tertentu ditunjuk untuk mengakses suatu informasi. Algoritma kriptografi

ini telah mengalami perkembangan sehingga hasilnya lebih memuaskan, misalnya

pada algoritma RSA, Blowfish, IDEA, AES, DES dan lainnya. Algoritma

kriptografi terdiri dari algoritma enkripsi (E) dan algoritma dekripsi (D). Algoritma

enkripsi menggunakan kunci enkripsi (KE), sedangkan algoritma dekripsi

menggunakan kunci dekripsi (KD) (Wahana Komputer : 2000, 97).

Berdasarkan kunci yang dipakai, algoritma kriptografi dapat dibedakan atas

dua golongan, yaitu :

2.2.2.1 Kunci Simetris

Kunci Simetris adalah jenis kriptografi yang paling umum digunakan

untuk membuat pesan yang disandikan sama dengan kunci untuk membuka

Page 25: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

25

pesan yang disandikan itu. Jadi pembuat pesan dan penerimanya harus

memiliki kunci yang sama persis. Contoh algoritma kunci simetris adalah

Blowfish (Andri Kristanto : 2003).

Proses enkripsi-dekripsi algoritma kriptografi kunci simetris dapat

dilihat pada gambar berikut ini :

Plaintext ciphertext plaintext

kunci enkripsi (K) kunci dekripsi (K)

Gambar 2.1 Proses Enkripsi dan Dekripsi Kunci Simetris

Algoritma kriptografi simetris dibagi menjadi dua kategori yaitu

algoritma aliran (Stream Ciphers) dan algoritma blok (Block Ciphers). Pada

algoritma aliran, proses penyandiannya berorientasi pada satu bit atau satu

byte data. Sedang pada algoritma blok, proses penyandiannya berorientasi

pada sekumpulan bit atau byte data (per blok).

2.2.2.2 Kunci Asimetris

Kunci Asimetris adalah pasangan kunci kriptografi yang salah satunya

digunakan untuk proses enkripsi dan yang satunya lagi untuk dekripsi. Semua

orang yang mendapatkan kunci publik dapat menggunakannya untuk

mengenkripsikan suatu pesan, data meupun informasi, sedangkan hanya satu

enkripsi dekripsi

Page 26: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

26

orang saja yang memiliki rahasia tertentu dalam hal ini kunci privat untuk

melakukan pendekripsi terhadap sandi yang dikirim untuknya. Contohnya

algoritma yang kuat dari kunci asimetris adalah RSA (Rivest Shamir Adleman)

(Andri Kristanto : 2003).

Proses enkripsi-dekripsi algoritma kunci asimetris dapat dilihat pada

gambar berikut ini :

Plaintext ciphertext plaintext

kunci enkripsi (K1) kunci dekripsi (K2)

Gambar 2.2 Proses Enkripsi dan Dekripsi kunci Asimetris

Pada algoritma kunci publik (public key), semua orang dapat

mengenkripsi data dengan memakai kunci publik (public key) penerima yang

telah diketahui secara umum. Akan tetapi data yang telah terenkripsi tersebut

hanya dapat didekripsi dengan menggunakan kunci pribadi (private key) yang

hanya diketahui oleh penerima.

2.2.3 Dasar Matematis

Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi

antara dua himpunan yaitu himpunan berisi elemen plaintext dan himpunan berisi

ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara dua

himpunan tersebut. Bila himpunan plaintext dinotasikan dengan P dan himpunan

enkripsi dekripsi

Page 27: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

27

ciphertext dinotasikan dengan C, sedangkan fungsi enkripsi dengan E dan fungsi

dekripsi dengan D, maka proses enkripsi dan dekripsi dapat dinyatakan dalam

notasi matematis dengan :

E(P)=C dan

D(C)=P

Karena proses enkripsi dan dekripsi bertujuan memperoleh kembali data asal, maka:

D(E)=P

Relasi antar himpunan plaintext dengan himpunan ciphertext harus merupakan

fungsi korespondensi satu-satu (one to one relation). Hal ini merupakan keharusan

untuk mencegah terjadinya ambigu dalam dekripsi yaitu satu elemen ciphertext

menyatakan lebih dari satu elemen plaintext.

Pada metode kriptografi simetris atau konvensional digunakan satu buah kunci.

Bila kunci dinotasikan dengan ’K’ maka proses enkripsi-dekripsi metode kriptografi

simetris dapat dinotasikan dengan :

Ek(P)=C

Dk(C)=P

Dan keseluruhan sistem dinyatakan sebagai:

Dk(Ek(P))=P

Pada metode kriptografi asimetris digunakan kunci umum untuk enkripsi dan

kunci pribadi untuk dekripsi. Bila kunci umum dinotasikan dengan ’PK’ dan kunci

pribadi dinotasikan dengan ’Sk’, maka proses enkripsi-dekripsi metode kriptografi

asimetris dapat dinotasikan dengan :

Page 28: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

28

Epk(P)=c dan

Dsk(C)=P

Dan keseluruhan sistem dinyatakan sebagai:

Dsk(Epk(P))=P

2.2.4 Rivest Shamir Adleman (RSA)

RSA (Rivest Shamir Adleman) adalah sebuah algoritma pada enkripsi publik

key. RSA merupakan salah satu metode enkripsi yang paling banyak digunakan.

Metode mengambil dua bilangan secara acak yang akan dijadikan kunci sehingga

didapat dua kunci yaitu kunci publik dan kunci private. Algortima RSA dijabarkan

pada tahun 1977 oleh tiga orang : Ron Rivest, Adi Shamir dan Len Adleman dari

Massachusetts Institute of Technology. Huruf RSA itu sendiri berasal dari inisial

nama mereka (Rivest—Shamir—Adleman) (Wahana Komputer : 2000, 82).

Algoritma tersebut dipatenkan oleh Massachusetts Institute of Technology

pada tahun 1983 di Amerika Serikat sebagai U.S. Patent 4405829. Paten tersebut

berlaku hingga 21 September 2000. Semenjak Algoritma RSA dipublikasikan

sebagai aplikasi paten, regulasi di sebagian besar negara-negara lain tidak

memungkinkan penggunaan paten. Hal ini menyebabkan hasil temuan Clifford

Cocks di kenal secara umum, paten di Amerika Serikat tidak dapat mematenkannya

(Wikipedia Indonesia).

Proses enkripsi dan dekripsi untuk plaintext blok M dan ciphertext blok C

dapat digambarkan sebagai berikut :

Page 29: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

29

C = Me mod n

M = Cd mod n = (M

e)d mod n = M

ed mod n

Kedua belah pihak (pengirim dan penerima) harus mengetahui nilai dari n.

Pengirim mengetahui nilai e dan hanya menerima yang tahu nilai d . Jadi, dapat

disimpulkan bahwa kunci publik dari algoritma ini adalah KU = {e,n} dan kunci

pribadinya adalah KR = {d,n}. Untuk penentuan kunci ini juga tidaklah bebas,

harus melalui rumus tertentu. Secara lengkap, langkah-langkahyang dilakukan di

dalam algoritma RSA adalah sebagai berikut :

1. Pilih 2 bilangan p dan q

2. Cari n = pq

3. Hitung (n) = (p-1)(q-1), sebagai euler’s totient function

4. Pilih kunci publik e secara acak sehingga e adalah bilangan prima dari GCD

(e, Φ(n)) =1, yang didapat dengan menggunakan algoritma euclidean.

5. Hitung kunci pribadi dengan kombinasi linier dari e dari Φ(n) berdasarkan

algoritma euclidean yang diperoleh dari langkah ke empat sehingga

mendapatkan bentuk akhir d = d+Φ(n)

6. Untuk mengenkripsi plaintext M , 0 ≤ M ≤ n-1, dilakukan perhitungan C = Me

(mod n)

Untuk mengetahui dengan lebih jelas prinsip kerja algoritma RSA ini, kita

terapkan langkah-langkah tersebut di dalm contoh berikut:

Page 30: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

30

Penentuan kunci publik dan kunci pribadi :

1. Pilih 2 bilangan prima p = 29 dan q = 31

2. Cari n = pq = 29 x 31 = 899

3. Hitung Φ(n) = (p-1)(q-1) = (29-1)(31-1) = 840

4. GCD (e, Φ(n)) = 1

840 = (13)64+8

13 = (8)1+5

8 = (5)1+3

5 = (3)1+2

3 = (2)1+1

2 = (1)2+0

GDC(13,840) =1

Jadi e = 13 telah memenuhi syarat, karena GCD (e, Φ(n))=1

5. Kombinasi linier dari 13 dan 840 adalah :

1 = λ Φ (n) – e.d

1 = 3 – 2(1)

1 = 3 – (5-(3)) = (3) 2 – (5)1

1 = (8 – (5)1) 2 – (5) 1 = (8) 2 – (5) 3

1 = (8) 2 – (13 – (8)1)3 = (8)5 – (13)3

Page 31: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

31

1 = (840 – (13)64) 5 – (13) 3 = (840) 5 – (13) 323

6. Plaintext M = 123, 0 ≤ m ≤ n-1

enkripsi plaintext M :

C = Me

(mod n) = 123 13

mod 899

= 402

7. dekripsi ciphertext C :

M = Cd

(mod n) = 402 517

(mod 899)

= 123

Dari hasil yang dperoleh terlihat bahwa pesan yang telah dienkripsi tersebut dapat

didekripsi kembali menjadi pesan yang asli.

Dalam memecahkan algoritma RSA ini, seorang cryptanalyst dapat melakukan

pendekatan sebagai berikut :

a) Brute force : mencoba semua kemungkinan kunci pribadi

b) Mencoba mencari faktor p dan q, sehingga dapat dihitugn (n). Dengan

mengetahui (n), maka dapat ditentukan faktor d.

c) Menentukan (n) secara langsung tanpa menentukan p da q. Hal ini juga dapat

menetukan hasil perhitungan dari faktor d.

d) Menentukan d secara langsung, tanpa menetukan (n).

Page 32: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

32

Contoh Enkripsi dan Dekripsi pada teks :

Plaintext : Pesan Rahasia P->¢ e->Ì s->è a->Ä n->Þ

ID PLN Sahrial : I->B D->Ä P->¢ L-ÔÄ S->¨ a-> Ä h-> Ò r->æ

i-> Ô a-> Ä l->Ú

01-1165-4445-1 0->b 1->d - \ 1->d 1->d 6->n 5-> l 4-> j

Ciphertext: :

¢ÌèÄÞB¦ÄÒÄèÔÄ__¦ÌØÌÞÔÞÐBB†ž‖B˜ìèêÄÞB¨ÌêÔÄðÄÞBv__bdt\plt\bllt\_

2.2.4.1 Kelebihan RSA

Keamanan algoritma RSA terletak pada tingkat kesulitan dalam

memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam hal

ini n= p q. Sekali n berhasil difaktorkan menjadi p dan q, maka n = (p – 1)

(q – 1) dapat dihitung.

2.2.4.2 Flowchart Enkripsi RSA

Start

Input

Plainteks

Plainteks ->

ASCII

(desimal) = m

m<n

Length

mi=mi+1

Ci=Mi mod n

Cipherteks

End

Yes

No

Gambar 2.3 Flowchart Enkripsi RSA

Page 33: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

33

Flowchart pada gambar 2.3 menggambarkan alur proses enkripsi pada

algoritma RSA. Dimulai dari memasukkan plaintext, kemudian plaintext

dalam bentuk ASCII (decimal) dikurangi nilai m, selanjutnya besarnya nilai m

lebih kecil dari n dimana nilai mi=mi+1. Bila nilainya memenuhi syarat maka

langkah selanjutnya dijalankan, tetapi tidak memenuhi syarat maka kembali

ke langkah plaintext dalam bentuk ASCII. Langkah selanjutnya adalah

menentukan nilai Ci dengan membagi nilai mi dengan nilai n, bila berhasil

maka plaintext berubah menjadi ciphertext dan alur proses selesai dilakukan.

2.2.4.3 Flowchart Dekripsi RSA

Start

Cipherteks

Mi = Ci mod n

M=Mi+Mi+1

M -> ASCII

Plainteks

End

Page 34: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

34

Gambar 2.4 Flowchart Dekripsi RSA

Flowchart pada gambar 2.4 menggambarkan alur proses dekripsi pada

algoritma RSA. Dimulai dengan memasukkan lalu menentukan nilai mi

dengan membagi nilai Ci dengan nilai n, selanjutnya menentukan nilai m

dengan cara nilai mi+mi+1, hasilnya nilai m diubah kedalam bentuk ASCII, lalu

dirubah menjadi plaintext, dan alur proses selesai dilakukan.

2.2.5 Keamanan Algoritma

Suatu algoritma dikatakan aman, bila tidak ada cara untuk ditemukan

plaintextnya, berapa pun banyaknya ciphertext yang dimiliki cryptanalyst.

Kebanyakan algoritma selalu dapat dipecahkan dengan ciphertext only attack, brute

force attack (mencoba satu per satu seluruh kemungkinan kunci dan memeriksa

apakah plaintext yang dihasilkannya memiliki arti yang sesuai) dan masih banyak

teknik attack lainnya.

Dengan peningkatan kecepatan komputasi komputer, maka keamanan

algoritma kriptografi akan semakin terancam. Karena selalu terdapat kemungkinan

ditemukannya cara baru untuk menembus suatu algoritma kriptografi, maka

algoritma kriptografi yang dikatakan ‖cukup‖ aman bila memiliki keadaan sebagai

berikut :

1. Bila harga untuk menjebol algoritma lebih besar dari pada nilai informasi

yang dibuka, maka algoritma tersebut cukup aman. Misalnya, diperlukan

komputer senilai 1 juta dolar untuk menjebol algoritma yang digunakan untuk

melindungi informasi senilai 100 ribu dolar, maka cukup aman.

Page 35: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

35

2. Bila waktu yang diperlukan untuk menjebol algoritma tersebut lebih lama dari

pada lamanya waktu yang diperlukan oleh informasi tersebut harus tetap

aman, maka anda mungkin aman. Misalnya, waktu untuk menjebol sebuah

kartu kredit 1 tahun, sedangkan sebelum setahun kartu tersebut sudah tidak

berlaku lagi, maka anda cukup aman.

3. Bila jumlah data yang dienkrip dengan kunci dan algoritma yang sama lebih

sedikit dari jumlah data yang diperlukan untuk menembus algoritma tersebut,

maka anda aman. Misalnya, diperlukan 100 ciphertext untuk menebak kunci

yang digunakan pada algoritma x, sedangkan satu kunci hanya digunakan

untuk satu pesan, maka anda cukup aman.

2.2.6 Blowfish

Blowfish merupakan algoritma kunci simetrik cipher blok yang dirancang

pada tahun 1993 oleh Bruce Schneier untuk menggantikan DES. Pada saat itu

banyak sekali rancangan algoritma yang ditawarkan, namun hampir semua

terhalang oleh paten atau kerahasiaan pemerintah Amerika. Schneier menyatakan

bahwa blowfish bebas paten dan akan berada pada domain publik. Dengan

pernyataan Schneier tersebut blowfish telah mendapatkan tempat di dunia

kriptografi, khususnya bagi masyarakat yang membutuhkan algoritma kriptografi

yang cepat, kuat, dan tidak terhalang oleh lisensi.

Keberhasilan blowfish dalam menembus pasar telah terbukti dengan

diadopsinya blowfish sebagai Open Cryptography Interface (OCI) pada kernel

linux versi 2.5 keatas. Dengan diadopsinya blowfish, maka telah menyatakan bahwa

dunia open source menganggap blowfish adalah salah satu algoritma yang terbaik.

Page 36: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

36

Kesuksesan blowfish mulai memudar setelah kehadiran algoritma-algoritma dengan

ukuran blok yang lebih besar, seperti AES. AES sendiri memang dirancang untuk

menggantikan DES. Sehingga secara keseluruhan AES lebih unggul dari DES dan

juga blowfish.

Blowfish adalah algoritma kriptografi kunci simetrik cipher blok dengan

panjang blok tetap sepanjang 64 bit. Algortima tersebut juga menerapkan teknik

kunci yang berukuran sembarang. Ukuran kunci yang dapat diterima oleh blowfish

adalah antara 32 hingga 448 bit, dengan ukuran standar sebesar 128 bit. Blowfish

memanfaatkan teknik pemanipulasian bit dan teknik pemutaran ulang dan pergiliran

kunci yang dilakukan sebanyak 16 kali. Algoritma utama terbagi menjadi dua sub-

algoritma utama, yaitu bagian ekspansi kunci dan bagian enkripsi-dekripsi data.

Pengekspansian kunci dilakukan pada saat awal dengan masukan sebuah

kunci dengan panjang 32 hingga 448 bit, dan keluaran adalah sebuah larik sub-

kunci dengan total 4168 bit. Bagian enkripsi-dekripsi data terjadi dengan

memanfaatkan perulangan 16 kali terhadap jaringan feistel. Setiap perulangan

terdiri dari permutasi dengan masukan adalah kunci, dan substitusi data. Semua

operasi dilakukan dengan memanfaatkan operasi xor dan penambahan. Operasi

penambahan dilakukan terhadap empat larik lookup yang dilakukan setiap

putarannya.

2.2.6.1 Enkripsi Algoritma Blowfish

Blowfish adalah cipher blok 64-bit yang memiliki sebuah kunci yang

panjangnya variabel. Algoritma blowfish terdiri dari dua bagian yaitu key

Page 37: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

37

expansion dan enkripsi data. Blok diagram enkripsi algoritma Blowfish dapat

dilihat pada gambar 2 .

Key expansion mengkonversikan sebuah kunci sampai 448 bit ke dalam

beberapa array subkey dengan total 4168 byte.

Enkripsi data terdiri dari sebuah fungsi yang sederhana dengan iterasi 16 kali.

Setiap round mempunyai sebuah permutasi key-dependent dan sebuah subsitusi

key- dan data-dependent. Semua operasi, penjumlahan dan XOR pada word 32-

bit. Hanya operasi tambahan diindek empat lookup data array per round.

Blowfish menggunakan sejumlah subkey yang besar. Key ini harus dihitung

awal sebelum enkripsi atau dekripsi .

P-array mempunyai 18 subkey 32-bit :

P1, P2, P3,..............................P18

Empat S-box 32- bit mempunyai masing-masing 256 entry [1, 7] yaitu :

S1,0, S1,1, S1,2, S1,3, ................S1,255

S2,0, S2,1, S2,2, S2,3, ................S2,255

S3,0, S3,1, S3,2, S3,3, ................S3,255

Page 38: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

38

P18

Plaintext

F

F

13 iterasi lagi

F

P1

P2

P16

P17

64 bit 32 bit 32 bit

32 bit

32 bit 32 bit

Page 39: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

39

Gambar 2.5 Blok diagram Algoritma Enkripsi Blowfish

Blowfish adalah sebuah jaringan Feistel yang mempunyai 16 round. Inputnya

adalah ( x ) element data 64-bit. Untuk mengenkripsi ( x ) yaitu

Bagi ( x ) dalam dua bagian 32-bit menghasil ( xL ) dan ( xR ).

Untuk i = 1 sampai 16 maka :

xL = xL Pi

xR = F(xL) xR

Swap (tukar) xL dan xR

Swap (tukar) xL dan xR (mengulang swap yang lalu)

xR = xR P17

xL = xL P18

Gabungkan kembali xL dan xR [1, 7]

Fungsi F adalah sebagai berikut [1]:

Bagi xL dalam empat kuarter 8-bit yaitu a, b, c dan d seperti gambar 3 maka :

F(xL) = ((S1,a + S2,b mod 232

) S3,c ) + S4,d mod 232

32 bit 32 bit

64 bit

Page 40: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

40

Gambar 2.6 Fungsi F (Bruce Schenier: 1996)

2.2.6.2 Flowchart Enkripsi Blowfish

Start

For N=1 To (LenFile) step 8

Call GetWord(XI, ByteArray(), N)

Call GetWord(Xr, ByteArray(),N+5)

Call EncrypBlok(XI,Xr)

Call PutWord(XI,ByteArray,N)

Call PutWord(Xr,ByteArray,(), N+5)

Input ByteArray Into File

End

For 1=1 To 16

XI=XI for P(i)

Fr = F(XI) Xor Xr

Swap XI and Xr:

Temp=XI

XI=Xr

Xr=Temp

Swap XI and Xr to undo the last

swap:

Temp=Xr

XI=Xr

Xr=Temp

Xr = Xr Xor P(17)

XI = XI Xor P(18)

(1)

(1)

Cat : (1) Skema Blok Enkripsi

Gambar 2.7 Flowchart Enkripsi dengan Blowfish

Flowchart pada gambar 2.7 menggambarkan alur proses dekripsi

dengan algoritma Blowfish. Dimulai dengan menentukan nilai N sampai 8

langkah, kemudian panggil statement GetWord dimana nilainya adalah XI,

a

b

32 bit

32 bit

c

S-Box

2

S-Box

1

S-Box

3

S-Box

4

8

bit

d

8

bit

8

bit

8

bit

32 bit

32 bit

32 bit

32 bit

Page 41: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

41

ByteArray, dan nilai N. Serta panggil statement GetWord dimana nilainya Xr,

ByteArray, dan nilai N+5. Kemudian panggil statement encryptBlok dimana

nilainya XI dan Xr. Selanjutnya panggil statement PutWord dimana nilainya XI,

ByteAray dan nilai n, serta panggil statement PutWord dimana nilainya Xr,

ByteArray, dan N+5. Setelah itu masukkan nilai ByteArray ke file dan proses

selesai dilakukan.

2.2.6.3 Dekripsi Algoritma Blowfish

Dekripsi sama persis dengan enkripsi, kecuali

bahwa P1, P2,…, P18 digunakan pada urutan yang berbalik

(reverse) [1, 7]. Blok diagram

dekripsi seperti pada

gambar 4.

64 bit

32 bit

32 bit

32 bit

32 bit

32 bit 32 bit

Chipertext

F

F

13 iterasi lagi

F

Plaintex

t

P18

32 bit 64 bit 32 bit

32 bit 32 bit

P17

P3

P1 P2

Page 42: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

42

Dengan

Gambar 2.8 Dekripsi algoritma Blowfish

membalikkan 18 subkey untuk medekripsi metode algoritma Blowfish. Pertama,

masalah ini nampak tidak dapat dipercaya, karena ada dua XOR operasi yang

mengikuti pemakaian f-fungsi yang sebelumnya, dan hanya satu yang

sebelumnya pemakaian pertama f-fungsi. Meskipun jika kita memodifikasi

algoritma tersebut sehingga pemakaian subkey 2 sampai 17 menempatkan

sebelum output f-fungsi yang di-XOR-kan ke sebelah kanan blok dan dilakukan

ke data yang sama sebelum XOR itu, walaupun itu berarti ia sekarang berada di

sebelaha kanan blok, karena XOR subkey tersebut telah dipindahkan sebelum

swap (tukar) kedua belah blok tersebut (tukar separuh blok kiri dan separuh

blok kanan). Kita tidak merubah suatu apapun karena informasi yang sama di-

XOR-kan ke separuh blok kiri antara setiap waktu, informasi ini digunakan

sebagai input f-fungsi. Kenyataannya, kita mempunyai kebalikan yang pasti dari

barisan dekripsi.

Page 43: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

43

Contoh Enkripsi dan Dekripsi Blowfish pada teks :

Plaintext : Rekening BRI Rio Hamzah : R->¦ e->Ì k->Ø e->Ì n->Þ i->Ô

g->Ð B->† R->¦ I->‖ R->¦ i->Ô o->à

2193-745 2->f 1->d 9->t 3->h 7->p 4->j 5->l

Ciphertext : ¦ÌØÌÞÔÞÐB†¦‖B¦ÔàB’ÄÜöÄÒBv__fdth\pjl

2.2.6.4 Flowchart Dekripsi dengan Blowfish

Page 44: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

44

Start

For N = 1 To (LenFile) step 8

Call GetWord(XI, ByteArray(),N )

Call GetWord(Xr,ByteArray(),N+5)

Call Decrypt Blok (XI),Xr

Call PutWord(XI,ByteArray(),N)

Call PutWord(Xr,ByteArray(),N+5)

Input Byte Array Int File

End

(1)

Cat : Skema Blok Dekripsi

Start

XI = XI Xor P(I)

Xr = F(XI) Xor Xr

Swap XI and Xr:

Temp = XI

XI=Xr

Xr=Temp

Swap XI and XI to undo the last swap:

Temp=XI

XI=Xr

Xr=Temp

Xr = Xr Xor P(2)

XI = XI Xor P(1)

Gambar 2.9 Flowchart Dekripsi dengan Blowfish

Flowchart pada gambar 2.9 menggambarkan alur proses dekripsi pada

algoritma Blowfish. Dimulai dengan menentukan nilai N dari 1 sampai 8,

kemudian panggil statemen GetWord dimana nilainya adalah XI, ByteArray,

dan N, serta panggil statement GetWord dimana nilainya adalah Xr, ByteArray,

dan N+5. Kemudian panggil statement decrypt blok dimana nilainya XI dan Xr.

Langkah selanjutnya adalah panggil statement PutWord dimana nilainya adalah

XI, ByteArray, dan N, serta panggil statement PutWord dimana nilainya Xr,

ByteArray, dan N+5, setelah itu masukkan nilai ByteArray ke dalam file, dan

proses selesai dilakukan.

2.2.6.5 Perbandingan Algoritma RSA dan Algoritma Blowfish

Page 45: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

45

No Perbandingan Algoritma RSA Algoritma Blowfish

1. Kelebihan Sulit memfaktorkan bilangan

besar menjadi faktor prima

Memiliki tingkat keamanan

yang bervariasi

2. Panjang kunci Panjang kunci lebih panjang Panjang kunci relatif pendek

3. Kunci Mempunyai kunci enkripsi dan

dekripsi berbeda

Mempunyai kunci enkripsi

dan dekripsi sama

4. Keamanan Keamanan lebih terjamin karena

kunci pribadi tidak pernah

ditransmisikan

Keamanan kurang terjamin

karena kunci harus

ditransmisikan

5. Kecepatan Kecepatan proses lebih cepat Kecepatan proses lebih

lambat

Tabel 2.1 Perbandingan Algoritma RSA dan Algoritma Blowfish

Penjelasan :

1. Kelebihan dari RSA yaitu terletak pada sulitnya memfaktorkan bilangan besar

menjadi faktor prima. Panjang kunci dalam bit dapat diatur, dengan semakin

panjang bit maka semakin sukar untuk dipecahkan karena sulitnya

memfaktorkan dua bilangan yang sangat besar tersebut, tetapi juga semakin

lama pada proses dekripsinya. Sedangkan pada algoritma Blowfish memiliki

tingkat keamanan yang bervariasi karena Blowfish merupakan cipher blok 64

bit yang memiliki sebuah kunci yang panjangnya bervariabel. Algoritma

Blowfish terdiri dari dua bagian yaitu key expansion dan enkripsi data.

2. Panjang kunci pada RSA lebih panjang, yaitu panjang key (kunci) mencapai

1024 bit, panjang kunci dalam bit dapat diatur, dengan semakin panjang bit

maka semakin sukar untuk dipecahkan karena sulit memfaktorkan dua bilangan

yang sangat besar tersebut. Sedangkan panjang kunci pada Blowfish relatif

pendek, yaitu panjang key (kunci) adalah variabel dan dapat menjadi sepanjang

448 bit.

3. RSA mempunyai kunci enkripsi dan dekripsi berbeda, yaitu kunci publik dan

kunci privat dimana kunci publik dapat diketahui oleh umum sedangkan kunci

privat tidak diketahui umum. Sedangkan pada Blowfish kunci enkripsi dan

Page 46: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

46

dekripsi sama, yaitu key expansion dimana key expansion mengkonversikan

sebuah kunci sampai 448 bit ke dalam beberapa array subkey dengan total 4168

bit.

4. Keamanan pada RSA lebih terjamin karena kunci pribadi tidak pernah

ditransmisikan, yang ditransmisikan hanya kunci publik saja sehingga pihak

umum tidak akan tahu kunci privat yang digunakan untuk dekripsi. Sedangkan

pada Blowfish kunci harus ditransmisikan, karena untuk melakukan enkripsi

dan dekripsi data harus terdiri dari sebuah fungsi dengan iterasi 16 kali.

5. Kecepatan proses pada RSA lebih cepat, hal tersebut telah dibuktikan dengan

mengeksekusi file-file yang berukuran besar yaitu berukuran puluhan hingga

ratusan mega bytes, dimana waktu proses mencapai menit. Sedangkan

kecepatan pada Blowfish lebih lambat, hal tersebut telah dibuktikan dengan

mengeksekusi file-file berukuran besar dimana waktu proses mencapai 9 menit.

2.3 Algoritma Pemrograman

Algoritma program terdiri dari tiga macam, yaitu pseudocode , flow chart

(diagram alur), State Transition Diagram (STD).

2.3.1 Pseudocode

Pseudo berarti imitasi atau mirip atau menyerupai dan kode menunjukkan dari

program, berarti pseudocode adalah kode yang mirip dengan kode-kode program

sebenarnya. Pseudocode menjelaskan juga tentang pemberian nilai awal dari suatu

variabel, membuka dan menutup file, subscript atau tipe-tipe data yang digunakan

(misalnya real, integer, boolean).

2.3.2 Diagram Alur (Flowchart)

Komputer membutuhkan hal-hal yang terperinci, alat yang banyak dipakai

untuk membuat algoritma adalah diagram alur atau flow chart. Diagram alur dapat

menunjukkan secara jelas arus pengendalian algoritma, yakni bagaimana rangkaian

pelaksanaan kegiatan. Suatu diagram alur memberikan gambaran dua dimensi

Page 47: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

47

berupa simbol-simbol grafis. Masing-masing simbol telah ditetapkan terlebih

dahulu fungsi dan artinya. Simbol-simbol tersebut dipakai untuk menunjukkan

berbagai kegiatan operasi dan jalur pengendalian. Diantara simbol-simbol yang

akan dipergunakan sebagai berikut :

Tabel 2.2 Simbol-Simbol Flowchart

2.3.3 State Transition Diagram (STD)

Page 48: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

48

State Transition Diagram merupakan suatu diagram yang menggambarkan

bagaimana state yang lain pada satu waktu. State Transition Diagram

menggambarkan suatu state yang mempunyai kondisi dimana dapat menyebabkan

perubahan satu state ke state yang lain (Hoffer, George, Valacich, 1996, hal. 364).

State Transition Diagram pada dasarnya merupakan sebuah diagram yang

terdiri dari state dan transisi atau perpindahan state, transisi atau perpindahan state

terdiri dari kondisi dan aksi. Transisi di antara kedua keadaan pada umumnya

disebabkan oleh suatu kondisi. Kondisi adalah suatu kejadian yang dapat diketahui

oleh sistem. Sedangkan aksi adalah tindakan yang dilakukan oleh sistem apabila

terjadi perubahan state atau merupakan reaksi dari sistem.

Gambar 2.10 Contoh Perubahan State

Adapun perubahan atau simbol yang digunakan dalam diagram ini adalah:

2.3.3.1 Modul

Menggunakan simbol lingkaran kecil (Gambar 2.6) yang mewakili modul

yang dipanggil apabila terjadi tindakan.

State 1

State 2

Page 49: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

49

Gambar 2.11 Notasi Modul

2.3.3.2 Tampilan Kondisi

Merupakan layer yang ditampilkan menurut keadaan atau atribut, untuk

memenuhi suatu tindakan pada waktu tertentu yang mewakili suatu bentuk

keberadaan atau kondisi tertentu, disimbolkan dengan gambar kotak

Gambar 2.12 Notasi Tampilan

2.3.3.3 Tindakan (State Transition)

Menggunakan simbol anak panah (Gambar 2.8) disertai keterangan tindakan

yang dilakukan.

Gambar 2.13 Notasi Tindakan

Page 50: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

50

2.4 Model Perangkat Lunak

Untuk menyelesaikan masalah yang ada dalam sebuah perancangan perangkat lunak

diperlukan model-model proses atau paradigma rekayasa perangkat lunak berdasarkan

sifat aplikasi dan proyeknya, metode dan alat bantu yang dipakai, dan kontrol serta

penyampaian yang dibutuhkan. Roger Pressman Menyebutkan ada beberapa model dari

proses perangkat lunak, di antaranya:

2.4.1 Model Prototype

Prototyping Paradigma dimulai dengan pengumpulan kebutuhan.

Pengembang dan pelanggan bertemu dan mendefinisikan obyektif keseluruhan dari

perangkat lunak, mendefinisikan segala kebutuhan yang diketahui, dan area garis

besar dimana definisi lebih jauh merupakan keharusan kemudian dilakukan

‖perancangan kilat‖. Perancangan kilat berfokus pada penyajian dari aspek-aspek

perangkat lunak tersebut yang akan nampak bagi pelanggan/pemakai (contohnya

pendekatan input dan format output). Prototype tersebut dievaluasi oleh

pelanggan/pemakai dan dipakai untuk menyaring kebutuhan pengembangan

perangkat lunak.

2.4.2 Model Sekuensial Linear

Model sekuensial linear mengusulkan sebuah pendekatan kepada

perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada

tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan

pemeliharaan.

2.4.3 Model RAD (Rapid Application Development)

Page 51: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

51

Rapid Application Development (RAD) adalah sebuah model proses

perkembangan perangkat lunak sekuensial linear yang menekankan siklus

perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi

‖kecepatan tinggi‖ dari model sekuensial linear dimana perkembangan cepat

dicapai dengan menggunakan model pendekatan konstruksi berbasis komponen.

Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim

pengembangan menciptakan ‖sistem fungsional yang utuh‖ dalam waktu periode

yang sangat pendek karena dipakai terutama pada aplikasi sisten konstruksi

(Sumber Kendall&Kendall, 2006: 238).

Yang termasuk kedalam tahapan metode RAD yaitu:

1. Fase Menentukan Tujuan dan Syarat-Syarat Informasi

Pada tahap ini akan dilakukan Studi Feasibilitas, kelengkapan data yang

digunakan, dan terakhir kelengkapan hardware dan software yang

digunakan.

2. Fase Perancangan

Pada tahap ini perancangan Flow chart, perancangan antar muka, serta

dilakukan pengkodean.

3. Fase Konstruksi

Pada tahapan ini dilakukan instalasi, pengembangan aplikasi yang telah

dibuat menggunakan Delphi 7 untuk membuat dan menjalankan program

dalam laptop

4. Pengujian (Testing)

Melakukan pengujian program aplikasi dan pengkajian.

Page 52: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

52

2.5 Pengenalan Bahasa Pemrograman Delphi Versi 7

Delphi adalah suatu bahasa pemograman (development language) yang

digunakan untuk merancang suatu aplikasi program.

2.5.1 Kegunaan Delphi

1. Untuk membuat aplikasi windows

2. Untuk merancang aplikasi program berbasis grafis

3. Untuk membuat program berbasis jaringan (client/server)

4. Untuk merancang program .Net (berbasis internet)

2.5.2 Keunggulan Delphi

1. IDE (Integrated Development Environment)

Lingkkungan pengembangan aplikasi sendiri adalah satu dari beberapa

keunggulan Delphi, didalamnya terdapat menu–menu yang memudahkan

kita untuk membuat suatu proyek program.

2. Proses kompilasi cepat, pada saat aplikasi yang kita buat dijalankan pada

Delphi, maka secara otomatis akan dibaca sebagai sebuah program, tanpa

dijalankan terpisah.

3. Mudah digunakan, source code Delphi yang merupakan turunan dari

pascal, sehingga tidak diperlukan penyesuaian lagi.

4. Bersifat multi purhase, artinya bahasa pemrograman Delphi dapat untuk

mengembangkan berbagai keperluan pengembangan aplikasi.

2.5.3 Pemrograman GUI (Graphic User Interface)

Page 53: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

53

Pada bagian ini penulis akan memberikan contoh pemrograman GUI

(graphic User Interface) pada enkripsi dan dekripsi. Graphic User Interface (GUI)

dalam aplikasinya dapat terdiri atas beberapa komponen user interface yang saling

berinteraksi, sehinga membentuk sebuah program aplikasi. Setelah membuka New

Project Delphi 7, langkah selanjutnya adalah mendesain Project dengan

menggunakan komponen palet seperti label, text box, command button, frame, radio

button, IDTCPClient, dan sebagainya. Untuk membuat GUI baru klik File -> New

Project-> Application.exe, sehingga muncul tampilan sebagai berikut :

Gambar 2.14 Tampilan Project Baru

Setelah itu mengatur tata letak masing-masing komponen, baik

string(caption), tag(name), font, color dengan menggunakan properties.

Page 54: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

54

Gambar 2.15 Contoh Tampilan Aplikasi GUI pada Delphi 7

Berikut ini adalah contoh program GUI dengan Delphi pada enkripsi dan

dekripsi.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls,shellapi;

type

TForm1 = class(TForm)

Button1: TButton;

Memo1: TMemo;

Memo2: TMemo;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

Page 55: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

55

var

Form1: TForm1;

procedure TForm1.Button1Click(Sender: TObject);

var text1 : string;

pos : integer;

begin

text1 := memo1.text;

for pos := 1 to length(text1) do

text1[pos] := chr(((ord(text1[pos])* 2)div 1)+ 2);

memo2.text := text1;

end;

procedure TForm1.Button2Click(Sender: TObject);

var text1 : string;

pos : integer;

begin

text1 := memo2.text;

for pos := 1 to length(text1) do

text1[pos] := chr((ord(text1[pos])- 2)div 2);

memo1.text := text1;

end;

2.5.4 OOP (Object Oriented Programming)

OOP adalah metode pemorgraman dengan membentuk sebuah aplikasi yang

mendekati keadaan dunia yang sebenarnya. Hal itu bias dilakukan dengan cara

mendesain object untuk menyelesaikan masalah.

2.5.4.1 Tiga Unsur OOP

1. Encapsulation atau Pemodelan

Encapsulation adalah konsep data dengan operator. Dalam

konsep pemodelan data dan operasi menjadi satu kesatuan yang

disebut object. Encapsulation juga disebut dengan

penyembunyian informasi.

Page 56: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

56

Contoh, ketika kita menyalakan sebuah tv kita tidak tahu apa

yang terjadi dengan proses dan percakapan antar alat yang

berhubungan dengan tv tersebut sehingga mamu menghasilkan

sebuah gambar.

2. Inheritance atau penurunan

Inheritance adalah sebuah object yang dapat diturunkan

menjadi object yang baru dengan tidak menghilangkan sifat asli

dari object tersebut.

Contoh, tv merupakan salah satu media elektronik yang

digunakan untuk menampilkan gambar dengan tujuan

memberikan informasi kepada konsumen. Secara umum tv

memunyai cara kerja yang sama dengan media elektronik yang

lain dalam proses penyampaian informasi, tetapi mempunyai

inforamsi yang unik yang dapat membedakan elektronik yang

ada.

3. Polymorphism atau Polimorfisme

Polymorphishm merupakan penggunaan berbagai macam object

yang berbeda tetapi secara fungsi bergantung pada satu object

sebagai induk, dengan cara pelaksanaan yang berbeda-beda.

Contoh, tv dan radio adalah media elektronik yang mempunyai

sistem yang sama tentang bagaimana menyebarkan suatu

informasi, tetapi cara kerja dari masing-masing sistem pasti

berbeda.

Page 57: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

57

2.5.4.2 Delphi dan OOP (Object Oriented Programming)

Secara default kita merancang suatu aplikasi program, mau tidak

mau dan tanpa kita sadaribahwa kita telah menerapkan OOP, walauun secara

teori kita kurangn memahami OOP dalam arti sebenarnya.

Contoh sederhananya adalah ketika kita merancang suatu form

(Tform1) baru, sadar atau tidak sebenarnya form yang kita aktifkan

merupakan turunan dari Tform sebagai induknya atau kita mengaktifkan button

pada form merupakan turunan dari button. Atau dalam bahasa program adalah

sebagai berikut, ketika merancang suatu label di form secara otomatis Delphi

akan menuliskan label tersebut dalam jendela code editor tentang turunan dari

label tersebut.

2.5.5 Instalasi Delphi

Penulis akan menjabarkan langkah−langkah dalam melakukan instalasi delphi

7, ada 14 tahapan dalam melakukan instalasi ada Delphi 7 yaitu sebagai berikut :

Klik start

Klik My Computer

Klik setup.exe

Page 58: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

58

Gambar 2.16 Autorun Delphi 7 pada saat akan instalasi

Gambar 2.17 Pemeriksaan terhadap Sistem Operasi

Pada umumnya setiap akan melakukan instalasi terlebih dahulu akan melakukan

pemeriksaan terhadap sistem operasi

Page 59: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

59

Gambar 2.18 Memasukkan 14 serial number

Gambar 2.19 Statement untuk license agreement

Page 60: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

60

Gambar 2.20 Pemilihan terhadap tipe instalasi

Gambar 2.21 Penggunaan terhadap VisiBroker

Page 61: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

61

Gambar 2.22 Pemilihan terhadap sistem operasi yang digunakan

Gambar 2.23 Penempatan folder instalasi

Page 62: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

62

Gambar 2.24 Proses instalasi sedang dilakukan

Gambar 2.25 Copy file untuk proses instalasi

Page 63: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

63

Gambar 2.26 Backup file yang diperlukan untuk proses instalasi

Gambar 2.27 Proses instalasi VisiBroker

Page 64: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

64

Gambar 2.28 Proses instalasi component VisiBroker

Gambar 2.29 Proses instalasi VisiBroker sedang berlangsung

Page 65: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

65

Gambar 2.30 Tampilan awal Delphi 7 setelah instalasi selesai

2.6 Client Server

2.6.1 User

User disini adalah end user yang mengakses client untuk

mendapatkan sebuah layanan. End user bisa saja seorang manager

perusahaan, professional, karyawan di sebuah perusahaan, atau

pelanggan. Ada timbul sedikit kerancuan. Pelanggan dalam sebuah bisnis

atau perdagangan disebut dengan client , tapi client ini adalah manusia,

jangan dibingungkan dengan istilah client pada pemrosesan komputer.

Dapat kita katakan sebuah user atau end user adalah ketika melakukan

proses akhir menggunakan sistem client server.

2.6.2 Client

Page 66: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

66

Client dapat berupa sebuah pemproses yang powerful atau dapat juga

berupa terminal tua dengan kemampuan proses yang terbatas. Secara

mendasar client adalah sebuah PC dengan sistem operasinya sendiri. Sebagian

besar pemrosesan banyak dilakukan di sebuah server dimana bagian-bagian

dalam lingkup pekerjaannya ditentukan oleh program komputer, inilah yang

menyebabkan sistem client server berbeda dengan sistem transaksi tradisional.

Sistem client server memungkinkan sebuah teknologi dan aplikasinya

digunakan bersamaan.

2.6.3 Server

Konektivitas adalah hal yang terpenting namun bukan satu-satunya

faktor untuk mendapatkan efisiensi dan efektivitas sharing resource yang

dimiliki. Dibutuhkan sebuah perangkat yang memiliki kemampuan mengontrol

software, menjalankan program applikasi, dan mengakses database dengan

mudah dan cepat. Untuk itulah diperlukan sebuah Server. Sebuah Server harus

mendukung spesifikasi yang mendukung resource sharing seperti Network

Server Operating System, Multiple User Interface, GUI ( Graphic User

Interface ), dialog oriented cleint – server languange seperti SQL dan

database arsitektur. Saat ini resource bisa tersebar secara spasial tidak hanya

berada dalam batasan sebuah negara namun sudah antar negara yang

membutuhkan interkoneksi yang tinggi.

2.6.4 Pengertian Clilent Server

Page 67: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

67

Client-Server adalah arsitektur jaringan yang memisahkan

client(biasanya aplikasi yang menggunakan GUI ) dengan server. Masing-

masing client dapat meminta data atau informasi dari server.

Sistem client server didefinisikan sebagai sistem terdistribusi, tetapi ada

beberapa perbedaan karakteristik yaitu :

1. Servis (layanan)

Hubungan antara proses yang berjalan pada mesin yang berbeda.

Pemisahan fungsi berdasarkan ide layanannya. Server sebagai provider,

client sebagai konsumen.

2. Sharing resources (sumber daya)

Server bisa melayani beberapa client pada waktu yang sama, dan

meregulasi akses bersama untuk share sumber daya dalam menjamin

konsistensinya.

3. Asymmetrical protocol (protokol yang tidak simetris )

Many-to-one relationship antara client dan server. Client selalu

menginisiasikan dialog melalui layanan permintaan, dan server

menunggu secara pasif request dari client.

4. Transparansi lokasi

Proses yang dilakukan server boleh terletak pada mesin yang sama

atau pada mesin yang berbeda melalui jaringan.Lokasi server harus

mudah diakses dari client.

5. Mix-and-Match

Perbedaan server client platforms.

Page 68: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

68

6. Pesan berbasiskan komunikasi

Interaksi server dan client melalui pengiriman pesan yang

menyertakan permintaan dan jawaban.

7. Pemisahan interface dan implementasi

Server bisa diupgrade tanpa mempengaruhi client selama interface

pesan yang diterbitkan tidak berubah.

Client Server System.

Gambar 2.31 Konsep Client Server

2.6.5 Perbedaan Tipe Client Server

1. File Servers

File server vendors mengklaim bahwa mereka pertama

menemukan istilah client-server. Untuk sharing file melalui jaringan.

2. Database Servers

Page 69: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

69

Client mengirimkan SQL requests sebagai pesan pada database

server, selanjutnya hasil perintah SQL dikembalikan.

Server menggunakan kekuatan proses yang diinginkan untuk

menemukan data yang diminta dan kemudian semua record

dikembalikan pada client.

3. Transaction Servers (Transaksi Server)

Client meminta remote procedures yang terletak pada server

dengan sebuah SQL database engine. Remote procedures ini

mengeksekusi sebuah grup dari SQL statement Hanya satu permintaan

/ jawaban yang dibutuhkan untuk melakukan transaksi.

4. Groupsware Servers

Dikenal sebagai Computer-supported cooperative working

Manajemen semi-struktur informasi seperti teks, image, bulletin

boards dan aliran kerja Data diatur sebagai dokumen.

5. Object Application Servers

Aplikasi client/server ditulis sebagai satu set objek komunikasi

Client objects berkomunikasi dengan server objects melalui Object

Request Broker (ORB) Client meminta sebuah method pada remote

object.

6. Web Application Servers (Aplikasi Web Servers)

Page 70: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

70

World Wide Web adalah aplikasi client server yang pertama yang

digunakan untuk web. Client dan servers berkomunikasi menggunakan

RPC seperti protokol yang disebut HTTP.

2.6.6 Kombinasi Client Server

1. Fixed / Kabel

Server dijaringan tipe client-server disebut dengan Dedicated

Server karena murni berperan sebagai server yang menyediakan

fasilitas kepada workstation dan server tersebut tidak dapat berperan

sebagai workstation.

Keunggulan

a. Kecepatan akses lebih tinggi karena penyediaan fasilitas

jaringan dan pengelolaannya dilakukan secara khusus oleh satu

komputer (server) yang tidak dibebani dengan tugas lain sebagai

workstation.

b. Sistem keamanan dan administrasi jaringan lebih baik, karena

terdapat seorang pemakai yang bertugas sebagai administrator

jaringan, yang mengelola administrasi dan sistem keamanan

jaringan.

c. Sistem backup data lebih baik, karena pada jaringan client-

server backup dilakukan terpusat di server, yang akan membackup

seluruh data yang digunakan di dalam jaringan.

Kelemahan

Page 71: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

71

a. Biaya operasional relatif lebih mahal.

b. Diperlukan adanya satu komputer khusus yang berkemampuan

lebih untuk ditugaskan

c. sebagai server.

d. Kelangsungan jaringan sangat tergantung pada server

e. secara keseluruhan jaringan akan terganggu.

Urutan kabel Straight:

Putih Hijau

Hijau

Putih Biru

Orange

Putih Cokelat

Cokelat

Urutan kabel Cross:

Putih Orange

Orange

Putih Hijau

Putih Coklat

Coklat

Hijau

Biru

Putih Biru

2. Wireless

Local Area Network (LAN), merupakan jaringan milik pribadi di dalam

satu ruangan, sebuah gedung atau kampus. LAN sering kali digunakan untuk

menghubungkan komputer-komputer pribadi dan workstation dalam kantor

suatu perusahaan atau pabrik-pabrik untuk memakai bersama sumber daya

(resource, misalnya printer) dan saling bertukar informasi.

2.6.7 Studi Literatur (Abstrak)

Page 72: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

72

1. Sarlika Muliati

Aspek keamanan data telah menjadi aspek yang sangat penting

dari suatu sistem informasi. Kepedulian pegawai Kandepag Kota Jakarta

Timur terhadap data-data kantor dan kurangnya informasi mengenai

keamanan data, membuat mereka menginginkan sebuah sebuah aplikasi

yang mudah untuk digunakan dan dapat membantu mereka dalam

mengamankan data-data penting, seperti data kepegawaian, data umum,

data keuangan dan data internal kantor lainnya. Salah satu cara menjaga

keamanan dan kerahasiaan data tersebut yaitu dengan digunakannya

algoritma kriptografi untuk melakukan penyandian data. Kriptografi

adalah ilmu yang mempelajari bagaimana supaya pesan atau dokumen

kita aman, tidak bisa dibaca oleh pihak yang tidak berhak, sehingga

tidak menimbulkan banyak kerugian.

Dalam pembuatan aplikasi kemanan data ini, penulis menggunakan

algoritma simetris yaitu DES ( Data Encryption Standard) dan asimetris

RSA (Rivest Shamir Adleman). Dengan menggabungkan dua algoritma

yang berbeda ini dapat menghasilkan sebuah aplikasi keamanan data

yang cukup aman dan mudah digunakan. Penulis menggunakan Visual

Basic 6.0 Enterprise Editon sebagai bahasa pemrograman, Adobe

Photoshop 7.0 , Macromedia Firewoks MX, dan Dreamweaver MX

untuk mendesain backgorund aplikasi serta HTML Help Workshop

Instal Versi 4.74.8703 untuk membuat menu bantuan aplikasi dan

Clickteam Install Creator versi 2.0.0.29 untuk membuat instalasi

Page 73: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

73

program MeinCrypt. Metode penelitian yang penulis gunakan terdiri dari

observasi, wawancara, dan metode literatur. Sedangkan metode

pengembangan sistem yang penulis gunakan ialah metode Sekuensial

Linier.

2. Prilia Lestari

Perkembangan dunia teknologi informasi saat ini telah menjadikan

informasi sebagai kebutuhan pokok bagi setiap orang terutama bagi

sebuah instansi. Salah satu solusi pengamanan informasi yang

digunakan adalah teknik pengamanan data menggunakan metode

Kriptografi. Kriptografi adalah ilmu yang mempelajari bagian supaya

pesan atau dokumen kita aman, tidak dapat dibaca oleh pihak yang tidak

berhak. Aplikasi digital envelope merupakan aplikasi kriptografi yang

menggabungkan dua metode algoritma simetris dan algoritma asimetris.

Pada aplikasi ini algoritma yang digunakan adalah algoritma simetris

Blowfish dan asimetris RSA (Rivest Shamir Adleman). Aplikasi digital

envelope ini dapat dijadikan sebagai salah satu cara untuk mengamankan

data. Aplikasi ini menggunakan bahasa pemrograman PHP dalam

pembuatannya. Untuk pengembangan aplikasi penulis menggunakan

metode RAD (Rapid Application Development). Hasil Akhir berupa

aplikasi multifile yang berbasis web, tanpa ada proses installer, dan

dapat dilakukan pada multifile secara bersamaan (multifile dibatasi

sebanyak 5 file).

Page 74: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

74

3. Alfie Amanilla Aziz

Tanda tangan digital (digital signature) adalah suatu mekanisme

otentifikasi yang memungkinkan pembuat pesan menambahkan sebuah

kode yang bertindak sebagai tanda tangannya. Tanda tangan digital

memungkinkan penerima informasi untuk menguji terlebih dahulu

keaslian informasi yang

didapat dan juga untuk meyakinkan bahwa data yang diterimanya itu

dalam keadaan utuh. Skema (schema) yang dapat digunakan untuk

melakukan proses tanda tangan digital terhadap suatu pesan (message)

juga ada bermacam-macam. Salah satu skemanya adalah skema Ong

Schnorr-Shamir. Skema Ong Schnorr Shamir merupakan skema tanda

tangan digital yang berdasarkan pada persamaan linier sekuensial

(sequensially linearized equiations). Skema tanda tangan digital ini

menggunakan polynomial modulo n. Keamanan dari skema ini

didasarkan pada kesulitan untuk memecahkan persamaan polinomial.

Versi dari skema yang dideskripsikan pada pembahasan kali ini adalah

berdasarkan polinomial kuadratik. Pada skema Ong Schnorr Shamir

menggunakan algoritma Euclidean. Algoritma ini digunakan untuk

mencari GCD dari 2 buah bilangan. Perhitungan dalam metode tanda

tangan digital Ong Schnorr Shamir akan menghasilkan decimal dalam

jumlah yang besar. Karenanya, bilangan-bilangan perlu dibatasi jumlah

desimalnya atau dibulatkan. Penulis menggunakan metode RAD yang

memiliki beberapa tahap fase, fase menentukan syarat-syarat, fase

Page 75: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

75

perancangan, fase konstruksi dan fase pelaksanaan sebagai

pengembangan sistemnya serta software Microsoft Visual Basic 6.0

untuk perancangan program dan antar mukanya. Perangkat lunak

menjelaskan proses kerja dari skema Ong Schnorr Shamir. Skema Ong

Schnorr Shamir digunakan untuk menjaga keaslian data dan keutuhan

data. Hasil penelitian menunjukkan dari 5 kali percobaan, penulis

memperoleh keakuratan dalam persentase keberhasilan sebesar 100%

dalam proses verifikasi.

Page 76: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

76

BAB III

METODOLOGI PENELITIAN

Seperti yang telah dibahas pada bab I, dalam pembuatan aplikasi Implementasi

Algoritma RSA dan Blowfish Untuk Enkripsi dan Dekripsi Data Menggunakan Delphi 7,

ada beberapa metode yang digunakan diantaranya :

3.1 Metode Pengumpulan Data

Dalam rangka menyusun skripsi ini, diperlukan data-data informasi yang relatif

lengkap sebagai bahan yang dapat mendukung kebenaran materi uraian

pembahasan. Oleh karena itu dilakukan pengumpulan data untuk mendapatkan

informasi atau bahasa materi yang diperlukan. Adapun metode pengumpulan data-

data dan informasi yang diperlukan adalah sebagai berikut :

3.1.1 Studi Pustaka

Metode pustaka, yaitu pengumpulan data dan informasi dengan cara

membaca buku-buku referensi, e-book dan web site. Dokumen-dokumen yang

termasuk didalamnya yaitu penelitian-penelitian terdahulu, buku, artikel dan

jurnal yang berkaitan dengan objek penelitian.

3.1.2 Studi Literatur

Melakukan studi perbandingan dan analisis antara aplikasi yang pernah

dibuat oleh seseorang dengan aplikasi yang penulis buat. Termasuk kelebihan dan

kekurangan aplikasi yang telah di buat.

Page 77: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

77

Studi Literatur

Nama Judul Skripsi Kesimpulan

1. Sarlika Muliati

(Universitas Islam Negeri

Syarif Hidayatullah

Jakarta: 2008)

2. Prilia Lestari

(Univeristas Islam Negeri

Syarif Hidayatullah

Jakarta: 2008)

Implementasi

kriptografi

dengan

menggunakan

Metode DES dan

Kunci Publik

RSA untuk

keamanan data

pada kandepag

kota jakarta timur

Implementasi

digital envelope

dengan

menggunakan

metode Blowfish

dan RSA di

PPPTMGB

(Pusat Penelitian

dan

Pengembangan

Teknologi

1. Kriptografi dengan

menggunakan

kombinasi cipher

simetris dan asimetris

melalui metode DES

dan RSA dapat

memberikan

pengamanan ganda

terhadap kerahasiaan

data dan informasi

penting.

2. penggabungan dua

algoritma kriptografi

menyebabkan proses

enkripsi menjadi

panjang karena proses

enkripsi dilakukan

berulang-ulang

sebanyak metode

algoritma yang

digunakan

3. Ukuran file yang

dienkrip

yaitu,Komp3.jgp(31kb),

asal.xls(61kb),Daftar

Isi.pdf(70kb), UTS TKI

Sarlika7B.zip(73kb),

Konseptual

Broadcasting.ppt(150kb

), DES.rar(409kb),

08.mp3(1.234kb)

1. Menggunakan Algoritma

Blowfish dan RSA

2. Aplikasi yang dibuat

berbasis web.

3. Ukuran file yang besar

akan mempengaruhi lama

proses enkripsi dan dekripsi.

4. Ukuran file yang dienkrip

yaitu, Data PC.enc(518kb),

GD Geofisika.enc(838kb),

Lemigas.enc(754kb), Logo

Page 78: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

78

3. Achmad Nursoleh

(Universitas Islam Negeri

Syarif Hidayatullah

Jakarta: 2010)

4.Prima Even Ramadhan

(Universitas Islam Negeri

Syarif Hidayatullah

Jakarta:2009)

Minyak dan Gas

Bumi

Aplikasi Email

dengan

kriptografi DES,

RSA, dan MD5

menggunakan

bahasa

pemograman java

Evaluasi Kinerja

Algoritma

Lemvel-Ziv Store

Szymanski

terhadap data

teks dan gambar

enc.enc(76kb), Sejarah

lemigas(721kb)

1. Penerapan kriptografi

2. menggunakan algoritma

DES, RSA, dan MD5

untuk menjaga keamanan

data email dan tidak

mudah dibaca oleh

pihak-pihak lain yang

tidak berkepentingan

3. Kriptografi dengan

menggunakan kombinasi

algoritma kunci simetris

dan asimetris (kriptografi

hibrida) melalui metode

DES, RSA dan MD5

dapat memberikan

pengamanan ganda

terhadap kerahasiaan

email

4. Membuktikan bahwa

email yang dikirim

benar-benar dari

pengirim yang sah

1. Program Implementasi

yang digunakan

memiliki tingkat

kompresi maksimal

sebesar 12 %, baik

ketika melakukan

kompresi terhadap file

teks maupun file

gambar. Untuk kasus file

teks, hasil kompresi

maksimal tersebut

diperoleh ketika file teks

tersebut terdiri dari yang

karakter yang sama

dengan jumlah minimal

1017 karakter.sedangkan

untuk kasus file gambar,

Page 79: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

79

hasil maksimal tersebut

diperoleh untuk file

gambar dengan warna

monotone yang memiliki

ukuran minimal 4500

bytes.

2. Untuk kasus file teks (

khususnya microsoft

word ), algoritma LZSS

akan memberikan hasil

kompresi yang cukup

baik apabila file teks

sebagian besar berisi

teks. Adanya gambar

akan memperburuk

kinerja pengkompresian

algoritma LZSS

terhadap file tersebut

dikerenakan dalam satu

program word

processing, file-file

gambar biasanya

disimpan dalam bentuk

yang sudah di kompresi

sehingga menyulitkan

algoritma LZSS untuk

melakukan kompresi

3. Untuk kasus file

gambar, hasil optimal

akan di peroleh ketika

gambar dan file tersebut

banyak memiliki piksel

dengan warna yang

sama

4. Kinerja algoritma LZSS

secara umum cukup baik

ketika dibandingkan

dengan proses pack dan

compress. Hal ini di

tunjukkan dengan lebih

baiknya rasio kompresi

LZSS ketika digunakan

untuk kompresi terhadap

Centerburry Corpus dan

file teks ACT

Page 80: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

80

Tabel

3.1

Studi

Literatu

r

B

er

da

sa

rk

an

st

ud

i

lit

er

at

ur

di

at

as belum ada aplikasi kriptografi yang melakukan proses enkripsi dan dekripsi pada

file yang berukuran lebih besar(> 370 MB). Penulis juga melakukan analisa

terhadap aplikasi yang lain, hasilnya beberapa aplikasi masih berbasis standalone.

Hal ini mempunyai kelemahan karena aplikasi tersebut hanya dapat diterapkan

hanya pada sebuah PC (sebagai server saja), sedangkan aplikasi yang penulis buat

sudah berbasis client server sehingga aplikasi ini memungkinkan dapat diterapkan

pada banyak PC.

3.2 Metode Pengembangan Sistem

Pengembangan system yang penulis lakukan menggunakan empat tahap siklus

pengembangan model Rapid Application Development (RAD), yaitu fase perencanaan

5. Alfie Aziz

(Universitas Islam Negeri

Syarif Hidayatullah

Jakarta:2009)

Impelementasi

Tanda Tangan

Digital

Menggunakan

Metode Ong

Schnorr Shamir

dan Euclidean

Pada Teks

dibandingkan dengan

kedua program kompresi

tersebut

1. Perangkat lunak

menjelaskan secara bertahap

proses kerja Ong Schnorr

Shamir Digital Signatur,

sehingga dapat membantu

pemahaman terhadap skema.

2. Skema Ong Schnorr

Shamir Digital Signature

dapat digunakan untuk

menjaga keaslian data

(authentication) dan

keutuhan data (data

integrity).3. Berdasarkan

hasil ujicoba aplikasi,

diperoleh persentasi

keberhasilan sebesar 100%

3. Ukuran file yang dienkrip

yaitu, Rilanda XI

IPS.doc(1.38Mb),

1_41916185.jpg(6.95kb),

editnia copy.jpg(3.17Mb),

Surat

Pernyataan.jpg(181.5kb),

Surat

Pernyataan.txt(756byte)

Page 81: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

81

syarat dan tujuan informasi, fase perancangan, fase konstruksi, dan fase pelaksanaan.

Model RAD penulis gunakan karena melihat dari aplikasi yang dikembangkan oleh

penulis merupakan yang sederhana dan tidak membutuhkan waktu yang lama, metode

RAD adalah metode yang diperuntukan untuk jangka pendek sesuai dengan aplikasi yang

akan dibuat.

Model pengembangan yang dibuat oleh James Martin meliputi fase-fase sebagai

berikut (Kendall&Kendall, 2006 : 238)

Adapun penjelasan dari fase-fase pengembangan aplikasi ini sesuai dengan gambar

3.1 adalah sebagai berikut :

1. Fase Menentukan Tujuan dan Syarat-Syarat Informasi

Pada tahap ini dilakukan beberapa tahapan antara lain :

1.1 Analisis Tujuan Informasi

Menjelaskan tujuan pembuatan aplikasi, sehingga para pembaca mengerti

fokus penulisan.

1.2 Studi kelayakan

Menjelaskan tentang manfaat dari pembuatan aplikasi

1.3 Kelengkapan hardware yang digunakan

Menjelaskan hardware apa saja yang harus dipersiapkan untuk membuat

aplikasi kriptografi

1.4 Kelengkapan Software yang digunakan

Menjelaskan software apa saja yang dipersiapkan untuk memakai aplikasi

kriptografi.

2. Fase Perancangan

Pada tahap ini dilakukan beberapa tahapan antara lain :

a) Pembuatan Flowchart Diagram

Agar lebih memudahkan dalam pembuatan program, maka penulis membuat

diagram Flowchart yang akan menggambarkan alur program secara umum.

Flowchart yang dibuat terdiri dari flowchart alur enkripsi dan dekripsi,

flowchart algoritma RSA, flowchart algoritma Blowfish

b) Penjelasan Antar Muka

Page 82: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

82

Antar muka pemakai memberikan fasilitas komunikasi antar pemakai dan

sistem, memberikan berbagai fasilitas informasi dan berbagai keterangan yang

bertujuan untuk membantu mengarahkan alur penulisan masalah sampai

ditemukan solusi.

3. Fase Konstruksi

Pada tahap ini dilakukan beberapa tahapan antara lain :

a) Instalasi Program Pendukung

Instalasi terhadap Borland Delphi 7 telah dilakukan pada bab 2 sub 2.5.5,

pada tahapan ini dilakukan instalasi terhadap komponen pendukung yaitu

Suipack.

b) Menjalankan Program Aplikasi

Melakukan pengecekan terhadap program tambahan yang telah diinstall

dengan tujuan agar aplikasi yang telah dibuat dapat berjalan dengan baik.

4. Fase Pelaksanaan

Pada fase ini dilakukan beberapa tahapan, antara lain :

a) Spesifikasi Software Yang Digunakan

Menjelaskan spesifikasi minimal yang harus dimiliki oleh laptop yang akan

menerapkan aplikasi ini.

b) Pengujian Aplikasi

Menjelaskan proses pengujian aplikasi yang bertujuan untuk melihat sejauh

mana aplikasi ini dapat berjalan. Pada tahap pengujian aplikasi ini dilakukan

dua tahap pengujian, yaitu :

1) Pengujian dengan cara Blackbox Mandiri, yaitu dengan melakukan

pengujian langsung program pada software yaitu Delphi 7 guna

mendapatkan validitas aplikasi ini.

2) Respon oleh user (pengguna) tentang aplikasi, berupa angket yang

berisi pernyataan yang meminta tanggapan user setelah menggunakan

aplikasi ini yang diberikan kepada 20 ( dua puluh) user yang diambil dari

teman-teman kampus dan lingkungan rumah penulis. Angket ini bertujuan

untuk mendapatkan tingkat validitas apabila digunakan langsung oleh

Page 83: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

83

pengguna. Angket berupa pertanyaan yang berhubungan dengan aplikasi

form dan hasil angket dapat dilihat secara lengkap pada lampiran.

c) Analisis hasil pengujian

Analisis hasil pengujian untuk mengetahui apakah aplikasi yang

dibangun dapat berjalan dengan baik pada PC/laptop yang memenuhi kriteria

spesifikasi minimum perangkat lunak serta memenuhi syarat-syarat

pembuatan aplikasi Implementasi Algoritma RSA dan Blowfish Untuk

Enkripsi dan Dekripsi Data pada Menggunakan Delphi 7. Pada tahap analisis

hasil pengujian aplikasi ini, merupakan hasil dari tahap pengujian aplikasi

yang juga dilakukan dengan dua tahap yaitu :

1) Analisis hasil pengujian dengan cara Blackbox Mandiri, yaitu

menganalisis hasil pengujian yang telah didapatkan melalui pengujian

langsung terhadap laptop/PC.

2) Analisis hasil respon user berupa angket yang diberikan kepada

penggguna yang menghasilkan penilaian terhadap aplikasi yang

dibangun dengan nilai persentase tingkat kepuasan terhapad aplikasi

3.3 Siklus Penerapan RAD untuk Membuat Aplikasi Implementasi Algoritma

RSA Dan Blowfish Untuk Enkripsi Dan Dekripsi Data Menggunakan Delphi 7.

Pada Gambar 3.1 diberikan siklus RAD yang diimplementasikan untuk

membuat sebuah perangkat lunak enkripsi dan dekripsi data.

Page 84: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

84

Gambar 3.1 Siklus RAD untuk Membuat Aplikasi Implementasi Algoritma RSA dan

Blowfish Untuk Enkripsi dan Dekripsi Data

1. Fase Perencanaan Syarat-syarat

1.1 Analisis Tujuan Informasi

1.2 Studi kelayakan

1.3 Kelengkapan Hardware yang digunakan

1.4 Kelengkapan Software yang digunakan

1.5 Mendefinisikan Masalah

2. Fase Perancangan

2.1 Flow chart Diagram

2.2 Perancangan Antar Muka

2.3 Perancangan Algoritma Program

Kriptografi

3. Fase Konstruksi

3.1 Instalasi Program Pendukung

3.2 Menjalankan Program Aplikasi

4. Fase Pelaksanaan

4.1 Spesifikasi Laptop/PC yang digunakan

4.2 Pengujian Aplikasi

4.2.1 Pengujian Black Box Mandiri

4.2.2 Respon oleh User Tentang Aplikasi

4.3 Analisis Hasil Pengujian

4.3.1 Analisis Hasil Pengujian Black Box

Mandiri

4.3.2 Analisis Hasil Respon oleh User

Page 85: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

85

BAB IV

ANALISA DAN PEMBAHASAN

Setelah membahas tentang teori-teori dan konsep-konsep yang dipakai serta

metodologi yang digunakan ada bab sebelumnya, maka pada bab ini seperti yang yang

telah ditulis pada bab satu, penulis akan membahas tentang Implementasi Algoritma RSA

dan Blowfish Untuk Enkripsi dan Dekripsi Data Menggunakan Delphi 7.

Untuk pengembangan sistem, penulis menggunakan metode RAD (Rapid

Application Development) yang terdiri atas fase menentukan tujuan dan syarat-syarat

informasi, fase perancangan, fase konstruksi dan fase pelaksanaan sesuai dengan fase-

fase pengembangan Aplikasi Implementasi Algoritma RSA dan Blowfish Untuk Enkripsi

dan Dekripsi Data Menggunakan Delphi 7. Bagaimana mengimplementasikan suatu

algoritma dan tools apa yang paling mendukung implementasi tersebut, merupakan dua

hal yang cukup penting dan mendasar untuk mempelajari suatu metode.

4.1 Fase Menentukan Tujuan dan Syarat-Syarat Informasi

4.1.1 Tujuan Informasi

Ada tiga tujuan dikembangkannya aplikasi ini seperti yang penulis uraikan

dalam BAB I, tujuan tersebut antara lain :

1. Dimana aplikasi ini ditujukan untuk mengimplementasikan

algoritma RSA dan Blowfish sehingga dapat mengetahui proses

kerja dari kedua algoritma tersebut.

2. Menghasilkan sebuah aplikasi untuk pemrograman berikutnya.

3. Menghasilkan sebuah aplikasi yang bersifat open source dalam

pengertian aplikasi ini terbuka bagi siapa saja yang ingin

mengembangkan lebih jauh fungsi atau fitur aplikasi ini

dikarenakan source code aplikasi ini akan penulis berikan atau

lampirkan dan penulis izinkan untuk dikembangkan.

Page 86: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

86

4.1.2 Studi Kelayakan

Ada 2 studi kelayakan yang akan dijabarkan pada bagian ini yaitu,

feasibilitas ekonomi dan feasibilitas teknis, penjelasan dari kedua studi tersebut

adalah sebagai berikut :

1. Feasibilitas Ekonomi

Secara ekonomi aplikasi ini layak dikembangkan karena aplikasi

yang dilakukan bersifat gratis, hanya download dari situs resminya

www.borlanddelphi.com, www.mysql.com, www.xampp.com, Secara

sosial aplikasi dapat membantu untuk mencerdaskan lingkungan baik

kalangan mahasiswa atau pun seseorang yang tertarik pemrograman

Borland Delphi 7.

2. Feasibilitas Teknis

Pengembangan aplikasi ini layak secara teknis dikarenakan untuk

mengembangkan kemampuan para programmer.

4.1.3 Kelengkapan Hardware yang digunakan

1. Satu buah laptop untuk membuat program dengan spesifikasi

sebagai berikut :

a) Processor 2.1 GHz

b) Memory 2 GHz

c) Harddisk 250 GHz

d) Mouse

4.1.4 Kelengkapan Software yang digunakan

1. Borland Delphi 7

2. Microsoft Visio 2003

3. Sistem operasi Windows XP yang berjalan pada laptop

4. MySQL&Xampp

5. Suipack

6. Tplockbock

7. Zeosdb

Page 87: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

87

4.1.5 Mendefinisikan Masalah

Masalah yang ingin diselesaikan dengan sistem ini adalah bagaimana

mengimplementasikan kedua algoritma dan tools apa yang mendukunh

implementasi tersebut. Pada penulisan ini, penulis akan mengimplementasikan

algoritma RSA dan Blowfish menggunakan Delphi 7. Dengan demikian dari

implementasi ini dapat diketahui kelebihan dari kedua algoritma tersebut.

4.2 Fase Perancangan

Dalam perancangan Aplikasi Implementasi Algoritma RSA dan Blowfish Untuk

Enkripsi dan Dekripsi Data Menggunakan Delphi 7 ini, perancangan Flowchart

Diagram.

4.2.1 Flowchart Diagram

Agar lebih memudahkan dalam pembuatan program, maka penulis

membuat diagram flowchart yang akan menggambarkan alur program

secara umum. Flowchart tersebut dapat digambarkan sebagai berikut :

Start

Input Plain

File Yg

akan

Dienkrip

Beri nama

Output

Cipher File

yg dienkrip

Masukkan

Password

Klik Button Encryp File

Periksa Hasil

Enkripsi

Input

Cipher File

yg Didekrip

Beri nama

Output

Plain File

yg Didekrip

Klik Button Decryp File

Periksa Hasil

Dekripsi

If

(berhasil)

End

Tidak

Ya

Masukkan

Password

Periksa Password

Gambar 4.1 Flowchart program enkripsi dan dekripsi dengan Delphi 7

Page 88: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

88

Flowchart pada gambar 4.1 mengambarkan alur proses dan urutan-urutan

prosedur dalam aplikasi enkripsi dan dekripsi pada algoritma RSA. Pada

aplikasi ini user diminta untuk memilih jenis file dan ukuran file yang

akan dienkrip dan didekrip. Aplikasi yang penulis buat ini tidak

membatasi jenis dan ukuran file yang akan dienkrip dan didekrip. Setelah

memasukkan jenis file, user diminta untuk memberikan nama file setelah

dilakukan proses enkripsi, begitu pula ketikan akan melakukan proses

dekripsi user diminta untuk memberikan nama sebelum melakukan proses

dekripsi. Hal lain untuk menjaga keamanan ketika akan melakukan proses

enkripsi dan dekripsi adalah memasukkan password untuk menjaga

kerahasiaan file-file yang telah dieksekusi. Password yang dimasukkan

bisa berbagai jenis karakter bisa angka, bisa pula karakter. Penulis juga

menekankan kepada user jangan lupa untuk mengingat password yang

akan digunakan untuk melakukan proses enkripsi dan dekripsi. Hal ini

penting dilakukan karena apabila password yang dimasukkan salah maka

file yang telah dieksekusi tidak bisa dibuka. Jadi password yang

dimasukkan untuk melakukan proses enkripsi dan dekripsi harus sama.

4.2.2 Perancangan Antarmuka

Perancangan antarmuka yang dibuat penulis pada aplikasi ini terdiri dari

beberapa halaman, antara lain :

1. Menu Halaman Pembuka

Menu ini merupakan tampilan awal ketika membuka aplikasi enkripsi

dan dekripsi dengan RSA dan Blowfish. Pada halaman ini menampilkan

judul aplikasi serta beberapa menu yang dapat dipilih pengguna. Adapun

menu yang terdapat pada halaman utama ini adalah RSA Text

Cryptography, Multimedia RSA Cryptography, Blowfish Text

Cryptography, Multimedia Blowfish Cyprtography

Page 89: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

89

F ile RSA A lgoritm B low fish A lgoritm Help

RSA Text Cryp tographyRSA M u ltim ed ia B lowfish Text B lowfish M u ltim ed ia

Encryp tion and Decryp t Text Using RSA A lgoritm

Password : C lear A ll Text

Encryp t Text

Decryp t Tex

Gambar 4.2 Rancangan Menu Halaman Pembuka Aplikasi

Pada gambar 4.2 rancangan menu halaman pembuka aplikasi terdapat

3 button yaitu :

Clear all text : Untuk membersihkan teks

Encrypt text : Button Encrypt untuk enkripsi teks

Decrypt text : Button Decrypt untuk dekripsi teks

2. Menu Multimedia Cryptography

Menu ini merupakan tampilan untuk melakukan proses enkripsi dan

dekripsi pada berbagai jenis file dan ukuran. Dimulai dari memasukkan

jenis file sampai memasukkan password

Page 90: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

90

File RS A A lgoritm B low fish A lgoritm Help

RSA Text Cryp t RSA M u ltim ed ia B lowfish Text Cryp t B lowfish M u ltim ed ia

E ncryption Us ing RS A A lgoritm for M ultim edia File

Inpu t P la in M u ltim ed ia F ile :

O u tpu t C ipher M u ltim ed ia :

Password : Encrypt File

Decryption Us ing RS A A lgoritm for M utim edia File

Inpu t C ipher M u ltim ed ia F ile :

O u tpu t P la in M u ltim ed ia F ile :

Password : Decrypt File

Gambar 4.3 Rancangan Menu Multimedia Cryptography

Pada gambar 4.3 rancangan menu multimedia cryptography terdapat 2

button yaitu :

Encrypt File : Berfungsi untuk enkripsi file

Decrypt File : Berfungsi ntuk dekripsi file

Button kotak untuk memasukkan jenis file yang akan dieksekusi dan

password untuk melindungi hasil eksekusi, input plaintext untuk

meletakkan file yang telah diambil begitu pula output ciphertext untuk

meletakkan file yang telah dieksekusi.

Page 91: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

91

A lgoritm : P assword :

Encryp t and Send ing to Serve rE xit

Gambar 4.4 Rancangan Menu Client

Pada gambar 4.4 merupakan rancangan menu client, dimana terdapat 2

button yaitu :

Encrypt and sending to server : berfungsi untuk mengirim hasil

enkripsi ke server

Exit : berfungsi untuk keluar dari aplikasi

Sedangkan 2 kotak yang lain untuk meletakkan teks yang telah diambil,

fitur algoritm berfungsi untuk memilih jenis algoritma yang akan

digunakan untuk mengeksekusi teks, sedangkan fitur password berfungsi

untuk meletakkan jenis password untuk melindungi hasil eksekusi.

Page 92: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

92

Refresh

A lgoritm : P assword :

E ncrypt Text

Decrypt Text

Gambar 4.5 Rancangan Menu Server

Pada gambar 4.5 merupakan menu server, dimana terdapat 5 fitur yaitu

:

Refresh : berfungsi untuk koneksi ke server

Kotak besar : berfungsi untuk meletakkan teks

Algoritm : berfungsi untuk memilih jenis algoritma

Password : berfungsi untuk memasukkan jenis password

Encrypt text : berfungsi untuk meletakkan hasil enkripsi

Decrypt text : berfungsi untuk meletakkan hasil dekripsi

4.2.3 Perancangan Algoritma Program Kriptografi

Algoritma yang penulis kembangkan menggunakan 2 metode algoritma

kriptografi dalam mengenkrip atau mendekrip file. Pada saat akan

melakukan proses enkripsi pilih plaintext yang akan dienkrip, kemudian

pilih algoritma RSA atau Blowfish yang akan digunakan mengenkrip file,

Page 93: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

93

setelah itu masukkan password untuk melindungi hasil eksekusi file,

setelah proses dilakukan plaintext berubah menjadi ciphertext.

Tahapan selanjutnya adalah proses dekripsi, pada tahapan ini ciphertext

yang dihasilkan pada proses enkripsi akan diubah menjadi plaintext

kembali dengan cara membalik proses enkripsi. Ciphertext yang telah

didekrip menggunakan algoritma RSA atau Blowfish, tidak lupa

memasukkan password yang sama pada saat melakukan enkripsi tadi,

setelah selesai maka ciphertext akan menjadi plaintext. Untuk

memperjelas gambaran proses enkripsi dan dekripsi dapat dilihat pada

gambar dibawah ini

Proses Enkripsi

Plaintext

Pilih

Algoritma

Masukkan

Password

Ciphertext

Proses Dekripsi

Ciphertext

Pilih

Algoritma

Masukkan

Password

Plaintext

Gambar 4.6 Perancangan Algoritma Program Kriptografi

Page 94: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

94

4.3 Fase Konstruksi

Pada tahap ini penulis mentransformasikan semua hasil rancangan, lalu diterapkan

menjadi program aplikasi yang dapat dioperasikan. Dalam melakukan proses kontrusksi

penulis melalui langkah-langkah sebagai berikut:

4.3.1 Instalasi Program

Sebelum memulai menulis kode program, perlu dilakukan penginstalan

perangkat lunak Borland Delphi 7 terlebih dahulu. Proses instalasi telah

penulis lakukan pada bab 2, sehingga hal ini dapat dilihat pada bab 2, sub

bab 4.5.4. Penulis juga menambahkan software pendukung lain untuk

mempercantik tampilan aplikasi, penulis menggunakan software suiepack.

Pada prinsipnya komponen ini berguna untuk form asli Delphi dengan

style yang berbeda semisal dengan style deep blue, mac dan lain-lain.

Langkah-langkah yang harus dilakukan untuk menginstal komponen

suiepack pada Delphi 7.0 sebagai berikut :

1. Buka folder penyimpanan komponen suiepack

Page 95: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

95

Gambar 4.7 Tempat penyimpanan komponen suiepack

2. Klik ganda pada installer komponen suiepack

Gambar 4.8 Memilih komponen suiepack

3. Akan muncul proses instalasi komponen suiepack seperti

Page 96: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

96

dibawah ini, kemudian centanglah versi Delphi yang akan

diinstal, dalam hal ini adalah Delphi 7.0

Gambar 4.9 Memilih versi delphi

4. Jika proses instalasi sukses, akan muncul pesan install finished

5. Check pada component pallet, jika telah ada komponen pallet

dengan nama SuiPack beserta fitu-fiturnya, ini berarti proses install

komponen SuiPack telah selesai

4.3.2 Bagian-Bagian Tentang Suipack

Komponen Suipack merupakan komponen yang dipergunakan untuk

mempercantik tampilan program yang dibuat dengan menggunakan Delphi, pada

prinsipnya komponen ini berguna untuk menutupi form asli Delphi dengan style

yang berbeda. Ada 6 macam pilihan untuk mempercantik tampilan form pada

Suipack yaitu, BlueGlass, DeepBlue, FromThemeFile, MacOS, Protein, WinXP,

tampilan tersebut tampak pada gambar dibawah ini :

Page 97: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

97

Gambar 4.10 6 macam bagian pada Suipack

1. Jika diklik satu persatu bagian pada Suipack maka tampilan form pada Delphi

akan berubah, gambar berikut menunjukan form yang berubah menjadi warna biru

setelah memilih bagian BlueGlass

Gambar 4.11 Tampilan form setelah memilih fitu BlueGlass

Page 98: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

98

2. Jika memilih fitur Deepblue maka tampilan form berubah menjadi warna ungu,

tampilan form tersebut tampak pada gambar dibawah ini:

Gambar 4.12Tampilan form setelah memilih fitur deepblue

3. Jika memilih fitur FromThemeFile maka tampilan form berubah menjadi warna

ungu, tampilan form tersebut tampak pada gambar dibawah ini:

Gambar 4.13 Tampilan form setelah memilih fitur FromThemeFile

Page 99: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

99

4. Jika memilih fitur MacOS maka tampilan form berubah menjadi warna ungu,

tampilan form tersebut tampak pada gambar dibawah ini:

Gambar 4.14 Tampilan form berubah setelah memilih fitur MacOS

5. Jika memilih fitur Protein maka tampilan form berubah menjadi warna ungu,

tampilan form tersebut tampak pada gambar dibawah ini:

Gambar 4.15 Tampilan form yang berubah setelah memilih fitur protein

Page 100: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

100

6. Jika memilih fitur WinXP maka tampilan form berubah menjadi warna ungu,

tampilan form tersebut tampak pada gambar dibawah ini:

Gambar 4.16 Tampilan form yang berubah setelah memilih fitur WinXP

Ada 4 bagian pada Suipack yang dapat digunakan untuk membuat aplikasi

pada Delphi, 4 bagian tersebut antara lain: Suipack, Suipack DB, Suipack Dialog,

Suipack Utils. Masing-masing bagian tersebut mempunyai fitur yang berbeda,

keempat bagian tersebut akan penulis jabarkan satu persatu:

1. Suipack, terdapat 33 fitur yang digunakan untuk membuat aplikasi

pada delphi, umumnya fitur-fitur tersebut digunakan untuk membuat

aplikasi

2. Suipack DB, terdapat 11 fitur yang digunakan untuk membuat

aplikasi pada delphi, umumnya fitur-fitur tersebut digunakan untuk

membuat aplikasi yang berhubungan dengan database.

3. Suipack Dialog, terdapat 3 fitur yang digunakan untuk membuat

aplikasi pada delphi, umumnya fitur tersebut digunakan untuk

membuat aplikasi yang disertai dengan penggunaan password.

4. Suipack Utils, terdapat 5 fitur yang digunakan untuk membuat

aplikasi pada delphi, umumnya fitur tersebut digunakan untuk

membuat aplikasi

Page 101: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

101

Pengujian dengan dienkripsi dari aplikasi lain tidak bisa dilakukan karena

aplikasi ini melakukan pengujian dengan program yang berbasis delphi saja.

4.3.3 Menjalankan Aplikasi Enkripsi

Setelah aplikasi menu dan kode program selesai dibuat, maka program

dieksekusi sehingga terlihat hasilnya seperti pada gambar berikut ini :

Gambar 4.17 Aplikasi yang telah dieksekusi

Page 102: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

102

Gambar 4.18 Tampilan Untuk Memilih Menu RSA Algoritm

Gambar 4.19 Tampilan Untuk Memilih Menu Blowfish Algoritm

Page 103: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

103

Gambar 4.20 Tampilan Untuk Memilih Menu Help

Gambar 4.21 Tampilan Biodata Penulis

Page 104: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

104

4.3.3 Tampilan Aplikasi Client Server

Selain aplikasi Implementasi penulis juga membuat aplikasi enkripsi yang

berbasis client server dengan tujuan aplikasi ini dapat diterapkan pada banyak

PC/laptop. Untuk menjalankan aplikasi perlu dilakukan setting aplikasi terhadap

aplikasi client dan aplikasi server. Setting yang dilakukan antara lain terhadap

HostServer, Database Host, dan Password. Hal itu diterapkan apabila aplikasi ini

digunakan pada 2 PC atau lebih, tetapi apabila aplikasi ini hanya digunakan pada

1 PC/laptop saja maka yang perlu dilakukan hanya setting pada bagian password.

Disinilah letak kelebihan aplikasi penulis dibandingkan dengan aplikasi

sebelumnya yang berbasis standalone, tampilan tersebut antara lain :

Gambar 4.22 Tampilan sisi client

Page 105: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

105

Gambar 4. 23 Tampilan sisi server

Gamba

r 4.24 Tampilan sisi server dengan pengaturan

Page 106: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

106

Gambar 4.25 Tampilan client dengan pengaturan

4.3.4 Komunikasi Client Server

Client-Server merupakan arsitektur jaringan yang memisahkan client

dengan server. Masing-masing client dapat meminta data atau informasi dari

server, begitu pula sebaliknya server dapat memberikan respon apabila ada

request dari client.

Pada gambar dibawah ini akan ditunjukan komunikasi client-server

dimana aplikasi client menggunakan 2 algoritma yaitu RSA dan Blowfish, user

dapat memilih diantara kedua algoritma tersebut untuk mengenkrip teks yang

besarnya tak hingga, kemudian user memasukkan password untuk keamanan hasil

eksekusi. Setelah itu aplikasi mengeksekusi teks lalu dikirim kan ke server, agar

server terkoneksi dengan client maka user mengklik refresh/connect to server.

Hasil eksekusi teks tadi dapat dilihat pada tabel database yang terdapat pada

Page 107: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

107

server. Disinilah terjadi komunikasi antara client dengan server, komunikasi

client-server tersebut dapat dilihat pada gambar dibawah ini.

Gambar 4.26 Aplikasi client mengeksekusi teks

Gambar 4.27 Aplikasi Server berhasil menerima kiriman dari client

Page 108: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

108

Pada gambar diatas terlihat bahwa komunikasi client-server terlaksana

dengan baik, client berhasil mengeksekusi teks lalu mengirimkan ke server.

Setelah berhasil dieksekusi server menunjukkan database yang telah diterima dari

client.

4.4 Fase Pelaksanaan

Pada fase pelaksanaan ini sesuai dengan sub bagian 4.2 pengujian aplikasi,

penulis melakukan pengujian aplikasi secara Black box mandiri dan secara Black

box oleh User. Untuk pengujian Black box penulis menganalisis spesifikasi laptop

yang digunakan untuk menerapkan aplikasi ini, setelah melakukan ujicoba untuk

mengetahui apakah aplikasi dapat bekerja dengan baik, penulis meminta

tanggapan pada user untuk aplikasi yang penulis buat ini.

4.4.1 Spesifikasi Minimum Penggunaan

Laptop yang dapat digunakan untuk menjalankan aplikasi ini

memiliki spesifikasi minimal sebagai berikut :

1. Memiliki Processor Intel Pentium IV 1.6 GHz

2. Memiliki memory minimal 256 Mb untuk proses instalasi aplikasi

3. Harddisk dengan free space minimal 500 Mb

4. VGA card 4 Mb

5. Monitor dengan resolusi 1024 x 768 pixel

6. Keyboard dan Mouse

Adapun perangkat lunak (software) yang digunakan untuk

menjalankan aplikasi ini adalah lingkungan sistem operasi MS Windows

97, MS Windows 2000, Windows XP.

4.4.2 Konfigurasi Client Server

Page 109: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

109

Konfigurasi client server ada 2 bagian yaitu :

1. Wireless

Suatu jaringan wireless (wireless network) memungkinkan orang-

orang untuk berkomunikasi, mengakses aplikasi dan informasi tanpa

menggunakan kabel. Ini menyediakan kebebasan pergerakan dan

kemampuan untuk meluaskan aplikasi pada bagian-bagian bangunan

berbeda, kota, atau hampir seluruh dunia.

WLAN mewakili wireless local area network seperti universitas atau

perpustakaan, untuk membentuk suatu jaringan atau koneksi ke Internet.

Untuk saat ini yang penulis terapkan yaitu WLAN di universitas.

2. Kabel(fixed)

Penulis menggunakan kabel UTP untuk koneksi antar laptop,

sedangkan untuk konektor penulis menggunakan RJ 45. Untuk IP address,

subnet mask, dan default gateway akan penulis jabarkan sebagai berikut :

IP address : 172.27.11.204 (server)

Subnet mask : 255.255.255.0

Default gateway : 172.27.11.1

IP address : 172.27.11.205 (client)

Subnet mask : 255.255.255.0

Default gateway : 172.27.11.1

4.4.3 Pengujian Aplikasi

Setelah mengeksekusi program aplikasi maka dilakukan pengujian

aplikasi. Pengujian aplikasi yang telah dibuat bertujuan untuk melihat jalannya

Page 110: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

110

program, validitas, dan mengetahui tingkat kepuasan pengguna pada aplikasi ini,

oleh karena itu pengujian dilakukan dengan dua tahap yaitu dengan pengujian

secara Blackbox mandiri dan hasil respon oleh user (pengguna).

4.4.3.1 Pengujian Blackbox Mandiri

Pengujan aplikasi secara Blackbox mandiri yaitu pengujian yang

dilakukan secara langsung pada laptop/PC yang memiliki syarat minimal

untuk menjalankan aplikasi Implementasi Algoritma RSA dan Blowfish

Untuk Enkripsi dan Dekripsi Data Menggunakan Delphi 7. Pengujian

dilakukan dengan 2 algoritma yaitu RSA dan Blowfish.

Berikut hasil pengujian aplikasi pada berbagai file dari berbagai

ukuran yaitu:

Enkripsi dan Dekripsi File dengan RSA dan Blowfish

1. File dengan format rtf berukuran 370 MB

2. File dengan format rar berukuran 64 MB

3. File dengan format mpeg berukuran 37 MB

4. File dengan format doc berukuran 7 MB

5. File dengan format jpg berukuran 3.5 MB

6. File dengan format mp4 berukuran 15 MB

4.4.3.1.1 Enkripsi File rtf dengan RSA

Page 111: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

111

Gambar 4.28 File yang dienkrip dengan RSA berukuran 370 MB dengan format

rtf

Gambar 4.29 File yang didekrip dengan RSA berukuran 370 MB dengan format rtf

4.4.3.1.2 Enkripsi File rtf dengan Blowfish

Page 112: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

112

Gambar 4.30 File yang dienkrip dengan Blowfish berukuran 370 MB dengan

format rtf

Gambar 4.31 File yang didekrip dengan Blowfish berukuran 370 MB dengan format rtf

4.4.3.1.3 Enkripsi File rar dengan RSA

Page 113: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

113

Gambar 4.32 File yang dienkrip dengan RSA berukuran 64 MB dengan format rar

Gambar 4.33 File yang didekrip dengan RSA berukuran 64 MB dengan format rar

4.4.3.1.4 Enkripsi File rar dengan Blowfish

Page 114: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

114

Gambar 4.34 File yang dienkrip dengan Blowfish berukuran 64 MB dengan format

rar

Gambar 4.35 File yang didekrip dengan Blowfish berukuran 64 MB dengan format

rar

4.4.3.1.5 Enkripsi File mpeg dengan RSA

Page 115: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

115

Gambar 4.36 File yang dienkrip dengan RSA berukuran 37 MB dengan format

mpeg

Gambar 4.37 File yang didekrip dengan RSA berukuran 37 MB dengan format

mpeg

4.4.3.1.6 Enkripsi File mpeg dengan Blowfish

Page 116: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

116

Gambar 4.38 File yang dienkrip dengan Blowfish berukuran 37 MB dengan format

mpeg

Gambar 4.39 File yang didekrip dengan Blowfish berukuran 37 MB dengan format

mpeg

4.4.3.1.7 Enkripsi File doc dengan RSA

Page 117: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

117

Gambar 4.40 File yang dienkrip dengan RSA berukuran 7 MB dengan format

document

Gambar 4.41 File yang didekrip dengan RSA berukuran 7 MB dengan format

document

4.4.3.1.8 Enkripsi File doc dengan Blowfish

Page 118: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

118

Gambar 4.42 File yang dienkrip dengan Blowfish berukuran 7 MB dengan format

document

Gambar 4.43 File yang didekrip dengan Blowfish berukuran 7 MB dengan format

document

4.4.3.1.9 Enkripsi File mp4 dengan RSA

Page 119: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

119

Gambar 4.44 File yang dienkrip dengan RSA berukuran 15 MB dengan format

mp4

Gamabr 4.45 File yang didekrip dengan RSA berukuran 15 MB dengan format

mp4

4.4.3.1.10 Enkripsi File mp4 dengan Blowfish

Page 120: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

120

Gambar 4.46 File yang dienkrip dengan Blowfish berukuran 15 MB dengan

format mp4

Gambar 4.47 File yang didekrip dengan Blowfish berukuran 15 MB dengan format

mp4

4.4.3.1.11 Enkripsi Gambar dengan RSA

Page 121: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

121

Gambar 4.48 Gambar yang dienkrip dengan RSA berukuran 3.581 Kb dengan

format jpg

Gambar 4.49 Gambar yang didekrip dengan Blowfish berukuran 3.581 Kb dengan

format jpg

4.4.3.1.12 Enkripsi Gambar dengan Blowfish

Page 122: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

122

Gambar 4.50 Gambar yang dienkrip dengan Blowfish berukuran 3.581 Kb dengan

format jpg

Gambar 4.51 Gambar yang didekrip dengan Blowfish berukuran 3.581 Kb dengan

format jpg

4.4.3.1.13 Pengujian aplikasi berbasis client server

Page 123: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

123

Gambar 4.52 Hasil pengujian terhadap aplikasi client

Gambar 4.53 Hasil pengujian terhadap aplikasi server yang diterima dari client

Page 124: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

124

Pengujian yang penulis lakukan terhadap aplikasi client server merupakan

pengujian yang dilakukan terhadap 1 laptop. Karena keterbatasan alat-alat

yang dimiliki penulis maka penulis melakukan ujicoba pada 1 laptop saja.

Terbukti hasil ujicoba berjalan dengan baik. Kedepan aplikasi client server ini

dapat diterapkan diruangan dengan banyak PC

4.4.1.14 Enkripsi teks dengan RSA pada client sever

Gambar 4.54 Teks yang dienkrip dengan RSA berukuran 1 Mb

Page 125: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

125

Gambar 4.55 Teks yang dienkrip dengan RSA berukuran 2 Mb

Gambar 4.56 Teks yang dienkrip dengan Blowfish berukuran 1,5 Mb

Page 126: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

126

Gambar 4.57 Teks yang dienkrip dengan RSA berukuran 2,5 Mb

4.4.1.14 Enkripsi teks dengan Blowfish pada client server

Gambar 4.58 Teks yang dienkrip dengan Blowfish berukuran 1 Mb

Page 127: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

127

Gambar 4.59 Pengujian terhadap aplikasi client dengan text unlimited

Aplikasi client server ini juga dapat digunakan untuk enkripsi dan dekripsi pada teks

yang unlimited sehingga berapa pun banyaknya teks akan dapat dieksekusi oleh aplikasi.

Gambar 4.60 Laptop yang dijadikan Client

Page 128: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

128

Gambar 4.61 Notebook yang dijadikan server

Gambar 4.62 Pelaksanaan pengujian aplikasi client server

Page 129: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

129

Gambar 4.63 Hasil pengujian di client

4.4.3.2 Respon oleh User Tentang Aplikasi

Respon oleh User tentang aplikasi yaitu berupa

angket yang berisi pertanyaan yang meminta tanggapan

user setelah menggunakan aplikasi ini yang diberikan

kepada 20 (dua puluh) user yang diambil dari lingkungan

kampus penulis. Angket ini bertujuan untuk mendapatkan

tingkat validitas apabila digunakan langsung oleh

pengguna. Angket berupa pertanyaan yang berhubungan

dengan aplikasi. Form dan hasil angket dapat dilihat secara

lengkap pada Lampiran.

4.4.4 Analisis Hasil Pengujian

4.4.4.1 Analisis Hasil Pengujian Blackbox Mandiri

Page 130: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

130

Berdasarkan hasil pengujian yang dilakukan secara

Blackbox Mandiri dan ditunjukkan oleh gambar pada sub

bab 4.4.3.1, maka dapat disimpulkan bahwa aplikasi

berjalan dengan baik pada PC/laptop. Program dapat

dikompilasi dengan baik,tidak ada error yang terjadi ketika

program dijalankan.

4.4.4.2 Analisis Hasil Respon oleh User

Analisis hasil respon user berupa angket kepada

pengguna, menghasilkan

penilaian terhadap aplikasi yang dibangun. Dari

angket yang di berikan kepada pengguna nilai persentase

tingkat kepuasan terhadap aplikasi cukup baik. Ini dapat

disimpulkan berdasarkan hasil angket respon user pada

pertanyaan no 2, 3, 4 dan 7. Masing-masing dengan

penjelasan seperti dibawah ini :

4.4.5 Hasil Penelitian

Proses penelitian dilakukan untuk mengetahui keakuratan dari program

aplikasi yang dibuat. Hasil penelitian dari file teks dan gambar yang telah

diuji dapat dilihat pada tabel berikut :

No Subjek File Uji Subjek File verifikasi RSA Algoritm Blowfish Algoritm

1. Skripsi Hamzah_2.rtf

(370 Mb)

Skripsi Hamzah.rtf

(370 Mb)

6 menit 9 menit

2. Kumpulan Skripsi.rar

(64 Mb)

Kumpulan Skripsi.rar

(64 Mb)

30 detik 1 menit

3. G_30 SPKI.mpeg G_30 SPKI.mpeg 1 menit 1 menit

Page 131: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

131

(37 Mb) (37 Mb)

4. Laporan PKL.doc

(7 Mb)

Laporan PKL

(7 Mb)

10 detik 15 detik

5. Leni&Guru2.jgp

(3.581 Kb)

Leni&Guru2.jpg

(3.581 Kb)

3 detik 5 detik

6. Bee_Gees.mp4

(15 Mb)

Bee_gees.mp4

(15 Mb)

12 detik 19 detik

Tabel 4.1 Tabel Hasil pengujian terhadap berbagai file

Dari tabel diatas dapat dilihat bahwa keakuratan dalam pengujian pada teks

dan gambar sistem dapat memverifikasi dengan baik.

No Subjek File Uji RSA Algoritm Blowfish Algoritm

1. Laporan Mirwan.doc

(1 MB)

1 detik 1 detik

2. Laporan Analisis.rtf

(2 Mb)

3 detik 3 detik

3. Proposal.doc

(1,5 Mb)

2 detik 2 detik

4. Reporting kantor.doc

(2,5 Mb)

2 detik 4 detik

Tabel 4.2 Tabel Hasil pengujian teks client server

Page 132: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

132

BAB V

PENUTUP

5.1 Kesimpulan

Dalam bab penutup ini, kesimpulan yang penulis peroleh dari pembahasan materi

pada bab-bab sebelumnya, yaitu:

1. Berdasarkan hasil pengujian algoritma kriptografi RSA dan Blowfish, terbukti

secara proses bahwa algoritma RSA lebih cepat dibandingkan dengan

algoritma Blowfish, hal ini dapat dilihat pada tabel 4.1.

2. Ukuran file yang besar akan mempengaruhi lama proses enkripsi dan dekripsi,

hal ini dapat dilihat pada tael 4.1.

3. Aplikasi Implementasi Algoritma RSA dan Blowfish Untuk Enkripsi dan

Dekripsi Data Menggunakan Delphi 7 dapat digunakan untuk menjaga

keaslian data (authentication) dan keutuhan data (data integrity), hal ini dapat

dilihat pada tabel 4.1.

5.2 Saran

1. Bila aplikasi client server ingin diterapkan pada skala yang lebih besar hal ini

dapat dilakukan dengan menambah alat-alat yang mendukung untuk aplikasi

client server antara lain kabel UTP yang dibuat dengan urutan kabel cross,

PC/laptop, pengujian telah penulis lakukan dan hal tersebut dapat dilihat pada

hal 109-111.

2. Gunakan metode Kriptografi yang sesuai dengan kebutuhan sistem yang akan

digunakan.

Page 133: IMPLEMENTASI ALGORITMA RSA DAN BLOWFISH …repository.uinjkt.ac.id/dspace/bitstream/123456789/2879… ·  · 2013-04-29implementasi algoritma rsa dan blowfish untuk enkripsi dan

133