ANALISIS PERANCANGAN SISTEM
3.1 Analisis Sistem
3.1.3 Perancangan Sistem
Perancangan sistem dilakukan untuk memperoleh gambaran dari sistem yang akan dibangun sehingga mempermudah dalam proses implementasi maupun proses evaluasi . Sistem pada penelitian ini ini dirancang dengan membuat flowchart, use case
diagram, sequence diagram, activity diagram, serta perancangan antarmuka.
a. Flowchart
Diagram alir (flowchart) merupakan pengambaran diagram yang menjelaskan penyelesaian suatu persoalan dengan langkah-langkah yang terstruktur. Flowchart untuk sistem ini dapat dilihat pada gambar 3.1, gambar 3.2 dan gambar 3.3
1. Flowchart proses pembangkitkan kunci
START Digit p, digit q, digit r, digit d Kunci publik RSA, Kunci privat RSA END
Bangkitkan kunci untuk algoritma RSA Bangkitkan kunci untuk algoritma ECDSA Kunci publik ECDSA, kunci privat ECDSA
Pada gambar 3.1. Proses pembentukan kunci dimulai dari memasukkan jumlah digit untuk tiga buah bilangan prima yaitu p, q, r dan d, selanjutnya akan dihasilkan didapatkan kunci publik dan kunci privat untuk algoritma RSA yang dimodifikasi dan ECDSA dengan menggunakan algoritma pembangkitan kunci RSA yang dimodifikasi dan ECDSA.
2. Flowchart proses enkripsi pesan dan tanda tangan digital
START
Plaintext dan tanda tangan digital dienkripsi menggunakan
algoritma RSA
END
Bangkitkan tanda tangan digital dengan algoritma
ECDSA
Ciphertext
Kunci privat ECDSA, kunci publik RSA,
plaintext
Gambar 3.2.Proses enkripsi pesan dan tanda tangan digital
Pada gambar 3.2. Proses pembentukan tanda tangan digital dilakukan dengan menggunakan algoritma pembentukan tanda tangan digital ECDSA, sedangkan proses enkripsi plaintext dan tanda tangan digital dilakukan dengan menggunakan algoritma enkripsi RSA yang dimodifikasi sehingga dihasilkan ciphertext.
3. Flowchart proses dekripsi pesan dan verifikasi tanda tangan digital
START
END Ciphertext, kunci
publik ECDSA, kunci privat RSA
Ciphertext didekripsi dengan menggunakan
algoritma RSA
Plaintext dipisah dari tanda
tangan digital
Tanda tangan digital diverifikasi dengan menggunakan algoritma
ECDSA
Plaintext, tanda
tangan digital dan status plaintext
Gambar 3.3.Proses dekripsi pesan dan verifikasi tanda tangan digital
Pada gambar 3.3. Proses dekripsi pesan dilakukan dengan menggunakan algoritma enkripsi RSA yang dimodifikasi, sedangkan proses verifikasi tanda tangan digital dilakukan dengan menggunakan algoritma verifikasi ECDSA. Hasil akhir proses ini adalah plaintext, tanda tangan digital dan status dari plaintext.
b. Use Case Diagram
Diagram use case menggambarkan semua kegiatan yang dapat dilakukan pengguna terhadap aplikasi yang dibuat. Pengguna didalam diagram use case disebut sebagai
case dengan use case lainnya adalah include dan extend. Penggunaan hubungan include menunjukkan bahwa sebuah use case dapat melakukan kegiatan yang terdapat
pada use case lainnya untuk sedangkan hubungan extend merepresentasikan use case memiliki kegiatan yang sama dengan use case lainnya namun memiliki berberapa kegiatan tambahan dari use case induknya. Diagram use case untuk sistem ini dapat dilihat pada gambar 3.4.
Bangkitkan Tanda Tangan Digital Verifikasi Tanda Tangan Digital Bangkitkan Kunci Dekripsi Enkripsi Bangkitkan Tanda Tangan Digital Dan
Enkripsi Berkas <<include>> <<include>>
Dekripsi Berkas dan Verifikasi Tanda
Tangan Digital <<include>>
<<include>>
Pengirim Penerima
Gambar 3.4. Diagram use case
Gambar 3.4 menunjukkan bahwa pengirim dan penerima merupakan actor yang sama- sama dapat melakukan pembangkitan kunci, Setelah para actor membangkitkan kunci, pengirim selanjutnya melakukan pembangkitan tanda tangan digital, setelah itu dilakukan enkripsi pada plaintext dan tanda tangan digital sehingga menghasilkan
ciphertext. Penerima kemudian melakukan proses dekripsi pesan dan verifikasi tanda
tangan digital dengan melakukan proses dekripsi terhadap pesan ciphertext sehingga menghasilkan plaintext kemudian dilakukan proses verifikasi tanda tangan digital.
c. Activity Diagram
Diagram activity adalah diagram digunakan untuk mengambarkan alur semua jenis proses yang terdapat didalam sistem. Hubungan kegiatan yang dilakukan antara use
dapat dilihat pada gambar 3.5, gambar 3.6 dan gambar 3.7.
Gambar 3.5. Activity Diagram Bangkitkan Kunci
Buka Tab Bangkitkan Kunci
Input Digit Kunci untuk ECDSA
Digit < 1 Tidak
Ya
Tampilkan kunci publik dan kunci privat
untuk ECDSA
Input Digit Kunci untuk RSA
Digit < 2 Tidak
Bangkitkan kunci RSA Ya
Tampilkan kunci publik dan kunci privat untuk RSA Bangkitkan kunci
Gambar 3.6.Activity Diagram Bangkitkan Tanda Tangan Digital dan Enkripsi Pesan
Enkripsi pesan dan tanda tangan digital Tampilkan tanda tangan digital Simpan ciphertext Pilih berkas plaintext
Buka Form Bangkitkan Tanda Tangan Digital
dan Enkripsi Pesan
Bangkitkan tanda tangan digital
Masukkan kunci publik RSA penerima pesan Masukkan kunci privat
Gambar 3.7. Activity Diagram Dekripsi Pesan dan Verifikasi Tanda Tangan Digital
d. Sequence Diagram
Sequence diagram adalah diagram yang menunjukkan interaksi antara objek dalam
waktu tertentu. Terdapat dua hubungan antara objek yaitu message dan return
message. Message direpresentasikan dengan arah panah, sedangkan return message
dengan panah putus-putus. Sedangkan objek yang melakukan proses terhadap dirinya sendiri disebut sebagai recursive message yang dilambangkan dengan panah sirkular.
Masukkan kunci privat RSA
Dekripsi Ciphetext
Pisahkan plaintext dari tanda tangan digital
Tampilkan isi pesan dan tanda tangan digital dan status keabsahan pesan
Buka Form Dekripsi Pesan dan Verifikasi Tanda Tangan Digital
Pilih berkas ciphertext
Masukkan kunci publik ECDSA pengirim
Verifikasi tanda tangan digital
Adapun sequence diagram dari sistem yang akan dibangun dapat dilihat pada gambar 3.8, gambar 3.9 dan gambar 3.10.
Gambar 3.8. Sequence Diagram Bangkitkan Kunci
Gambar 3.9. Sequence Diagram Bangkitkan Tanda Tangan Digital dan Dekripsi Pesan
Pengirim
Form Bangkitkan
Kunci
Input digit untuk kunci ECDSA
Tampilan Kunci ECDSA
Bangkitkan Kunci ECDSA Buka Form
Bangkitkan Kunci Penerima
Input digit untuk kunci RSA
Tampilan Kunci RSA
Bangkitkan Kunci RSA
Buka Form Bangkitkan Kunci
Pengirim
Input Kunci Publik RSA P ene rim a Bangkitkan Tanda Tangan Digital dan Enkripsi Pesan Buka Tab Bangkitkan
Tanda Tangan Digital dan Enkripsi Pesan
Bangkitkan Tanda Tangan Digital Input Kunci Privat EC DSA Input Plaintext Enkripsi
Tanda Tangan Digital
Enkripsi dan Simpan Ciphertext Berkas Ciphertext Plaintext Tampilkan Ta nda Tangan Digital Input Plaintext Tampilan Tanda Tangan Digital Input Kunci Enkripsi pesa n sele sai Bangkitkan Tanda Tangan Digital
Gambar 3.10. Sequence Diagram Dekripsi Pesan dan Verifikasi Tanda Tangan Digital
e. Perancangan Antarmuka
Perancangan antarmuka merupakan gambaran desain awal dari aplikasi yang akan dibangun. Antarmuka yang dibuat harus mudah digunakan pengguna. Perangkat lunak dibangun dengan menggunakan bahasa pemrograman Java dan menggunakan JavaFX sebagai library antarmuka. Adapun prototipe dari aplikasi yang akan dibangun.
1. Antarmuka bangkitkan kunci
Pada tampilan antarmuka bangkitkan kunci, pengirim membangkitkan kunci untuk algoritma ECDSA sedangkan penerima akan membangkitkan kunci untuk algoritma RSA yang dimodifikasi. Prototipe antarmuka dapat dilihat pada gambar 3.11.
Penerima
Input Kunci Publik ECDSA Pengirim Dekripsi Pesan dan
Verifikasi Tanda Tangan Digital Buka Tab Dekr ipsi P esan
Berkas dan Verifikasi TandaTanga n Digital Dekripsi Input Kunci Privat RSA Input Ciphertext Verifikasi Tanda Tangan Digital
Tanda Tangan Digital
Verifikasi Tanda Tangan Digital Validitas Tanda Tangan Digital Plaintext Tampilkan Ta nda Tangan Digital Input Ciphertext Tampilan Tanda Tangan Digital Input Kunci Tampilan Status Tanda Tangan Digital
Dekripsi Ciphertext
Tampilkan Plaintext Tampilan Plaintext
Gambar 3.11.Rancangan Antarmuka Bangkitkan Kunci
Keterangan :
1. TextField untuk memasukkan digit untuk kunci privat (d) ECDSA.
2. TextField untuk menampilkan kunci privat (d) ECDSA yang dihasilkan.
3. TextField untuk menampilkan kunci publik (Qx) ECDSA yang dihasilkan.
4. TextField untuk menampilkan kunci publik (Qy) ECDSA yang dihasilkan.
5. TextField untuk memasukkan digit bilangan prima (p).
6. TextField untuk menampilkan bilangan prima (p) yang dihasilkan.
7. TextField untuk memasukkan digit bilangan prima (q).
8. TextField untuk menampilkan bilangan prima (q) yang dihasilkan.
9. TextField untuk memasukkan digit bilangan prima (r).
10.TextField untuk menampilkan bilangan prima (r) yang dihasilkan.
11.TextField untuk menampilkan kunci privat (ϕ(n)) RSA. 12.TextField untuk menampilkan kunci publik (d) RSA.
13.TextField untuk menampilkan kunci publik (n) RSA.
14.TextField untuk menampilkan kunci publik (e) RSA.
15.Button untuk menghasilkan kunci baru sesuai dengan digit yang dimasukkan pengirim dan pengguna.
2. Antarmuka bangkitkan tanda tangan digital dan enkripsi pesan
Pada tampilan antarmuka bangkitkan tanda tangan digital dan enkripsi pesan, pengirim memasukkan kunci privat ECDSA dan memilih plaintext. Proses pembangkitan tanda tangan dilakukan seketika ketika pengirim memilih plaintext,
1 2 3 4 5 6 7 8 9 10 12 11 13 14 15
kemudian memasukkan kunci publik RSA yang dimodifikasi penerima untuk melakukan proses enkripsi sehingga menghasilkan pesan ciphertext. Prototipe antarmuka dapat dilihat pada gambar 3.11.
Gambar 3.12.Rancangan Antarmuka Bangkitkan Tanda Tangan Digital dan Enkripsi Pesan.
Keterangan :
1. Button untuk memilih berkas plaintext.
2. TextField berisi lokasi berkas plaintext yang akan diproses.
3. TextArea berisi plaintext dan dapat diubah.
4. TextField sebagai tempat untuk memasukkan kunci privat (d) ECDSA pengirim.
5. Button untuk menghasilkan tanda tangan digital dari plaintext. 6. TextField yang menyatakan status pembuatan tanda tangan digital.
7. TextField menampilkan tanda tangan digital (r) yang dihasilkan.
8. TextField menampilkan tanda tangan digital (s) yang dihasilkan.
9. TextField untuk memasukkan kunci publik (e) RSA penerima.
10. TextField untuk memasukkan kunci publik (n) RSA penerima.
11. Button untuk menghasilkan sekaligus menyimpan ciphertext.
12. TextField untuk menyatakan status enkripsi pesan dan penyimpanan ciphertext.
1 2 3 4 5 6 7 8 9 10 12 11
3. Antarmuka dekripsi pesan dan verifikasi tanda tangan digital
Pada tampilan antarmuka dekripsi pesan dan verifikasi tanda tangan digital, penerima memasukkan kunci privat RSA yang dimodifikasi dan memilih pesan ciphertext. Hasil dari proses enkripsi akan ditampilkan pada textarea, kemudian memasukkan tanda tangan digital pesan dan penerima kunci publik ECDSA pengirim untuk melakukan proses verifikasi sehingga menghasilkan status keabsahan dari plaintext. Prototipe antarmuka dapat dilihat pada gambar 3.13.
Gambar 3.13. Rancangan Baca Pesan dan Verifikasi Tanda Tangan
Keterangan :
1. Button untuk memilih pesan ciphertext.
2. TextField berisi lokasi berkas plaintext yang akan diproses.
3. TextField untuk memasukkan kunci privat (d) RSA.
4. TextField untuk memasukkan kunci privat (n) RSA.
5. Button untuk melakuka proses dekripsi.
6. TextField untuk menampilkan status proses dekripsi.
7. TextArea untuk menampilkan hasil dekripsi.
8. TextField untuk menampilkan tanda tangan digital (r).
9. TextField untuk menampilkan tanda tangan digital (s).
10. TextField untuk menampilkan kunci publik pengirim (Qx) ECDSA.
11. TextField untuk menampilkan kunci publik pengirim (Qy) ECDSA.
12. Button untuk melakukan proses verifikasi tanda tangan digital.
13. TextField untuk menampilkan status proses verifikasi dan tanda tangan digital.
1 2 3 4 5 6 7 8 9 10 12 11 13 13
BAB IV