31
6. Keamanan
Dalam hal ini sistem mengamankan kunci yang digunakan.
3.1.3. Analisis proses
Pada penelitian ini sistem yang dibangun menggunakan algoritma Hill Cipher untuk melakukan proses enkripsi dan dekripsi pesan dan Rabin Public Key dalam melakukan
proses enkripsi dan dekripsi kunci pesan. Pada awalnya, pengirim mengirim pesan lalu dan setelah itu dienkripsi oleh
algortima Hill Cipher. Setelah pesan dienkripsi, pengirim memasukkan kunci Hill, kunci P dan Q dimana kunci P dan Q merupakan bilangan prima dan dienkripsi
menggunakan algoritma Rabin. Pencarian greatest common divisor menggunakan algoritma extended Euclidean. Untuk membangkitkan kunci pada algoritma Rabin
Cryptosystem, digunakan algoritma Fermat untuk menemukan bilangan prima atau menentukan keprimaan suatu bilangan. Setelah semua proses dilakukan, pesan akan
dikirim kepada penerima. Proses selanjutnya adalah penerima menerima pesan yang telah dienkripsi oleh pengirim. Setelah pesan masuk, penerima memasukkan kunci P
dan Q untuk dekripsi kunci Hill yang telah diinputkan pengirim. Setelah kunci didekripsi, maka pesan dapat didekripsi dan pesan asli dapat diketahui oleh penerima.
3.2. Pemodelan UML
Unified Modeling Language UML digunakan sebagai bahasa spesifikasi standar suatu model yang berfungsi untuk membantu merancang sebuah sistem. Pemodelan sistem
dilakukan untuk menunjukkan dan mendeskripsikan gambaran dari sistem yang akan dibangun. Pada penelitian ini dilakukan pemodelan dengan menggunakan UML untuk
mendesain serta merancang sistem. Model UML yang digunakan dalam penelitian ini antara lain adalah usecase diagram, activity diagram serta sequence diagram.
3.2.1. Use-Case Diagram
Diagram usecase digunakan untuk menggambarkan hubungan antara aktor dengan fungsi atau layanan yang disediakan oleh sistem Ambler, 2005.
Aktor yang terlibat atau mempunyai interaksi dengan sistem pada penelitian ini adalah pengirim dan penerima. Hubungan antara aktor dengan fungsi usecase yang
Universitas Sumatera Utara
32
tersedia pada sistem dihubungkan oleh garis lurus menyatakan bahwa aktor tersebut melakukan inisiasi atau mengajukan permintaan terhadap suatu usecase. Hubungan
yang menyatakan suatu usecase dapat dilaksanakan dengan syarat yaitu kelakuan yang harus terpenuhi include digambarkan oleh garis putus-putus dengan tanda panah
terbuka. Pada hubungan include, yang menjadi syarat dari suatu usecase adalah usecase pada pangkal tanda panah. Diagram usecase pada penelitian ini dapat dilihat pada
Gambar 3.2.
Gambar 3.2 Diagram Use-Case Pada Gambar 3.2 terdapat actor yang mempunyai peran yaitu sebagai pengirim
atau penerima. Actor pengirim pesan mengenkripsikan pesan terlebih dahulu dengan algoritma Hill Cipher setelah plaintext dienkripsikan menjadi ciphertext lalu kunci dari
Hill Cipher dienkripsikan dengan algoritma Rabin. Kemudian Actror penerima membutuhkan kunci Rabin untuk mendeksripsikan Ciphertext Hill dan didekripsi lagi
dengan kunci Hill Cipher menjadi Plaintext kunci Hill Cipher yang digunakan untuk mendeksripsikan pesan yang sebenarnya.
Berikut ini merupakan tabel narrative usecase yang dapat dilihat pada Tabel 3.1 Tabel 3.1 Narrative Use-Case Enkripsi Pesan
Use-case Name Enkripsi Pesan
Design Scope Sistem black box
Goal Level User-goal
Stakeholder and Interest
Pengirim Pengguna: dapat mengenkripsikan pesan dan kunci pesan untuk menjaga keamanan pesan.
Universitas Sumatera Utara
33
Precondition Pengirim Pengguna menginputkan pesan dan kunci.
Minimal Guarantee Sistem akan memberikan pesan error ketika enkripsi pesan
gagal. Success Guarantee
Sistem akan memberikan pesan enkripsi telah sukses. Trigger
Pengguna menekan tombol enkripsi pesan. Main Success
Scenario 1.
Pengirim menginputkan plaintext yang akan dienkripsi 2.
Pengirim melakukan proses enkripsi kunci 3.
Pengirim melakukan proses enkripsi pesan dengan Hill Cipher
4. Sistem akan melakukan enkripsi kunci dengan Rabin
Public Key 5.
Sistem akan melakukan enkripsi pesan. 6.
Sistem akan memberikan pesan bahwa enkripsi pesan dan kunci pesan telah sukses.
Extensions 1. Kunci enkripsi tidak lengkap atau kosong.
a. Sistem akan memberikan pesan kepada pengirim untuk dilakukan cek ulang kembali input-an yang telah
diberikan.
Berikut ini merupakan tabel narrative usecase yang dapat dilihat pada Tabel 3.2 yang menjelaskan narrative usecase dekripsi pesan.
Tabel 3.2 Narrative Use-Case Dekripsi Pesan Use-case Name
Dekripsi Pesan Design Scope
Sistem black box Goal Level
User-goal Stakeholder and
Interest Penerima dapat mendekripsikan kembali cipherkey dan
ciphertext ke dalam bentuk plaintext. Precondition
Penerima menerima ciphertext Minimal Guarantee
Sistem akan memberikan pesan error ketika dekripsi pesan gagal.
Success Guarantee Sistem akan memberikan pesan dekripsi telah sukses.
Trigger Pengguna dapat menekan tombol Dekripsi Pesan.
Main Succes Scenario
1. Penerima memiliki kunci kunci privat P dan Q
2. Penerima mengdekripsikan kunci Pesan dengan Kunci
Rabin. 3.
Penerima mengdekripsikan ciphertext menjadi plaintext.
4. Sistem akan melakukan dekripsi pesan dengan Hill
Cipher.
Universitas Sumatera Utara
34
5. Sistem akan memberikan pesan bahwa dekripsi telah
sukses. 6.
Sistem akan menampilkan plaintext 3.2.2.
Sequence Diagram Diagram sequence menggambarkan interaksi antar objek dan menggambarkan
komunikasi antar objek-objek tersebut Ambler, 2005. Berikut Sequence Diagram dari sistem yang dirancang dapat dilihat pada gambar 3.3 dan gambar 3.4.
Gambar 3.3 Diagram Sequence untuk Enkripsi
Gambar 3.4 Diagram Sequence untuk Dekripsi
Universitas Sumatera Utara
35
3.2.3. Activity Diagram
Diagram aktivitas activity diagram menggambarkan proses bisnis atau urutan aktivitas dalam sebuah sistem. Activity Diagram juga bertujuan untuk membantu
bagaimana memahami proses dan menggambarkan setiap interaksi yang ada antara beberapa usecase yang digunakan Ambler, 2005. Activity Diagram dari sistem dapat
dilihat pada Gambar 3.5 dan Gambar 3.6.
Gambar 3.5. Activity Diagram Enkripsi
Universitas Sumatera Utara
36
Gambar 3.6. Activity Diagram Dekripsi
Universitas Sumatera Utara
37
3.3. Flowchart Sistem