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 Tidak Ya g < p 1 <= x <= p-2 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 = mod p Hitung b =. 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 Send Gambar 3.10 Sequence diagram Send
3.3.6 Activity diagram Berikut ini adalah Activity Diagram dari setiap menu yang ada di aplikasi ini : 39 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 Compose User : Sent Encryp data Subject : Decrypt data About us File : Message : Choose user Choose file Welcome, user 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 Compose Sent To Subject Date Setting Welcome, user 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 Sent Encrypt Data Decrypt Data About us Choose File File Content : (*.txt only) 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 Compose Sent Encrypt Data Decrypt Data About us Choose File File Encrypt : (*.txt only) Welcome, user 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