ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
3.1.3 Pemodelan Sistem
3.1.3.1.2 Activity Diagram (Diagram Aktivitas)
Activity diagram adalah teknik untuk menggambarkan logika prosedural, proses bisnis, dan jalur kerja. Dalam beberapa hal, diagram ini memainkan peran mirip sebuah diagram alir, tetapi perbedaan prinsip antara diagram ini dan notasi diagram alir adalah diagram ini mendukung behavior paralel[4]. Berikut ini merupakan gambaran activity diagram untuk aplikasi yang akan dibangun :
Tabel. 3.1 Simbol Simbol yang Sering Dipakai Pada Activity Diagram[7]
Simbol Keterangan
Titik awal Titik Akhir Activity
Pilihan untuk pengambilan keputusan
Fork; digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel menjadi satu.
Tanda waktu Tanda pengiriman Tanda penerimaan Aliran akhir (Flow final)
Berikut ini merupakan gambar activity diagram untuk pengamanan:
User menekan tombol buka gambar asli opendialog dan membaca gambar ke picturebox
Menginput teks(Manual)
User menekan tombol buka teks opendialog dan membaca teks ke richTextbox
User menekan tombol Periksa gambar dan Teks
Sistem memeriksa apakah kedua objek mengandung kunci
User menekan tombol Embed
Sistem menyisipkan teks ke citra (teknik End Of FIle Horizontal) Pilih Besar Maksimum bilangan Prima
User menekan tombol-tombol generate kunci Sistem memberikan respon kunci
User menekan tombol Enkripsi
Sistem melakukan enkripsi dengan Algoritma ElGamal
User menekan tombol simpan data
Sistem menyimpan cipher dan kunci
User Sistem
Gambar 3.3 Activity Diagram Pengamanan
Gambar 3.3 menggambarkan aktivitas yang dilakukan pada saat pengamanan. user menginputkan citra dan teks dengan menggunakan bantuan tombol yang telah
disediakan, atau user juga dapat menginputkan teks secara manual dengan menuliskan langsung di dalam richTextBox yang telah disediakan, selanjutnya user akan menekan tombol periksa teks dan citra kemudian sistem akan memeriksa citra dan teks tersebut apakah mempunyai deretan byte yang sama dengan penanda, jika ada, maka sistem akan menginformasikan bahwa data tersebut mengandung deretan kunci dan selanjutnya dilakukan proses embedding. Selanjutnya user menekan tombol untuk pembangkitan kunci, dan sistem akan membangkitkan kunci sesuai dengan proses pengacakan yang akan diimplementasikan, atau user juga dapat memasukkan kunci- kunci yang akan digunakan secara manual untuk enkripsi, selanjutnya dilakukan proses enkripsi.
Berikut ini merupakan gambar activity diagram untuk membangkitkan kunci
User menekan tombol bangkitkan (Bil. Prima) Sistem membangkitkan bilangan acak
Sistem mengecek apakah bilangan prima
User menekan tombol Bangkitkan (Nilai g)
User Sistem
User menekan tombol bangkitkan x
Sistem membangkitkan bilangan acak < p-1 User menekan tombol hitung y
Sistem menghitung nilai y
Sistem membangkitkan bilangan acak < p
Sistem mengecek apakah relatif prima dengan bilangan prima Sistem membangkitkan bilangan acak < p-1
User menekan tombol Bangkitkan (Nilai k)
Gambar 3.4 Activity Diagram Pembangkitan Kunci
Gambar 3.4 merupakan gambar activity diagram untuk menunjukkan aktivitas yang akan dilakukan untuk membangkitkan kunci yang akan digunakan untuk
enkripsi, dalam activity diagram pada gambar 3.4 menunjukkan user akan menekan tombol bangkitkan pada bilangan prima, kemudian sistem akan melakukan pengacakan dan mengecek apakah bilangan tersebut bilangan prima, jika tidak maka sistem akan kembali membangkitkan bilangan acak, kemudian jika bilangan acak tersebut sudah merupakan bilangan prima, maka akan dilanjutkan untuk membangkitkan bilangan acak untuk g, dan x, dimana nilai g dan x bilangan bulat positif lebih kecil dari bilangan prima. Selanjutnya user akan menekan tombol untuk menghitung nilai y, selanjutnya user akan menekan tombol untuk membangkitkan nilai k, kemudian sistem mengacak bilangan dan mengecek apakah bilangan acak tersebut lebih kecil dari bilangan prima (p-2) dan relatif prima dengan bilangan prima tersebut.
Berikut ini merupakan digram activity untuk melakukan dekripsi dan ekstraksi :
User menekan tombol buka gambar cipher opendialog dan membaca gambar ke picturebox
User menekan tombol Dekripsi
Sistem melakukan dekripsi Algoritma ElGamal
Sistem mengecek apakah ada teks disisipi
Sistem melakukan ekstraksi
Sistem menampilkan citra asli dan teks asli
User Sistem
User menekan tombol buka kunci
opendialog dan menampilkan ke edittext
User menekan tombol Ekstrak
Kunci Salah
Sistem menampilkan hasil ke pictureBox Kunci benar
Ada teks Tidak ada teks
Gambar 3.5 menunjukkan proses yang dilakukan untuk proses pengungkapan kembali citra dan teks. Pesan tersebut akan didekripsi dan di ekstraksi untuk mengetahui gambar asli dan teks asli yang terdapat dalam cipher tersebut. Hal yang akan dilakukan oleh user adalah menekan tombol untuk menginputkan cipher citra, dan kemudian menekan tombol untuk membuka kunci dan cipher a yang akan digunakan untuk dekripsi. Selanjutnya user akan menekan tombol dekripsi, dilanjutkan dengan proses pada sistem untuk melakukan perhitungan, dan jika kunci benar, maka akan ditampilkan gambar hasil dekripsi, jika tidak sesuai, maka sistem akan memberikan respon bahwa kunci tidak sesuai. Setelah proses dekripsi, user akan menekan tombol ekstraksi dan sistem akan melakukan pengecekan tanda, jika tanda ada, maka sistem akan menampilkan teks asli dan gambar asli, tetapi jika tidak menemukan tanda, maka sistem akan memberikan respon bahwa tidak ada teks yang disisipi pada citra tersebut.
Berikut merupakan gambar activity diagram untuk melakukan proses perhitungan nilai MSE
User menekan tombol buka gambar 1 opendialog dan membaca gambar ke picturebox
Sistem mengecek lebar dan tinggi kedua citra sama
Sistem menampilkan nilaiMSE
User Sistem
User menekan tombol buka gambar 2
opendialog dan membaca gambar ke picturebox
User menekan tombol Bandingkan
Sistem melakukan perhitungan MSE dan menampilkan MSE
Gambar 3.6 Activity Diagram Hitung MSE
Gambar 3.6 menunjukkan aktivitas pembandingan antara 2 buah gambar, pertama user akan menginputkan gambar 1 dan gambar 2, dan user menekan tombol bandingkan, kemudian sistem akan melakukan compare tinggi dan lebar gambar 1 dan gambar 2, jika tinggi dan lebar sama, maka akan lanjut ke proses hitung MSE, jika tidak akan diminta untuk menginputkan 2 buah gambar yang memiliki tinggi dan lebar yang sama, setelah sistem selesai melakukan perhitungan MSE, maka sistem akan menampilkan nilai MSE antara kedua gambar tersebut.
3.1.3.1.3 Sequence Diagram
Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah skenario. Diagram ini menunjukkan sejumlah contoh objek dan pesan yang diletakkan diantara objek-objek ini didalam use case[7].
Pengamanan User
Pengungkapan Hitung MSE
Embed Stego-image Bangkitkan Kunci Kunci-kunci Enkripsi Cipher image
Input cipher dan kunci
Stego-image Enkripsi
Gambar asli dan teks asli Ekstrak
Input gambar 1 dan gambar 2
Bandingkan
Nilai MSE
Gambar 3.7 Sequence Diagram Sistem
Pada gambar 3.7 menunjukkan diagram sequence sistem. Pertama sistem akan melakukan proses pengamanan. Pada proses pengamanan terdapat beberapa proses yang harus dilakukan, yaitu proses embedding dan proses enkripsi. Setelah selesai proses pengamanan, lanjut kedalam proses pengungkapan, dimana sistem akan melakukan proses dekripsi kemudian proses ekstraksi. Untuk mengetahui apakah pesan dapat dikembalikan kedalam bentuk semula, maka sistem akan melakukan compare dengan gambar sebelum pengamanan dan sesudah pengamanan, kemudian akan didapat hasil nilai mean squared error (MSE) dari kedua citra tersebut.