BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Kebutuhan User Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem yang utuh
ke
dalam
bagian-bagian
komponennya
dengan
maksud
untuk
mengidentifikasikan dan mengevaluasi permasalahan-permasalahan, hambatan – hambatan yang terjadi dan kebutuhan – kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan – perbaikannya. Berikut adalah beberapa analisis yang dilakukan untuk membangun Aplikasi pembuatan tanda tangan digital. 3.1.1 Deskripsi Umum Sistem Proses sistem dimana pada perancangan sistem digambarkan, rancangan sistem yang akan dibangun sebelum dilakukan pengkodean ke dalam suatu bahasa pemrograman. Desain umum yang akan diaplikasikan bertujuan untuk memberikan gambaran secara umum kepada pengguna tentang sistem yang akan dibangun. Sender Messagee
Message
Message
Signature
Signature
Message
Fungsi Hash
Signature Public key Dekripsi
Message Digest Private key
Enkripsi
Recipient
Signature Message Digest
Fungsi Hash
? =
Message Digest
Gambar 3.1 Gambaran Umum Sistem RSA Digital Signature
37
Secara umum gambaran mengenai sistem tanda tangan digital tampak seperti gambar di atas, dimana terdapat 2 pelaku utama dalam pengaplikasiannya, adapun proses yang terjadi sebagai berikut : a. Pengirim 1. Pengirim harus mempunyai dua pasang kunci, terutama kunci privat untuk memproses signature. 2. Pesan akan di Hash dengan menggunakan algoritma Hash
SHA
yang
akan
menghasilkan
message
digest(MD). 3. Hasil
message
digest
tersebut
akan
dienkripsi
menggunakan kunci privat dengan menggunakan metode RSA. Hasil enkripsi inilah yang dinamakan dengan digital signature. 4. Kemudian digital signature dilekatkan dengan message digest (dengan cara menyambung), lalu keduanya dikirimkan melalui web browser. b. Penerima 1. Signature diotentikasi untuk dibuktikan keaslian. 2. Signature di dekripsi menggunakan kunci publik pengirim, menghasilkan message digest semula. 3. Pesan di Hashing kembali untuk menghasilkan message digest (MD’). 4. Selanjutnya message digest akan dibandingkan jika MD’=MD, berarti otentikasi valid.
38
3.1.2 Analisis Metode RSA Metode RSA (Rivest-Shamir-Adleman) adalah metode yang akan digunakan dalam pembuatan perangkat lunak. Untuk menandatangani sebuah dokumen, dengan menggunakan metode ini diperlukan kunci privat dari pengirim. Salah satu karakteristik metode RSA dan merupakan salah satu kehandalannya sehingga populer untuk kriptografi kunci asimetri adalah sulitnya memecahkan masalah faktorisasi pada bilangan yang sangat besar.
Mulai
Pembentukan Message Digest
Generate Key
Pembangkitan Signature
Penggabungan Message Digest & Signature
Otentikasi
Selesai
Gambar 3.2 Flowchart Proses Tanda Tangan Digital
39
3.1.3 Analisis Pembentukan Message Digest Pengirim mula-mula menghitung message digest dari pesan. Message Digest diperoleh dengan mentransformasikan pesan dengan menggunakan fungsi Hash pada aplikasi ini yang digunakan adalah SHA. Mulai
Message
Fungsi Hash SHA ‐256 bit
Message Digest
Selesai
Gambar 3.3 Flowchart Pembentukan Message Digest 3.1.4 Analisis Pembentukan Pasangan Kunci Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor – faktor prima. Pemfaktoran dilakukan untuk memperoleh kunci privat.
40
Mulai
Pilih bil prima p, q
Hitung N = p * q
Pilih bil bulat e
tidak
e relatif prima N : Gcd(e,N)=1
Ya Hitung d : e*d 1 (mod N)
Pasangan Kunci :
Kunci Publik (N,e) Kunci Privat (N,d)
Selesai
Gambar 3.4 Flowchart Pembentukan Kunci
41
3.1.5 Analisis Pembentukan Digital Signature Message digest yang dienkripsi dengan menggunakan algoritma kriptografi RSA menggunakan kunci privat pengirim selanjutnya kita sebut dengan digital signature.
Mulai
Message Digest (MD)
Enkripsi : ܧ ሺ݉ሻ= c
Signature
Selesai
Gambar 3.5 Flowchart Pembentukan Digital Signature 3.1.6 Analisis Pengabungan Pesan dan Digital Signature Tanda tangan digital dilekatkan ke message digest (dengan cara menyambung / append), lalu keduanya dikirim melalui web browser.
42 Mulai
Message Digest dan Signature
Proses Append
Message Digest Signature
Selesai
Gambar 3.6 Flowchart Penggabungan Pesan dan Digital Signature 3.1.7 Analisis Proses Otentikasi Tanda tangan digital didekripsi dengan menggunakan kunci publik pengirim pesan, menghasilkan message digest semula. Kemudian pesan di ubah ke dalam message digest (MD’) penerima dengan menggunakan fungsi Hash. Jika MD = MD’ maka tanda tangan dapat diterima.
43
Mulai
Signature
Dekripsi : ܦௗ ሺܿሻ ൌ ݉
Message Digest (MD)
Fungsi Hash 256‐bit
Message Digest (MD’)
Tidak MD = MD’
Ya (Valid) Selesai
Gambar 3.7 Flowchart Proses Otentikasi
44
3.2 Analisis Kebutuhan Sistem Berikut adalah kebutuhan yang dibutuhkan oleh sistem : 1. Komputer berspesifikasi minimal Intel Dual Core. 2. Sistem Operasi yang digunakan adalah Windows 7 Home Premium. 3. Development tools yang digunakan adalah NetBeans IDE 7.0. 4. Bahasa pemrograman yang digunakan adalah Java. 5. Tomcat Apache 6.0. 3.3 Analisis Program Aplikasi Program aplikasi Kriptografi ini dapat dijalankan pada komputer dengan spesifikasi rendah. Perangkat lunak dapat digunakan untuk membuat tanda tangan digital. Bahasa pemrograman yang digunakan adalah bahasa yang mudah untuk dikembangkan yaitu bahasa pemrograman Java dan menggunakan Algoritma RSA sebagai Metode Kriptografi. 3.4 Perancangan Program 3.4.1 Struktur Menu Program aplikasi Tanda Tangan Digital yang dirancang ini memiliki struktur hierarki menu dimana terdapat sub menu dari menu utamanya, sehingga membentuk suatu struktur menu. Pada aplikasi tanda tangan digital ini memiliki 2 halaman utama, pertama ketika user belom registrasi dan yang kedua setelah user Login dengan ID yang sudah di-create sebelumnya. Struktur menu utama program aplikasi tanda tangan digital yang dapat digambarkan sebagai berikut :
45 Menu Utama
Login
Register
Kriptografi
Bantuan
Gambar 3.8 Rancangan Struktur Menu Utama sebelum user Login Pada Menu Utama sebelum user Login user tidak dapat mengakses Menu untuk melakukan Tanda Tangan Digital yang bisa dilakukan oleh user hanya enkripsi dan dekripsi sederhana yang terdapat pada Menu Kriptografi.
Menu Utama
Profil
Kriptografi
Digital Signature
Bantuan
Gambar 3.9 Rancangan Struktur Menu Utama setelah user Login Pada Menu Utama setelah user Login maka user dapat mengakses semua menu yang tersedia di dalam aplikasi Tanda Tangan Digital ini, terutama Menu Digital Signature yang mana merupakan inti dari aplikasi ini. Pada Menu Profil memiliki sub menu Lihat File Terkirim, Lihat File Diterima, Logout
dan Ubah Profil. Struktur Menu Profil yang dapat
digambarkan sebagai berikut : Profil
Lihat File Terkirim
Lihat File Diterima
Logout
Ubah Profil
Gambar 3.10 Rancangan Struktur Menu Profile
46
Menu Digital Signature memiliki sub menu Message Digest, Enkripsi, Dekripsi, Kirim File dan Cek File yang mana merupakan inti dari Aplikasi Kriptografi ini dimana Metode RSA diimplementasikan. Gambaran rancangan struktur menu Digital Signature dapat digambarkan sebagai berikut :
Digital Signature
Message Digest
Enkripsi
Dekripsi
Kirim File
Cek File
Gambar 3.11 Rancangan Struktur Menu Digital Signature Pada Menu Bantuan terdapat sub menu Cara Penggunaan dan sub menu Tentang Aplikasi yang berisikan petunjuk penggunaan dan sekilas mengenai program aplikasi ini. Menu Bantuan dapat diakses oleh user sekalipun user belum mendaftarkan ID mereka ke dalam database. Struktur rancangan sub menu Bantuan dapat digambarkan sebagai berikut :
Bantuan
Cara Penggunaan
Tentang Aplikasi
Gambar 3.12 Rancangan Struktur Menu Bantuan
47
3.4.2 Use case Diagram Berikut ini adalah use case diagram dari perancangan aplikasi tanda tangan digital : Browser
Profil Registrasi MD Login
User
Digital Signature
Enkripsi Dekripsi
user Kirim File Cek File
Gambar 3.13 Use case Diagram 3.4.3 State Transition Diagram (STD) Perpindahan state setalah dilakukan sebuah event atau action pada rancangan program aplikasi kriptografi ini dapat dijelaskan lebih lanjut menggunakan State Transition Diagram. Pada bagian ini akan digambarkan perpindahan state pada setiap menu utama yaitu Menu Login, Registrasi, Profil, Kriptografi, Digital Signature dan Menu Bantuan serta sub menu yang terdapat di dalamnya. Berikut ini adalah State Transition Diagram rancangan
48
dari setiap menu yanga ada pada aplikasi Tanda tangan digital dengan menggunakan metode RSA ini : Keterangan simbol : Tampilkan Menu Klik Sembarang di Luar Menu Mulai Selesai
Menu Utama
Kriptografi
Bantuan
Login
Register
Tidak
Gambar 3.14 STD Menu Utama
Ya
Profil
Digital Signature
49 Menu Login
Login
Registrasi
Gambar 3.15 STD Menu Login
Menu Registrasi
Registrasi
Gambar 3.16 STD Menu Registrasi
Menu Profil
Lihat File Terkirim
Ubah Profil
Logout
Gambar 3.17 STD Menu Profile
Lihat File Diterima
50
Menu Kriptografi Kriptografi
Gambar 3.18 STD Menu Kriptografi
Menu Digital Signature
Message Digest
Enkripsi
Dekripsi
Kirim File
Gambar 3.19 STD Menu Digital Signature
Menu Bantuan
Cara Penggunaan
Tentang Digital Signature
Gambar 3.20 STD Menu Bantuan
Cek File
51
3.4.4 Perancangan Layar Rancangan layar yang terdapat pada program aplikasi kriptografi ini terdiri dari 6 bagian utama, yaitu : 1. Halaman Login Di dalam halaman Login terdapat menu Untuk Login user dan Registrasi.
Halaman
ini
merupakan
halaman
beranda
(homepage) dari aplikasi. 2. Halaman Registrasi Di dalam halaman Registrasi user dapat mendafarkan account mereka agar bisa mengakses aplikasi Menu Digital Signature. 3. Halaman Profil Di dalam halaman Profil terdapat sub menu antara lain, Lihat File Terkirim, Lihat File Diterima, Logout dan Ubah Profil. 4. Halaman Kriptografi Merupakan halaman untuk melakukan enkripsi dan dekripsi sederhana, user dapat mengakses Menu ini tanpa harus registrasi terlebih dahulu. 5. Halaman Digital Signature Merupakan halaman yang berisi inti dari aplikasi kriptografi ini. Dimana terdapat sub menu Message Digest, Enkripsi, Dekripsi, Kirim File dan Cek File. 6. Halaman Bantuan Merupakan
halaman
yang
memiliki
sub
Penggunaan dan Tentang Digital Signature.
menu
Cara
5 52
3.4.4.1 Layar L Halam man Awal Layar halamaan Login ak kan muncul ketika proggram aplikaasi kriptografi dijalankann. Halaman ini berfungssi sebagai geerbang masuuk user untu uk menggunaakan aplikassi. Pada halaaman ini useer akan menginput useername dan password. User bisa m mengakses Menu M Digittal Signaturee ketika merreka sebelum mnya sudahh meregistrasikan terlebih dahulu diri mereka. Oleh karenna itu terdappat menu Registrasi R aggar user dapaat men-creaate ID merekka. Button 1 merupkan Menu Logiin, button 2 merupakann Menu Reg gistrasi, Buttton 3 meru upakan Mennu Kriptograafi dan buttoon 4 merupakkan Menu Baantuan.
Gambar 3.21 3 Rancanngan Layar Halaman H Log gin Paada halamaan ini user masih dallam status belum Loggin sehingga user tidak dapat menggakses Menuu Digital Siignature. Jikka user sudaah memiliki ID maka iaa bisa langsuung mengin nput usernam me pada kottak Input 1 dan passw word pada kkotak input 2. Button 5
5 53
merupakaan button yyang akan memproses m m masuknya usser ke sisteem aplikasi. Sedangkan jika user belum mem miliki ID maka m ia bisa mendaftaarkan dirinyaa melalui Menu Registraasi atau den ngan mengkllik button 6.. Jika user ssudah Login n maka akann tampil halaman sebaggai berikut :
Gambar 3.222 Rancangaan Layar Haalaman Awall Ketika userr sudah Logiin Pada hallaman ini buutton 1 merrupakan Meenu Profil, dimana d mennu Profil P memiliki sub mennu yaitu mennu Lihat Filee, Menu Loggout dan Mennu Ubah U Profil. Button 2 merupakan n Menu Krriptografi seerta button 5 merupakan m Menu M Bantuuan. Button 3 merupakann Menu Dig gital Signaturre karena k user sudah Loginn maka user sudah bisa mengakses m M Menu tersebuut. 3.4.4.2 Layar L Halam man Registrrasi H Halaman inii merupakaan halamann yang beerisi formullir registrasi untuk userr yang ingin n membuat ID I baru di dalam sisteem aplikasi. Halaman Reegistrasi dappat diakses m melalui Mennu Utama daan
5 54
juga melaalui halamann Login. Beerikut adalahh rancangan dari halamaan Menu Registrasi :
3 Rancanggan Layar Halaman H Mennu Registrasii Gambar 3.23 Pada hallaman ini bbutton 1 merupakan m m menu Loginn user dappat mengaksees menu Loggin melalui menu m bar. B Button 2 merrupakan mennu Registrassi dengan staatus bahwa user u belum memiliki m ID dan Login ke k dalam sisstem. Buttonn 3 merupakkan menu Krriptografi, menu m ini dappat diakses oleh o user maaupun user belum b mendaaftarkan diriinya ke dalaam sistem daan button 4 adalah men nu Bantuan. Input 1 beerfungsi untuuk memasukkkan ID userr yang hendaak ia gunakaan ketika maasuk ke dalaam sistem. Innput 2 untukk menginput password, iinput 3 diisi dengan nam ma asli user dan input 4 merupakan n alamat em mail dari useer. Pada isiaan gender user u hanya perlu menggklik salah satu radio button yanng tersedia dan d terakhir button 5 beerfungsi unttuk memproses data yanng telah diinnput user agaar masuk ke dalam databbase.
5 55
3.4.4.3 Layar L Halam man Kriptog grafi Paada halamaan ini Metoode RSA diimplement d tasikan untuuk melakukaan enkripsi dan dekrippsi sederhanna dengan inputan tekks. Berikut inni adalah ranncangan layaar halaman M Menu Kriptoografi :
Gambar 3..24 Rancanggan Layar Haalaman Menuu Kriptograffi Pada halaaman ini buutton 3 meru upakan menuu Kriptograf afi ketika user belum Lo ogin ke dalaam sistem, apabila a user sudah Loginn maka Mennu Kriptograafi berada di dalam button b 2. Input I 1 berrfungsi untuuk memberi masukan bberupa teks yang nantinnya akan di d proses oleeh button 5. Setelah button 5 diklikk maka outp tput 1 akan menampilkaan hasil enk kripsi inpuutan dan output o 2 akkan menam mpilkan hassil dekripsinnya. Output 3 dan outpuut 5 menam mpilkan nilaii N. Output 4 menampilkan kunci publik dan output 6 m menampilkan kunci privaat. Output 7 dan outputt 8 menampilkan pasanggan bilangan n prima yanng digunakan n.
5 56
3.4.4.4 Layar L Halam man Digital Signature H Halaman Diggital Signature meruppakan inti dari d prograam aplikasi kriptografi ini. Pada menu Diggital Signature terdappat beberapa sub menu,, antara lain n Menu M Message Diggest, Enkripssi, Dekripsi dan Kirim F File. Berikut ini adalah gambaran g ranncangan layyar dari sub – sub menu D Digital Signaature :
Gambarr 3.25 Rancaangan Layar Menu Message Digest Menu Meessage Digeest berfungsii untuk menttrasnformasiikan pesan ke k dalam beentuk Hash dengan meenggunakan Fungsi Haash satu araah. User akkan menginnput file ke k dalam kotak inpu ut 1 dengaan menggunnakan buttonn 5 sebagai navigator uuntuk mencaari lokasi fille. Setelah itu user akaan mengklik k button 6 uuntuk diprosses. Output 1 merupakaan keluarann dari hasil transform masi file yaang diuploaad. Selanjutnnya user akaan melakukaan enkripsi Message M Dig igest sehinggga diperolehh Signature.
5 57
Gambar 3.26 Rancanngan Layar M Menu Enkrippsi Menu En nkripsi menngimplementtasikan Mettode RSA untuk proses enkripsinnya, ketika usser memprosses message digest makaa kunci publlik dan kuncci privat dibbangkitkan. Output 1 ddan output 2 merupakaan pasangann kunci publlik sedangkaan output 3 dan output 4 merupakaan pasangann kunci privvat. Output 5 dan outpuut 6 merupkkan pasangaan bilangan prima yangg saling relaatif prima. O Output – ou utput tersebut diproses langsung l oleeh sistem. User Us akan meenginput file melalui kotaak input 1. Selanjutnyaa user akan meng-creatte file penaampung untuuk hasil enkrripsi messagge digest. Bu utton 5 diguunakan untuk k mencari file fi penampun ng dan buutton 6 unntuk menjalankan pro oses enkripssi. Selanjutnnya user meengirim filee yg dijadikkan pesan dan d file yanng penampun ng untuk dibberikan kepaada recipientt (penerima) pesan.
5 58
Gambar 3.27 3 Rancanggan Layar M Menu Kirim File F Halaman ini merupakkan fasilitas yang disediiakan sehing gga user dappat dengan mudah m mengiirimkan pesaan ke sesamaa user lain yang y berada di dalam daatabase sisteem. Input 1 berfungsi uuntuk mengiinput ID user yang akann menerima pesan. Inpu ut 2 diisi denngan file pessan yang inggin diberikann kepada penerima p peesan dan innput 3 berrisi file yanng menyimppan hasil enkkripsi dari message m digeest. Selanjuttnya penerim ma pesan akkan melakuukan dekrip psi signatuure, berikutt ini adalaah rancangann layar dari menu m dekrip psi :
Gambar 3.28 Rancan ngan Layar M Menu Dekrippsi
5 59
Menu inii berfungsi untuk melaakukan dekrripsi dari siignature yanng sudah ditterima oleh recipient un ntuk mendappatkan kembbali nilai daari message digest penggirim. User akan mengginput file enkripsi e padda input 1 daan menekan button 5 unttuk melakukkan proses deekripsi. Kunnci publik ak kan dengan otomatis terrisi ketika pproses selessai dilakukaan. Selanjutnnya output 5 akan menam mpilkan hasiil dari dekrippsi singnatuure yaitu meessage digesst pengirim yang nantinnya akan di d bandingkaan dengan message m digeest yang dih hasilkan olehh penerima pesan setelaah merubah file pesan kee dalam messsage digest penerima. 3.4.4.5 Layar L Halam man Bantua an H Halaman inii berisi infformasi tenntang cara pengguanaaan aplikasi dan d informassi mengenai aplikasi tannda tangan digital, d berikkut rancangann layar menuu Bantuan :
Gam mbar 3.29 Raancangan Laayar Menu B Bantuan