implementasi algoritma rsa dan blowfish...
TRANSCRIPT
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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.
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
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,
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
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
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
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
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.
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
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
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
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 :
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 :
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:
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
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).
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
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
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.
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.
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
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
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
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
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
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
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.
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
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
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
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
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)
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
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
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)
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.
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)
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.
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;
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.
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.
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
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
59
Gambar 2.18 Memasukkan 14 serial number
Gambar 2.19 Statement untuk license agreement
60
Gambar 2.20 Pemilihan terhadap tipe instalasi
Gambar 2.21 Penggunaan terhadap VisiBroker
61
Gambar 2.22 Pemilihan terhadap sistem operasi yang digunakan
Gambar 2.23 Penempatan folder instalasi
62
Gambar 2.24 Proses instalasi sedang dilakukan
Gambar 2.25 Copy file untuk proses instalasi
63
Gambar 2.26 Backup file yang diperlukan untuk proses instalasi
Gambar 2.27 Proses instalasi VisiBroker
64
Gambar 2.28 Proses instalasi component VisiBroker
Gambar 2.29 Proses instalasi VisiBroker sedang berlangsung
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
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
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.
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
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)
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
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)
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
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).
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
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.
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.
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
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
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,
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
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)
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
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
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.
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
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.
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
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
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
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
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.
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.
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,
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
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
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
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 :
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
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
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
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
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
102
Gambar 4.18 Tampilan Untuk Memilih Menu RSA Algoritm
Gambar 4.19 Tampilan Untuk Memilih Menu Blowfish Algoritm
103
Gambar 4.20 Tampilan Untuk Memilih Menu Help
Gambar 4.21 Tampilan Biodata Penulis
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
105
Gambar 4. 23 Tampilan sisi server
Gamba
r 4.24 Tampilan sisi server dengan pengaturan
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
123
Gambar 4.52 Hasil pengujian terhadap aplikasi client
Gambar 4.53 Hasil pengujian terhadap aplikasi server yang diterima dari client
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
125
Gambar 4.55 Teks yang dienkrip dengan RSA berukuran 2 Mb
Gambar 4.56 Teks yang dienkrip dengan Blowfish berukuran 1,5 Mb
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
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
128
Gambar 4.61 Notebook yang dijadikan server
Gambar 4.62 Pelaksanaan pengujian aplikasi client server
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
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
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
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.
133