Direktur Utama Andi Muhammad AR
Direktur Operasional H. Ahmad AR
Direktur Keuangan Inah Roinah
Direktur Pemasaran Alfian
Kabag Produksi Ichram Masrul
Kabag Kreatif Anwar Rosandi
Kabag Keuangan Nani Rustini
Manajer Pemasaran Iwan
Pegawai Pegawai
Pegawai Pegawai
Gambar 4.1. Struktur Organisasi CV Maharta Mandiri Promo
Sumber : Company Profile CV Maharta Mandiri Promo
4.2. Hasil Observasi
Observasi yang dilaksanakan selama bulan Juli 2009 di Kantor CV Maharta Mandiri Promo memberikan kesimpulan bahwa data yang
tersimpan di komputer yang terhubung dalam jaringan LAN Local Area Network CV Maharta Mandiri Promo tidak aman dari pencurian data.
Karena data yang dicuri dapat langsung dimanfaatkan oleh pihak yang tidak berhak seperti yang pernah terjadi sebelumnya. Oleh karena itu
diperlukan suatu aplikasi enkripsi yang dapat melindungi data-data penting perusahaan dari pihak yang tidak bertanggung jawab.
4.3. Aplikasi Acrypt cs
Aplikasi acrypt cs Aplikasi Enkripsi berbasis Client Server
adalah sebuah aplikasi keamanan data berbasis client server yang
59
menggunakan metode Advance Encryption Standard dan Rivest Shamir Adleman. Aplikasi ini diharapkan dapat membantu anda dalam menjaga
data-data penting dari pengaksesan orang-orang yang tidak berhak.
4.4. Fase Perencanaan Syarat-syarat
4.4.1. Analisis Kebutuhan Masalah
Aplikasi keamanan data yang akan dibuat seperti yang telah dianalisis pada subbab 3.2.1 adalah aplikasi enkripsi dan
dekripsi berbasis web yang mudah digunakan menggunakan metode kriptografi Advance Encryption Standard dan Rivest
Shamir Adleman.
4.4.2. Tujuan
Seperti yang telah dijelaskan pada subbab 3.2.2 peneliti bertujuan untuk membuat suatu aplikasi enkripsi yang
mengimplementasikan metode enkripsi dan dekripsi Advance Encryption Standard dan Rivest Shamir Adleman, dan juga
pembangkitan pasangan kunci publik dan kunci privat Rivest Shamir Adleman sehingga dapat menjaga kerahasiaan data di
CV Maharta Mandiri Promo.
60
4.4.3. Syarat-syarat
Untuk mewujudkan tujuan tersebut digunakan beberapa syarat dalam pembuatan aplikasi keamanan data ini yaitu
meliputi hal-hal sebagai berikut : a.
Web server Dalam pengembangan aplikasi ini digunakan Web Server
Apache 2.2.8. yang tergabung dalam paket xampp 1.6.6a. b.
Bahasa Pemrograman Bahasa pemrograman yang digunakan untuk membangun
aplikasi ini adalah PHP 5.2.5. Interpreter PHP telah ada dalam paket xampp 1.6.6a. Dalam penulisan kode, peneliti
memakai editor teks editplus 2.12. c.
Database Database yang digunakan dalam aplikasi ini adalah
database MySQL 5.0.51a yang ada dalam paket xampp 1.6.6a. Untuk pembuatan database, digunakan editor
phpMyAdmin.
4.5. Fase Perancangan
Workshop Design
Pada tahap ini dilakukan perancangan, evaluasi dan memperbaiki sistem sesuai dengan kebutuhan agar sistem yang sedang dibuat dapat
dimanfaatkan secara optimal.
61
4.5.1. Perancangan Proses
1. Diagram konteks sistem yang diusulkan
user username, password,
public key, private key public key, private key
user
file filename1, filename2,
sender_id, receiver_id aplikasi
acryptcs file
filename1, filename2, sender_id, receiver_id
Gambar 4.2. Diagram konteks sistem yang diusulkan
Dalam konteks diagram pada gambar 4.2 terdapat dua entity yang menunjang proses aplikasi acrypt cs yaitu user
dan file. 2.
Diagram zero sistem yang diusulkan
user username, password
1.0 login
private key file
password, public key
filename1, sender, receiver
2.0 enkripsi
filename2, sender, receiver
filename2, sender, receiver
file 3.0
dekripsi filename1, sender,
receiver
Gambar 4.3. Diagram zero sistem yang diusulkan
62
3. Diagram level satu sistem yang diusulkan
user username, password
1.1 cek
database username, password
1.2 buat
session
Gambar 4.4. Diagram level satu proses 1.0 login
user password, public key,
jumlah file 2.2
2.1 cek file
password enkripsi
AES file
filename1, sender, receiver
2.3 enkripsi
RSA public key
filename2, sender, receiver
file
Gambar 4.5. Diagram level satu proses 2.0 enkripsi
user private key,
jumlah file 3.1
cek file private key
3.2 dekripsi
RSA file
filename2 3.3
dekripsi AES
password
filename1 file
Gambar 4.6. Diagram level satu proses 3.0 dekripsi
63
4.5.2. Perancangan
Flowchart
Pada tahap ini dilakukan perancangan flowchart algoritma aplikasi enkripsi. Pada tahapan ini akan digambarkan alur proses
enkripsi dan dekripsi pada program yang dikembangkan dengan menggunakan flowchart.
64
1. Flowchart proses enkripsi
start Input jumlah file
Input file Cek file
File salahkosong ? true
false Input kunci AES
Pilih penerima i=0, jml file = file tdk kosong
Panggil modul enkripsi AES 1
2 Panggil modul enkripsi RSA
3 4
Update database i++
true i jml file?
false Tampilkan hasil enkripsi
stop
Gambar 4.7. Flowchart proses enkripsi
65
Berdasarkan gambar 4.7, proses enkripsi dimulai dengan memasukkan jumlah file yang akan dienkripsi. Setelah itu, user
memasukkan file yang akan dienkripsi. Kemudian data file akan ditampilkan sementara. Jika file salah, maka user harus
memasukkan kembali file yang akan dienkripsi. Jika semua file yang dipilih sudah pernah dienkripsi sebelumnya dengan nama
file yang masih sama, maka user harus memasukkan kembali file yang akan dienkripsi.
Selanjutnya user harus memasukkan string yang akan digunakan sebagai kunci untuk enkripsi file. String dapat berupa karakter
apapun dengan panjang maksimal 20 karakter. Kemudian user memilih penerima pesan secara tidak langsung memasukkan
kunci publik penerima. Setelah itu proses enkripsi dimulai. Proses memanggil fungsi
enkripsi Advance Encryption Standard untuk enkripsi file, kemudian memanggil fungsi enkripsi Rivest Shamir Adleman
untuk enkripsi password. Sesudah selesai, proses memasukkan data file ke dalam database. Proses enkripsi dilakukan sebanyak
jumlah file yang terisi tidak kosong. Setelah proses enkripsi selesai, data file terenkripsi ditampilkan.
66
2. Flowchart enkripsi Advance Encryption Standard
1 Baca file
r = 10 AddRoundKey
SubBytes ShiftRows
true r = 1 ?
false MixColumns
Panggil modul ekspansi kunci 5
6
AddRoundKey r - 1
r = 0 ? false
true 2
Gambar 4.8. Flowchart proses enkripsi dengan metode Advance Encryption Standard Sumber : Munir, 2006
67
Proses enkripsi dengan metode Advance Encryption Standard seperti ditunjukkan pada gambar 4.8, dimulai dengan membaca
file. Didefinisikan bahwa jumlah round adalah sepuluh. Proses melakukan fungsi AddRoundKey terhadap data dengan round
key awal. Selanjutnya proses berlanjut dengan round-1 putaran
dengan memanggil
fungsi SubBytes
, ShiftRows
, MixColumns
, KeyExpansion, dan AddRoundKey. Setelah selesai, putaran terakhir dilakukan dengan memanggil fungsi
SubBytes , ShiftRows, KeyExpansion, dan AddRoundKey.
Setelah itu proses enkripsi Advance Encryption Standard Selesai.
68
3. Flowchart enkripsi Rivest Shamir Adleman
3 plainteks M, n, e
Transformasi M m
m n - 1 false
m dibagi menjadi blok-blok true
c = m
e
mod n cipherteks c
c n - 1 false
c disatukan menjadi kesatuan bilangan integer
true cipherteks c
Transformasi c C
cipherteks C 4
Gambar 4.9. Flowchart proses enkripsi dengan metode Rivest Shamir Adleman Sumber : Munir : 2006
Berdasarkan gambar 4.9, enkripsi dengan metode Rivest Shamir Adleman dimulai dengan inisialisasi plainteksM, np x q, dan
kunci publike. Plainteks dalam hal
ini password, ditransformasi ke dalam angka m. Selanjutnya, jika m lebih
69
besar dari n dikurang 1, m dibagi menjadi blok-blok. Selanjutnya dilakukan penghitungan cipherteks c dengan
rumus c = m
e
mod n. Jika c lebih besar dari n dikurang1, c disatukan menjadi kesatuan bilangan integer. Selanjutnya
dilakukan transformasi cipherteks c menjadi C.
70
4. Flowchart
proses dekripsi
start Pilih file
Cek file sementara File benar?
false true
Input kunci private Kunci valid?
false true
i=0, n = jml file, jml file10, n=10 Panggil modul dekripsi RSA
7 8
Panggil modul dekripsi AES 9
10
i++ true
i n ? false
Tampilkan hasil dekripsi stop
Gambar 4.10. Flowchart proses dekripsi
71
Untuk proses dekripsi, sesuai dengan gambar 4.10, dekripsi dimulai dengan memilih file yang akan didekripsi. Lalu
menampilkan sementara file-file yang akan didekripsi. Jika file benar, masukkan kunci privat. Setelah itu periksa apakah kunci
privat valid atau tidak. Jika kunci privat tidak valid, masukkan lagi kunci privat. Jika valid, proses dekripsi berjalan.
Dimulai dengan menginisialisasi i=0, njumlah file, jika jumlah file lebih dari 10, maka n=10. Selanjutnya selama i
kurang dari n, proses memanggil modul dekripsi Rivest Shamir Adleman, setelah itu memanggil modul dekripsi Advance
Encryption Standard. Setelah proses dekripsi selesai, file-file hasil dekripsi ditampilkan.
72
5. Flowchart
dekripsi Advance Encryption Standard
9 Baca file
r = 10 AddRoundKey
r = 10? true
false Inv MixColumns
Inv SubBytes Inv ShiftRows
Panggil modul ekspansi kunci 5
6 AddRoundKey
r -1 false
r = 0 ? true
10
Gambar 4.11. Flowchart proses dekripsi dengan metode Advance Encryption Standard Sumber : Munir, 2006
Proses dekripsi dengan metode Advance Encryption Standard seperti ditunjukkan pada gambar 4.11, dimulai dengan membaca
file. Didefinisikan bahwa jumlah round adalah sepuluh. Proses 73
melakukan fungsi AddRoundKey terhadap data dengan round key
awal. Selanjutnya proses berlanjut selama round-1 putaran dengan memanggil fungsi InvMixColumns, InvSubBytes,
InvShiftRows , KeyExpansion, dan AddRoundKey. Setelah
selesai, putaran terakhir dilakukan dengan memanggil fungsi InvSubBytes
, InvShiftRows
, KeyExpansion
, dan
AddRoundKey . Setelah itu proses dekripsi Advance Encryption
Standard Selesai.
74
c
6. Flowchart
dekripsi Rivest Shamir Adleman
7 cipherteks C, n, d
Transformasi C c
c n - 1 false
c dibagi menjadi blok-blok true
m =
d
mod n plainteks m
m n - 1 false
m disatukan menjadi kesatuan bilangan integer
true plainteks m
Transformasi m M
plainteks M 8
Gambar 4.12. Flowchart proses dekripsi dengan metode Rivest Shamir Adleman Sumber : Munir, 2006
Berdasarkan gambar 4.12, dekripsi dengan metode Rivest Shamir Adleman dimulai dengan inisialisasi cipherteksC, np
x q, dan kunci privat d. Cipherteks ditransformasi ke dalam angka c. Selanjutnya, jika c lebih besar dari n dikurang 1, c
75
dibagi menjadi blok-blok. Selanjutnya dilakukan penghitungan plainteks m dengan rumus m = c
d
mod n. Jika m lebih dari n dikurang1, m disatukan menjadi kesatuan bilangan integer.
Selanjutnya dilakukan transformasi plainteks m menjadi M.
4.5.3. Perancangan Basis Data
Pada pengembangan aplikasi acrypt cs ini digunakan
database sebagai pelengkap program seperti proses login dan proses penamaan dan penyimpanan file enkripsi. Database yang
digunakan adalah database MySQL. 1.
Struktur Entity Relationship Diagram ERD
user mengenkripsi
mendekripsi
plainteks menjadi
cipherteks
Gambar 4.13. Struktur Entity Relationship Diagram
2. Normalisasi
a. Relasi User_Plainteks
UnNormalized Form Bentuk Tidak Normal
id_user username
fullname password
public_key private_key
sec_question sec_answer
id_plainteks plain_name
plain_size
1
st
Normal Form Bentuk Normal Pertama 76
id_user
username fullname
password public_key
private_key sec_question
sec_answer id_plainteks
plain_name plain_size
2
nd
Normal Form Bentuk Normal Kedua
id_user
username fullname
password public_key
private_key sec_question
sec_answer
id_plainteks plain_name
plain_size
id_outbox
id_plainteks id_user
b. Relasi User_Cipherteks
UnNormalized Form Bentuk Tidak Normal
id_user username
fullname password
public_key private_key
sec_question sec_answer
id_cipherteks cipher_name
cipher_size aes_key
iv
1
st
Normal Form Bentuk Normal Pertama
id_user username
fullname password
public_key private_key
sec_question sec_answer
id_cipherteks cipher_name
cipher_size aes_key
iv
2
nd
Normal Form Bentuk Normal Kedua
id_user
username fullname
password public_key
private_key sec_question
sec_answer
id_cipherteks cipher_name
cipher_size aes_key
iv
id_inbox
id_cipherteks id_user
c. Relasi Plainteks_Cipherteks
UnNormalized Form Bentuk Tidak Normal
id_plainteks plain_name
plain_size id_cipherteks
cipher_name cipher_size
aes_key iv
77
1st Normal Form Bentuk Normal Pertama
id_plainteks plain_name
plain_size id_cipherteks
cipher_name cipher_size
aes_key iv
2nd Normal Form Bentuk Normal Kedua Karena satu plainteks pasti menjadi satu cipherteks,
maka tabel dapat digabungkan menjadi satu tabel. Maka semua field id_cipherteks dan id_plainteks
akan digabungkan menjadi id_file.
id_file plain_name
plain_size cipher_name
cipher_size aes_key
iv
3. Logical Record Structure
Gambar 4.14. Logical Record Structure LRS 4.
Spesifikasi Tabel Nama Database
: acryptcs
1. Nama Tabel
: user Primary Key
: id_user Foreign Key
: - 78
Tipe File : File Master
field type
attributes extra
id_user int11
unsigned auto_increment
username varchar30
fullname varchar50
password varchar50
public_key varchar20
private_key varchar20
sec_question varchar50
sec_answer varchar20
2. Nama Tabel
: file Primary Key
: id_file Foreign Key
: - Tipe File
: File Master
field type
attributes extra
id_file
int11 unsigned
auto_increment plain_name
varchar100 plain_size
varchar20 cipher_name
varchar100 cipher_size
varchar20 aes_key
varchar50 iv
varchar20 date
varchar27
3. Nama Tabel
: inbox Primary Key
: id_inbox Foreign Key
: id_file, id_user Tipe File
: File Master
field type
attributes extra
79
id_inbox
int11 unsigned
auto_increment id_file
int11 id_user
int11
4. Nama Tabel
: outbox Primary Key
: id_outbox Foreign Key
: id_file, id_user Tipe File
: File Master
field type
attributes extra
id_outbox int11
unsigned auto_increment
id_file int11
id_user int11
4.5.4. Perancangan Antarmuka
Dalam perancangan antarmuka aplikasi keamanan data yang berbasis client server ini, dibuat beberapa form yang akan
ditampilkan. 1.
Perancangan Halaman Login Halaman login merupakan
tampilan untuk login. Pengguna telah terdaftar diharuskan untuk mengisikan
username dan password.
80
Logo acrypt cs Please login
image
username : password :
enter sign up
image
footer
Gambar 4.15. Rancangan halaman login Apabila pengguna belum terdaftar, dapat mendaftar
terlebih dahulu dengan mengklik tombol “sign up”. Hal ini mencegah aplikasi agar tidak diakses oleh sembarang
orang.
81
sign up clear
Logo acrypt cs
Sign up
image
Fullname
:
username :
password :
confirm password :
security question question
:
answer :
image
enter word above :
login
footer
Gambar 4.16. Rancangan halaman sign up
2. Perancangan Halaman Utama Home
Halaman Home merupakan tampilan utama yang di dalamnya terdapat sembilan link utama yang masing-
masing mempunyai fungsi sebagai berikut : 1.
Encrypt : menampilkan halaman enkripsi. 2.
Decrypt : menampilkan halaman dekripsi. 3.
Inbox : menampilkan halaman kotak masuk. 4.
Outbox : menampilkan halaman kotak keluar.
82
5. My key : menampilkan halaman untuk melihat kunci
privat dan mengubah pasangan kunci. Halaman ini dilindungi dengan pertanyaan pengaman yang dibuat
saat sign up. 6.
Change password : menampilkan halaman untuk mengubah password login.
7. About : menampilkan halaman profil pembuat
aplikasi. 8.
Help : menampilkan halaman bantuan aplikasi. 9.
Logout : keluar dari account.
Logo acrypt cs
Keterangan inbox baru
Keterangan menu
saat mouseover
Keterangan menu
saat mouseover
Menu utama
footer
Gambar 4.17. Rancangan halaman utama
83
3. Perancangan Halaman Encrypt
Halaman enkripsi akan muncul jika user memilih menu “encrypt” pada halaman utama. Terdapat enam halaman
dalam rancangan halaman encrypt, yaitu: a.
Rancangan halaman input jumlah file Halaman input jumlah file merupakan halaman awal
dari proses enkripsi. User memilih jumlah file yang akan dienkripsi pada halaman ini.
Logo acrypt cs
encryption
Number of file :
Combo box enter
cancel
footer
Gambar 4.18. Rancangan halaman input file enkripsi
b. Rancangan halaman input file
Halaman input file merupakan halaman kedua dari proses enkripsi. Terdapat input file yang akan
dienkripsi. Halaman menyediakan input
file sebanyak 5 file. User dapat memilih file dengan
mengklik tombol browse. Untuk menghindari
84
kesalahan, user tidak dapat mengetikkan sendiri file yang akan dienkripsi.
Logo acrypt cs
encryption
File 1 :
enter
: :
Browse..
File n :
enter Browse..
next clear all
cancel
footer
Gambar 4.19. Rancangan halaman input file enkripsi
c. Halaman cek file
Halaman ini menampilkan sementara file-file yang akan dienkripsi.
85
Logo acrypt cs
encryption
File 1
File name :
File type
:
File size :
Status :
: :
:
File n
File name :
File type :
File size
:
Status :
next cancel
footer
Gambar 4.20. Rancangan halaman cek file
d. Halaman input password.
Halaman ini meminta user untuk memasukkan password berupa string yang akan digunakan untuk
enkripsi file pada halaman sebelumnya.
86
Logo acrypt cs
encryption
input string for AES password encryption :
next cancel
footer
Gambar 4.21. Rancangan halaman input password e.
Halaman pilih tujuan penerima. Sebenarnya halaman ini meminta user untuk
memasukkan kunci publik penerima pesan. Tetapi untuk
mencegah kesalahan
input, aplikasi
menyediakan form yang memudahkan user untuk memilih tujuan penerima pesan. Setelah button
encrypt diklik, proses enkripsi akan dimulai.
87
Logo acrypt cs
encryption
Select receiver
o
Username 1
o
Username 2 :
:
o
Username n
next cancel
footer
Gambar 4.22. Rancangan halaman pilih tujuan
f. Halaman encryption complete
Halaman ini muncul setelah proses enkripsi selesai. Halaman ini menginformasikan file hasil enkripsi,
ukuran file, waktu enkripsi, dan user penerima.
88
Logo acrypt cs
encryption
Encryption complete for these file File 1
File name :
File size
:
Process time :
: :
:
File n
File name
:
File size
:
Process time :
finish
footer
Gambar 4.23. Rancangan halaman encryption complete
4. Perancangan Halaman Decrypt
Halaman dekripsi akan muncul jika user memilih menu “decrypt” pada halaman utama. Terdapat lima halaman
dalam rancangan halaman decrypt, yaitu: a.
Rancangan halaman pilih file Halaman pilih file merupakan halaman awal dari
proses dekripsi. Terdapat checkbox untuk memilih file yang akan didekripsi. User diizinkan memilih
paling banyak 10 file. Jika user memilih lebih dari
89
10 file, maka file ke 11 dan seterusnya akan diabaikan.
Logo acrypt cs
decryption
Record 1 Record 2
: :
: :
Record n
decrypt cancel
footer
Gambar 4.24. Rancangan halaman pilih file
b. Halaman cek file
Halaman ini menampilkan sementara file-file yang akan didekripsi.
90
Logo acrypt cs
decryption
File 1
File name :
File size
:
Sender :
Date :
: :
:
File n
File name :
File size :
Sender
:
Date :
next cancel
footer
Gambar 4.25. Rancangan halaman cek file
c. Halaman input private key
Halaman ini meminta user untuk memasukkan kunci private miliknya. Kunci private ini akan digunakan
untuk dekripsi password pada file yang terenkripsi. Setelah button decrypt diklik, proses dekripsi akan
dimulai.
91
Logo acrypt cs
decryption
Your private key:
next clear
cancel
footer
Gambar 4.26. Rancangan halaman input private key
d. Halaman decryption complete.
Halaman ini menginformasikan file hasil dekripsi, ukuran file, dan waktu dekripsi.
92
Logo acrypt cs
decryption
Decryption complete for these file File 1
File name :
File size
:
Process time :
: :
:
File n
File name
:
File size
:
Process time :
finish
footer
Gambar 4.27. Rancangan halaman decryption complete
5. Perancangan Halaman Inbox
Halaman inbox akan muncul jika user memilih menu “inbox” pada halaman utama. Halaman ini menampilkan
semua file terenkripsi yang telah dikirimkan oleh user lain kepadanya. User dapat langsung mendekripsi file dari
halaman ini. Tetapi user hanya dapat mendekripsi satu file pada satu waktu. User juga dapat menghapus file tersebut.
93
No Filename
Filesize Sender
Date Action
Record 1
decrypt
Logo acrypt cs
inbox
delete
Record 2 decrypt
delete
: :
: :
Record n
decrypt delete
footer
Gambar 4.28. Rancangan halaman inbox
6. Perancangan Halaman Outbox
Halaman outbox akan muncul jika user memilih menu “outbox” pada halaman utama. Halaman ini menampilkan
semua file terenkripsi yang telah dikirimkan oleh user ini kepada user lain. User dapat menghapus file tersebut.
94
Logo acrypt cs
outbox
No Filename
Filesize Receiver Date
Action Record 1
delete
Record 2 delete
: :
: :
Record n
delete
footer
Gambar 4.29. Rancangan halaman outbox
7. Perancangan Halaman My Key
Halaman my key akan muncul jika user memilih menu “my key” pada halaman utama. Halaman ini memberi
kesempatan user untuk melihat kunci privat jika user lupa dan merubah pasangan kuncinya. Halaman ini
dilindungi pertanyaan pengaman yang dibuat saat sign up. Jika pertanyaan dijawab dengan benar, maka private key
akan muncul dan memberikan link untuk mengubah pasangan kuncinya. Jika user memilih link tersebut, maka
aplikasi akan langsung membangkitkan pasangan kunci publik dan kunci private jika inbox user dalam keadaan
kosong. Jika inbox tidak kosong, maka user harus
95
menghapus dulu seluruh file yang ada di inbox-nya. User juga dapat merubah lagi pasangan kuncinya dengan me-
refresh halaman ini. User harus langsung menyimpan kunci private yang telah ada.
Logo acrypt cs My key
image
For security reason, you have to answer your security question to get your private key or
change your key pair..
sequrity question
your answer :
answer enter
clear cancel
footer
Gambar 4.30. Rancangan halaman my key security question
Logo acrypt cs
My key
image
your private key :
new key
Please safely keep your private key..
change my key
footer
Gambar 4.31. Rancangan halaman my key private key
96
Logo acrypt cs
Change key
image
your key has been change refresh page for new key.. you have to save your private key :
new key
footer
Gambar 4.32. Rancangan halaman generate key
8. Perancangan Halaman Change Password
Halaman change password akan muncul jika user memilih menu “change password” di halaman utama. Halaman ini
memberi kesempatan user untuk merubah password loginnya.
97
Logo acrypt cs
Change password
image
current password :
new password :
confirm password :
save clear
footer
Gambar 4.33. Rancangan halaman change password
9. Perancangan Halaman Help
Halaman help akan muncul jika user memilih menu “help” pada halaman utama. Halaman ini menampilkan semua
bantuan yang mungkin diperlukan oleh user. Termasuk sedikit materi tentang metode yang digunakan dalam
aplikasi ini.
98
Logo acrypt cs
help
Singkat tentang acrypt cs
Algoritma AES Algoritma RSA
Link bantuan
Gambar marquee
footer
Gambar 4.34. Rancangan halaman help 10. Perancangan Halaman About
Halaman about akan muncul jika user memilih menu “about” pada halaman utama. Halaman ini menampilkan
beberapa informasi tentang pembuat aplikasi.
99
Logo acrypt cs
about
foto
Nama : zaenal muttaqin Nim : 2040 9100 2553
Jurusan : teknik informatika Fakultas : sains dan tekologi
e-mail : jayker85gmail.com
Ucapan terima kasih
footer
Gambar 4.35. Rancangan halaman about
4.5.5. State Transition Diagram
Berikut adalah gambaran State Transition Diagram-nya :
100
101
Gambar 4.36. State Transition Diagram Aplikasi Acrypt CS
102
Berdasarkan State Transition Diagram pada gambar 4.34,
aplikasi acrypt cs dimulai dengan halaman login. User
memasukkan username dan password yang telah terdaftar sebelumnya. Jika user belum terdaftar, user mengklik link
signup dan menuliskan data pribadi user di form yang
disediakan. Setelah signup selesai, user diberikan kunci privat yang harus disimpan oleh user untuk mendekripsi pesan yang
dikirimkan kepadanya. Setelah user berhasil login, aplikasi menampilkan halaman
utama yang berisi sembilan menu utama yaitu encryption, decryption, inbox, outbox, generate new key pair, change key,
help about, dan logout.
Jika user mengklik encryption, maka muncul halaman
encryption yang meminta User memasukkan jumlah file yang akan dienkripsi. Jika user menekan next, tampil halaman input
file yang akan dienkripsi. Jika user menekan back aplikasi akan kembali ke halaman input jumlah file. Jika user menekan next
akan tampil halaman cek file yang menginformasikan tentang file yang akan dienkripsi. Jika user menekan next akan tampil
halaman input password. Setelah memasukkan password, Jika user menekan next aplikasi akan melakukan enkripsi dan setelah
selesai, menampilkan informasi file hasil enkripsi. Pada semua halaman enkripsi tersebut, Jika user menekan cancel aplikasi
akan kembali ke halaman utama.
103
Jika user mengklik decryption, maka muncul halaman
decryption yang meminta user memilih file yang akan didekripsi. User dapat memilih maksimal 10 file. Jika user
memilih lebih dari 10 file, maka file setelah 10 terbawah akan diabaikan. Jika user menekan next akan tampil halaman cek file
yang menginformasikan tentang file yang akan didekripsi. Jika user menekan next akan tampil halaman input private key.
Setelah memasukkan private key, Jika user menekan next aplikasi akan melakukan dekripsi dan setelah selesai,
menampilkan informasi file hasil dekripsi. Pada semua halaman dekripsi tersebut, Jika user menekan cancel aplikasi akan
kembali ke halaman utama. Pada halaman hasil dekripsi, user harus menyimpan file yang telah didekripsi. Karena setelah user
menekan tombol finish, file akan segera dihapus.
Jika user menekan inbox, maka muncul halaman inbox
yang menampilkan file terenkripsi yang dikirimkan kepadanya. User dapat langsung mendekripsi atau menghapus file yang ada
dalam inbox-nya. Jika user menekan tombol decrypt, akan tampil halaman cek file yang menginformasikan sementara file
yang akan didekrip. Jika user menekan next, muncul halaman input private key. Setelah itu, jika user menekan decrypt,
dekripsi akan diproses. Setelah selesai, informasi file hasil dekripsi akan ditampilkan. Pada semua halaman inbox tersebut,
Jika user menekan cancel aplikasi akan kembali ke halaman
104
inbox. Pada halaman hasil dekripsi, user harus menyimpan file yang telah didekripsi. Karena setelah user menekan tombol
finish, file akan segera dihapus. Jika user menekan delete, maka tampil halaman konfirmasi file yang akan dihapus. User dapat
menekan yes untuk menghapus, atau no untuk membatalkan.
Jika user mengklik outbox, akan tampil halaman outbox
yang menampilkan semua file yang telah dikirimkan olehnya. User dapat menghapus file tersebut. Jika user menekan delete,
maka tampil halaman konfirmasi file yang akan dihapus. User dapat menekan yes untuk menghapus, atau no untuk
membatalkan.
Jika user mengklik generate new key, akan tampil
halaman yang membangkitkan pasangan kunci publik dan kunci privat yang baru. User harus menyimpan kunci privat yang baru
tersebut. Tetapi jika user masih memiliki file di inbox, aplikasi tidak akan membangkitkan pasangan kunci yang baru, tetapi
menampilkan link untuk menghapus semua file yang ada di inbox. Jika menekan delete all files, tampil halaman konfirmasi
untuk menghapus semua file inbox. Jika menekan yes, akan tampil halaman yang membangkitkan pasangan kunci publik
dan kunci privat yang baru. Jika menekan no, aplikasi akan kembali ke menu utama.
Jika user mengklik change password, akan tampil
halaman yang menampilkan form untuk mengubah password
105
login. Setelah form diisi dan ditekan next, akan diberitahukan bahwa perubahan berhasil. User harus login kembali setelah
mengubah passwordnya.
Jika user mengklik help, akan tampil halaman help yang
berisi deskripsi singkat aplikasi, teori singkat metode Advance Encryption Standard dan Rivest Shamir Adleman, dan link help
yang detil yaitu encryption, decryption, inbox, outbox, generate new key pair, dan change password. Jika user mengklik salah
satu link tersebut, maka tampil halaman penjelasan sesuai link yang diklik. Pada semua halaman help tersebut, jika user
mengklik home, akan kembali ke menu utama.
Jika user mengklik about, maka tampil halaman deskripsi
singkat tentang pembuat aplikasi. Jika user mengklik home, akan kembali ke menu utama.
Jika user mengklik logout, maka aplikasi akan menghapus
session dan menampilkan halaman login kembali.
4.6. Fase Konstruksi
Pada fase ini, dilakukan pengkodean terhadap rancangan-rancangan yang telah didefinisikan sebelumnya menggunakan bahasa pemrograman
PHP. Pengkodean aplikasi ini menggunakan software EditPlus untuk mengedit source code program, dan adobe photoshop untuk mendesain
user interface . Aplikasi ini dibuat dengan memanfaatkan library dan
class yang sudah tersedia. Library yang digunakan adalah library
106
enkripsi Advance Encryption Standard rijndael yang terdapat pada interpreter PHP yang digunakan. Pemanfaatan library tersebut
ditunjukkan pada potongan kode sumber berikut :
td = mcrypt_module_openrijndael-128, , cbc, ; iv
= mcrypt_create_iv
mcrypt_enc_get_iv_sizetd, MCRYPT_RAND;
ks = mcrypt_enc_get_key_sizetd; key = _SESSION[AESpass];
mcrypt_generic_inittd, key, iv; encrypted_data = mcrypt_generictd, initial_contents;
Sedangkan class yang digunakan untuk membangun aplikasi adalah class enkripsi Rivest Shamir Adleman. Penggunaan kelas tersebut
ditunjukkan dengan potongan kode sumber berikut :
require_once
rsa
.class;
rsa
= New SecurityRSA; encoded =
rsa
-
rsa
_encryptkey, e, n;
Class Rivest Shamir Adleman dan kode sumber selengkapnya
dapat dilihat pada lampiran C.
4.7. Fase Pelaksanaan Implementasi