BAB 3 ANALISIS DAN PERANCANGAN PROGRAM
Dalam perancangan program simulasi dan penyusunan aplikasi ini terdiri dari empat
tahapan,
yaitu
analisis,
perancangan,
pengkodean,
dan
pengujian/implementasi. Tahap analisis, perancangan, dan pengkodean akan dibahas pada bab 3 ini, sedangkan tahap pengujian atau implementasi akan dilanjutkan di Bab 4.
3.1
Analisis masalah Seiring dengan berkembangnya teknologi, keamanan data menjadi hal yang
sangat penting untuk saat ini, karena melihat sekarang pertukaran data sangat mudah dan cepat dilakukan. Sebagai contoh kita ambil dalam kasus pengirimaan kunci jawaban soal ujian. Si A ingin mengirim kunci jawaban ke B, dan kunci jawaban dikirim ke B tanpa proses kriptografi. Dan tanpa diketahui oleh pihak B, ada pihak ketiga yaitu si C yang tidak berhak untuk membuka pesan tersebut. Dan si C dengan sengaja menyebarkan isi pesan tersebut. Jika pesan tersebut diproses dengan kriptografi maka pesan tersebut tidak dapat dipahami oleh orang yang tidak berhak menerima pesan tersebut dengan isi pesan yang hasil berupa chipertext yang berbentuk angka-angka. Dan disini Kriptografi merupakan salah satu cara untuk mengamankan suatu data atau informasi. Meskipun kriptografi adalah salah satu cara untuk mengamankan data namun masih ada kekurangannya. Kriptografi sudah banyak algoritma yang telah dikembangkan salah satunya dengan menggunakan ElGamal. Dan seberapa rumitpun algoritma yang dipakai untuk enkripsi ini, masalah keamanan data tetap ada karena ada pihak-pihak yang juga mengembangkan teknik dekripsi untuk mencuri data tersebut. Hal ini dikarenakan enkripsi tidak dilakukan secara tersembunyi.
3.2
Solusi masalah Setelah melihat betapa pentingnya kebutuhan dan keamanan dalam bertukar
informasi, maka penulis memutuskan untung membuat sebuah program aplikasi kriptografi pengiriman pengamanan pesan pada email yang menggunakan algoritma ElGamal yang disini mengubah file .txt dalam plaintext diubah ke chipertext.
31
32
Dimana dalam proses enkripsinya mencari pangkat x bilangan acak dari bilangan g dimana bilangan tersebut kongkruen dengan bilangan bulat lainnya (y) jika di mod dengan bilangan p (bilangan prima) kerumitannya terletak pada masalah diskrit karena melibatkan bilangan prima sebagai variabel modulo dan x adalah bilangan yang dicari berupa pangkat.
3.3
Perancangan sistem program Pada perancangan program aplikasi ini akan dibuat dan dirancang sedemikian
rupa agar menghasilkan sebuah aplikasi program yang efisien dan mudah digunakan oleh pengguna serta dapat memberikan hasil keluaran yang jelas dan mudah dipahami oleh pengguna program aplikasi tersebut.
3.3.1 Flowchart utama Start User Login Verifikasi Login Sistem Enkripsi isi File dengan metode ElGamal Upload file Sistem memberikan kunci kepada Sender Receiver membuka File Enkripsi dengan kunci yang telah ada Receiver menerima File dimana isinya telah dienkripsikan End
Gambar 3.1 Flowchart Utama Email Kriptografi
33
Dalam flowchart utama ini dijelaskan urutan-urutan sistem proses kerja pengiriman email kriptografi dari awal login sampai dengan proses pengiriman pesan email itu sendiri.
3.3.2 Flowchart umum ElGamal
Start
Input bilangan prima, bilangan acak g, x, dan pesan yang akan di enkrip
Bangkitakan bilangan kunci x Ya
Tidak
g
Hitung y
y, g, p kunci public x kunci private
Enkripsi pesan
Kirim email Terima email Dekripsi pesan
Plainteks m
End
Gambar 3.2 Flowchart Umum ElGamal
34
Dan di flowchart umum ElGamal disini terdapat proses enkripsi dan dekripsi yang digambarkan dalam bentuk flowchart seperti dibawah ini. Start
Input p, g, x
Hitung y =
mod p
Input k Hitung a = Hitung b =
mod p . m mod p
Chiper (a, b) End
Gambar 3.3 Flowchart Enkripsi
Start
p, x
1/
=
mod p m = b/
mod p
m
End
Gambar 3.4 Flowchart Dekripsi
35
3.3.3 Use case
User Login
Enkripsi Pesan
Sender Buat Pesan Baru
Upload File Enkripsi
Memberikan Kunci untuk Dekripsi
Menerima File yang sudah dienkripsi
Mendekripsi isi File dengan Kunci
Receiver
Gambar 3.5 Use case Pengiriman pesan kriptografi
36
3.3.4 Class diagram
Gambar 3.6 Class diagram Email Kriptografi
37
3.3.5 Sequence diagram
Email
Password
Validasi
Gambar 3.7 Sequence diagram Login
Message
Value
Bil Prima
Encrypt
Message
Gambar 3.8 Sequence diagram proses Encrypt
38
File Encrypt
Private key
Decrypt
Message
Gambar 3.9 Sequence diagram proses Decrypt
Email
File Decrypt
Private Key
Gambar 3.10 Sequence diagram Send
Send
39
3.3.6 Activity diagram Berikut ini adalah Activity Diagram dari setiap menu yang ada di aplikasi ini :
Tidak Ya
Gambar 3.11 Activity diagram menu Login
Disini user masuk ke web aplikasi menggunakan google chrome atau web browser lainnya. Lalu masuk ke halaman web aplikasi dengan memasukkan alamat web localhost. Lalu jika user sudah mempunyai user id di web aplikasi ini, user bisa login langsung dan masuk ke halaman utama web aplikasi ini. Jika belum mempunyai user id, user bisa masuk ke menu register di halaman web aplikasi dan menregistrasi terlebih dahulu dan setelah itu baru bisa masuk ke halaman utama dari web aplikasi ini.
Gambar 3.12 Activity diagram menu Registrasi
40
Di proses registrasi ini menjelaskan bagian jika user belum mempunyai id di web aplikasi ini dan memasukan data untuk bisa mempunyai id di web aplikasi ini dan telah meregistrasi id nya.
Tidak Ya
Gambar 3.13 Activity diagram menu Compose
Di proses menu compose ini, dijelaskan proses jika user ingin mengirim pesan ke user lain akan masuk ke menu compose dan jika tidak ingin mengirim pesan ke user lain maka kembali ke halaman utama web aplikasi. Jika ingin mengirim pesan ke user lain maka melakukan proses enkripsi pesan terlebih dahulu dan setelah itu bisa masuk ke membuat pesan baru dan memasukkan file yang telah dienkripsi sebelumnya dan langkah selanjutnya mengirim pesan tersebut.
41
Tidak Ya
Gambar 3.14 Activity diagram menu Sent
Pada proses di menu sent ini menjelaskan proses terlebih dahulu kita membuat pesan baru lalu mengirim pesan nya dan mengecek ke menu sent apakah pesan yang kita kirim tadi sudah terkirim apa belum. Jika belum terkirim bisa mengulang kembali pengiriman tersebut.
42
Gambar 3.15 Activity diagram menu Enkripsi
Diproses menu enkripsi ini menjelaskan jika kita ingin mengirim pesan terlebih dahulu kita melakukan proses enkripsi pesan tersebut dan setelah di enkripsi pesan tersebut baru kita mengirim pesan yang telah dienkripsi tersebut.
43
Gambar 3.16 Activity diagram menu Dekripsi
Pada proses dekripsi ini menjelaskan proses membuka pesan yang telah dikirim dan kita membuka pesan tersebut dengan melakukan proses dekripsi pesan tersebut dan baru kita bisa membaca isi pesan yang telah kita terima.
44
3.3.7 Rancangan layar Rancangan layar yang terdapat pada program aplikasi ini terdiri dari beberapa bagian utama yaitu : •
Halaman login
Login Form username
password
Log in
Create new account
Gambar 3.17 Rancangan layar halaman Login
Pada halaman Login ini berfungsi untuk masuk menggunakan aplikasi ini. Jika user sudah mempunyai ID di aplikasi ini, maka bisa menginput username dan password dan bisa menggunakan aplikasi ini. Jika user belum mempunyai ID di aplikasi ini, maka bisa memilih create new account untuk mendaftarkan dirinya agar bisa menggunakan aplikasi ini.
45
•
Halaman registrasi
Register Form Username
Password
Full name
Email
Phone
DD/MM/YYYY
Sign up
Log in
Gambar 3.18 Rancangan layar halaman menu Registrasi
Pada halaman ini user yang belum mempunya ID bisa mengisi data-data yang tertera pada halaman ini dan bisa menggunakan aplikasi ini selanjutnya.
46
•
Halaman home Welcome, user Compose Sent Enkripsi data Dekripsi data About us
Gambar 3.19 Rancangan layar Halaman Utama
Jika user sudah Login maka akan muncul halaman ini sebagai halaman utama untuk menggunakan aplikasi ini. Terdapat beberapa menu pada halaman utama ini yang tiap menu memiliki fungsi berbeda-beda dan berkaitan satu sama lain dalam menggunakan aplikasi ini. •
Halaman compose Welcome, user Compose
User
:
Subject
:
File
:
Choose user
Sent Encryp data Decrypt data About us
Choose file
Message :
Send
Gambar 3.20 Rancangan layar halaman menu Compose
47
Pada halaman menu compose ini user membuat pesan baru untuk mengirim sebuah pesan dan memasukkan file yang sudah dienkripsi terlebih dahulu dan mengirim pesan tersebut ke user yang dituju untuk menerima file tersebut. •
Halaman sent Welcome, user Compose
To
Subject
Date
Setting
Sent Encrypt data Decrypt data About us
Gambar 3.21 Rancangan layar halaman menu Sent
Pada halaman menu sent anda bisa melihat pesan-pesan yang anda kirim ke user lain dan dapat memastikan pesan yang anda kirim sudah pasti terkirim atau belum.
48
•
Halaman enkripsi Welcome, user Compose Choose File
Sent Encrypt Data
(*.txt only)
File Content :
Decrypt Data About us
Key P :
Key G
Key X
Process
Gambar 3.22 Rancangan layar halaman menu Encrypt Data
Pada halaman menu encrypt data ini tempat proses enkripsi file yang akan dikirim ke penerima yang akan dituju. Setelah file di enkripsi, file bisa dikirim ke orang yang dituju.
49
•
Halaman dekripsi Welcome, user Compose Choose File
Sent Encrypt Data
(*.txt only)
File Encrypt :
Decrypt Data About us
Key P :
Key X :
Process
Gambar 3.24 Rancangan layar halaman menu Decrypt Data
Pada halaman ini menu decrpyt data ini tempat mendekripsi file yang telah di enkripsi sebelumnya. Untuk memastikan apakah file yang telah di enkripsi isi nya sama dengan pesan yang akan dikirim, agar setelah file dikirim tidak terjadi kesalahan pada file yang akan dikirim.
50