3.2 Perancangan Sistem
Setelah melakukan analisis terhadap kebutuhan sistem, maka hasil analisis tersebut akan digunakan dalam perancangan sistem. Dalam merancang sistem yang akan dibangun, akan
dibuat model rancang dalam bentuk rancang class diagram dan rancang antar muka. Hasil model rancang inilah yang akan diimplementasikan kedalam bahasa pemograman java.
3.2.1 Class Diagram
Berdasarkan hasil analisis kebutuhan sistem dan pemodelan sistem, maka akan dibangun sebuah class diagram yang berisikan informasi kelas-kelas yang akan diimplementasikan.
Dalam merancang sistem ini, akan dirancang 3 buah kelas yang tediri dari bangkitkan kunci, enkripsi dan steganografi. Berikut merupan dekripsi kelas dan atribut-atributnya :
Tabel 3.5 Kelas dan Atributnya
Nama Kelas Daftar Atribut
Deskripsi Bangkitkan kunci 1.
Bilangan : Int 2.
Bilangan Prima : Int 3.
Kunci : Int 4.
Kunci Privat : String 5.
Kunci Publik : String 6.
getText 7.
setText 8.
isPrimitiveint a, int b 9.
moduloint a, int b,int c 10.
checkPrimaint prima 11.
bangkitkankunci Kelas yang berguna untuk
membangkitkan kunci privat dan publik yang
akan digunakan dalam proses enkripsi dan
dekripsi. 45
Universitas Sumatera Utara
Enkripsi 1.
Plaintext : String 2.
Chipertext: String 3.
Kunci : String 4.
getText 5.
setText 6.
BigInteger moduloBigInteger a, BigInteger b, BigInteger c
7. BigInteger mathPowBigInteger a,
BigInteger b 8.
Enkripsi String s,String t Kelas yang berfungsi
untuk mengenkripsikan data atau informasi ke
bentuk ciphertext
dan sebaliknya mendekripsi
dari ciphertext ke data atau informasi asli.
Steganografi 1.
Citra : byte 2.
Databinary : binary 3.
Ciphertext : String 4.
ImageRead 5.
byteToBinarybyte bytedata 6.
BytetoBitint i 7.
getText; 8.
ekstraksi 9.
penyisipan setText
Kelas yang berperan untuk menyisipkan
ciphertext ke citra dan juga sebaliknya untuk
mengekstraksi ciphertext dari citra.
Tabel diatas menjelaskan kelas diagram dari enkripsi dan steganografi, dimana terdapat 3 kelas yaitu bangkitkan kunci, enkripsi dan steganografi. Setiap kelas terdiri dari
atribut-atribut yang menjelaskan kelas secara detail. Atribut terdiri dari variabel dengan tipe datanya dan serta method yang dipakai oleh kelas tersebut.
Universitas Sumatera Utara
Untuk setiap kelas di atas didefenisikan sebuah class diagram sebagai berikut,
Gambar 3.10 Class Diagram untuk Sistem yang Dikembangkan
Class diagram diatas menunjukkan kelas-kelas dan relasi antar kelas, dapat dilihat bahwa kelas kriptografi memiliki memiliki hubungan multiplikasi 1 1 dengan kelas
kriptografi. Hubungan multiplikasi 1 1 ini menunjukkan bahwa kelas kriptografi akan mengakses kelas steganografi satu kali dan juga sebaliknya. Pada proses enkripsi dan
penyisipan, maka terlihat bahwa kelas steganografi akan mengakses kelas kriptografi, hal ini dapat dilihat dimana hasil enkripsi akan menjadi inputan bagi proses penyisipan. Sedangkan
pada proses ekstraksi dan dekripsi, kelas kriptografi akan mengakses kelas steganografi, hal ini terlihat dimana hasil ekstraksi akan menjadi inputan untuk proses dekripsi. Diantara kelas
kriptografi dengan bangkitkan kunci terdapat hubungan multiplikasi 1 1 dimana ketika proses enkripsi dan dekripsi maka kelas kriptografi akan mengakses kelas bangkitkan kunci.
Universitas Sumatera Utara
3.2.2 Perancangan Antarmuka
Program yang akan dirancang nantinya menggunkan netbeans yang merupakan Integrated Development Environment IDE berbasiskan Java dari Sun Microsystems. Program yang
akan dirancang akan terdiri dari beberapa jframe dan akan ada satu jframe menu utama yang akan menjadi kontrol program. Dengan menggunakan jmenu akan dibuat 2 menu yaitu
program dan help. Pada menu program akan terdiri 3 item yaitu bangkitkan kunci, enkripsipenyisipan, dan ekstraksidekripsi, sedangkan pada menu help terdiri dari about,
cara penggunaan dan keluar. Ketika program pertama kali dijalankan maka yang akan muncul adalah menu utama, dari menu utama maka pengguna dapat memilih menu item yang ingin
dijalankan. Berikut merupakan gambaran menu utama yang akan dirancang :
Gambar 3.11 Jframe Menu Utama Program
Apabila kita memilih bangkitkan kunci dari menu program, maka jframe menu utama akan disembunyikan dan jframe bangkitkan kunci akan ditampilkan. Pada jframe akan
terdapat 2 fungsi yaitu untuk membangkitkan kunci dan untuk membangkitkan bilangan prima. Untuk membangkitkan kunci maka pengirim perlu memasukkan kunci yang
merupakan bilangan prima. Oleh sebab itu sebelum memasukan kunci maka perlu dicek apakah kunci yang akan dimasukkan merupakan bilangan prima atau tidak, jika bukan
bilangan prima maka sistem akan membangkitkan sebuah bilangan prima yang mendekati bilangan yang dimasukkan. Setelah mendapatkan sebuah bilangan prima, maka pengirim
Universitas Sumatera Utara
dapat menggunakannya sebagai kunci untuk membangkitkan kunci privat dan publik. Berikut merupakan gambaran jframe untuk bangkitkan kunci :
Gambar 3.12 Jframe Bangkitkan Kunci
Setelah membangkitkan kunci maka kita dapat kembali ke menu utama dengan klik menu utama. Dari menu utama, apabila pengguna memilih item enkripsipenyisipan maka
jframe menu utama akan disembunyikan dan jframe enkripsipenyisipan akan ditampilkan. Untuk dapat mengenkripsi dan menyisipkan data atau informasi ke citra maka pengguna
harus menginputkan pesan, kunci publik dan citra. Apabila pesan, kunci dan citra ada yang kosong maka program akan memberikan pemberitahuan.
Universitas Sumatera Utara
Berikut ini merupakan gambaran jframe enkripsipenyisipan :
Gambar 3.13 Jframe EnkripsiPenyisipan
Agar kembali ke menu utama, maka pengguna hanya perlu mengklik menu utama. Dari menu utama, apabila kita memilih ekstraksienkripsi, maka jframe menu utama akan
disembunyikan dan jframe ektraksi dan dekripsi akan ditampikan. Untuk dapat mengekstraksi dan mendikripsikan data atau informasi yang ada pada citra, maka kita perlu mengimputkan
citra yang berisi data atau informasi dan kunci privat. Apabila citra dan kunci ada yang kosong maka akan ada pemberitahuan.
Universitas Sumatera Utara
Berikut merupakan gambaran jframe ekstraksidekripsi yang akan dibuat :
Gambar 3.14 Jframe Ekstraksi dan Dekripsi
Agar kembali ke menu utama, maka kita perlu mengklik menu utama. Dari menu utama kita dapat memilih item about yang merupakan item menu help. Apabila kita memilih
item about maka jframe menu utama akan disembunyikan dan jframe about akan ditampilkan. Jframe about berisi mengenai program dan kegunaan program. Berikut merupakan gambaran
jframe about :
Gambar 3.15 Jframe About Program
Universitas Sumatera Utara
Dari about pengguna dapat kembali ke menu utama dengan mengklik menu utama. Dari menu utama, pengguna dapat memilih item cara penggunaan yang merupakan item dari
help. Apabila kita mengklik item cara penggunaan, maka jframe menu utama akan disembunyikan dan jframe cara penggunaan akan ditampilkan. Jframe cara penggunaan berisi
tutorial langkah-langkah penggunaan program. Berikut merupakan gambaran jframe cara penggunaan :
Gambar 3.16 Jframe Cara Penggunaan Program
Agar kembali ke menu utama, maka kita harus mengklik menu utama. Untuk keluar dari program, pengguna mengklik item keluar yang merupakan item dari menu help.
Universitas Sumatera Utara
BAB 4
IMPLEMENTASI DAN PENGUJIAN APLIKASI
4.1 Implementasi