3.2 Perancangan Sistem
Perancangan sistem dilakukan untuk memberikan gambaran sistem yang akan dibangun sehingga mempermudah dalam melakukan implementasi ataupun evaluasi.
Sistem dirancang dalam bentuk flowchart, use case diagram, activity diagram, sequence diagram dan perancangan antarmuka interface.
3.2.1. Perancangan algoritma RC4
Algoritma RC4 dibagi menjadi dua tahapan, yaitu inisiasi vector S dan stream generation pembangkitan aliran kunci. Flowchart kedua tahapan tersebut
digambarkan pada Gambar 3.2.
Mulai
i = 0 i 256
S[i] = i S[j] = kunci [i mod panjang kunci]
kunci
i = 0 j = 0
i 256
j = j + S[i] + T[i] mod 256 Swap S[i], S[j]
Selesai Ya
Tidak
Ya Tidak
A
Mulai
i = 0 j = 0
i = i + 1 mod 256; j = j + S[i] mod 256;
Swap S[i], S[j]; t = S[i] + S[j] mod 256;
k = S[t]; Array S[],
pesan
Selesai
k
B
Gambar 3.2. Flowchart A Inisiasi Vector S dan B Pembangkitan Aliran Kunci
Universitas Sumatera Utara
3.2.2. Perancangan enkripsi RC4
Proses enkripsi dilakukan dengan terlebih dahulu melakukan inisiasi vector S untuk mendapatkan vector S yang bersifat acak, kemudian dilakukan pembangkitan aliran
kunci untuk mendapatkan kunci enkripsi. Kemudian cipherteks didapatkan dari hasil operasi XOR antara pesan dengan kunci. Flowchart proses enkripsi ditunjukkan pada
gambar 3.3.
Mulai
pos,i,j = 0 KSA Kunci
pesan, kunci
Selesai pos lengthpesan
cipherteks = PRGApesan,i,j pos = pos + 1
cipherteks Ya
Tidak
Gambar 3.3 Flowchart enkripsi
3.2.3. Perancangan dekripsi RC4
Proses dekripsi memiliki langkah yang sama dengan proses enkripsi oleh karena pada algoritma RC4 kunci yang digunakan untuk dekripsi sama dengan kunci yang
digunakan untuk enkripsi. Flowchart proses dekripsi ditunjukkan pada gambar 3.4.
Universitas Sumatera Utara
Mulai
pos,i,j = 0 KSA Kunci
cipherteks, kunci
Selesai
pos lengthcipherteks
pesan = PRGAcipherteks,i,j pos = pos + 1
pesan Ya
Tidak
Gambar 3.4 Flowchart Dekripsi
3.2.4. Perancangan penyisipan modified LSB
Dalam penelitian ini dilakukan modifikasi mekanisme penyisipan pesan ke dalam gambar, jika pada metode LSB setiap komponen warna pada tiap-tiap pixel disisipkan
pesan maka dalam penelitian ini penyisipan dilakukan dengan ketentuan berikut: -
komponen warna merah akan disisipi pesan jika nilainya lebih kecil dari 100 -
komponen warna hijau akan disisipi pesan jika nilainya lebih kecil dari 122 -
komponen warna biru akan disisipi pesan jika nilainya lebih kecil dari 114 Flowchart penyisipan pesan ke dalam citra digambarkan pada Gambar 3.5.
Universitas Sumatera Utara
R 100 State = Hiding
R = R + charValue 2 charValue = charValue 2
embed = embed - 1 zeros = zeros + 1
G 122 State = Hiding
G = G + charValue 2 charValue = charValue 2
embed = embed - 1 zeros = zeros + 1
B 114 State = Hiding
B = B + charValue 2 charValue = charValue 2
embed = embed - 1 zeros = zeros + 1
SetPixelRGB state = filling zeros
and zeros = 8 charIndex = length teks
state = Filling_With_Zeros charValue = text[charIndex++]
embed = 8 citra
embed = 0 i = 0
i heightbmp j = 0
j widthbmp Color pixel = bmp.GetPixelj, i;
R = pixel.R - pixel.R 2; G = pixel.G - pixel.G 2;
B = pixel.B - pixel.B 2;
citra j = j + 1
i = i + 1 Pesan, citra
Mulai
selesai YA
TIDAK
YA YA
YA TIDAK
TIDAK TIDAK
YA TIDAK
YA TIDAK
TIDAK YA
YA
TIDAK YA
YA TIDAK
YA YA
TIDAK TIDAK
Gambar 3.5. Flowchart Penyisipan Pesan
Universitas Sumatera Utara
3.2.5. Perancangan ekstraksi modified LSB
Sama seperti pada penyisipan, ekstraksi dilakukan dengan aturan sebagai berikut, -
komponen warna merah akan diekstrak jika nilainya lebih kecil dari 100 -
komponen warna hijau akan diekstrak jika nilainya lebih kecil dari 122 -
komponen warna biru akan diekstrak jika nilainya lebih kecil dari 114 Flowchart ekstrak pesan dari citra digambarkan pada Gambar 3.6.
R 100 charValue = charValue 2 + pixel.R 2
embed = embed - 1
G 122 charValue = charValue 2 + pixel.G 2
embed = embed - 1
B 114 charValue = charValue 2 + pixel.B 2
embed = embed - 1 i = 0
j heightbmp j = 0
j widthbmp Color pixel = bmp.GetPixelj, i;
R = pixel.R G = pixel.G
B = pixel.B
text i = i + 1
citra Mulai
selesai embed = 0
charValue = reverseBitscharValue
charValue = 0 extractedText = extractedText +
charcharValue text
j = j + 1 YA
YA
YA
YA
YA YA
YA TIDAK
TIDAK
TIDAK
TIDAK
TIDAK
TIDAK TIDAK
Gambar 3.6. Flowchart Ekstrak Pesan
Universitas Sumatera Utara
3.2.6. Use-case diagram
Use-case diagram merupakan pemodelan yang mengidentifikasi dan menjelaskan fungsi-fungsi yang terdapat dalam sistem Whitten, 2007. Gambar 3.7. berikut adalah
use case diagram dari sistem yang akan dibangun.
Pengguna Sembunyikan Pesan
Tampilkan Pesan Enkripsi pesan
Embed cipherteks
Ekstraksi gambar
Dekripsi cipherteks «extends»
«extends»
«extends» «extends»
Gambar 3.7. Use-case Diagram Sistem
Use-case narrative merupakan penjelasan dari setiap use-case yang ada dalam diagram use-case. Tabel 3.1 sampai tabel 3.6 berikut ini adalah use-case narrative
dari diagram use-case diagram sistem yang dibangun.
Tabel 3.1. Use-case narrative Sembunyikan Pesan Name
Sembunyikan pesan Actors
User Trigger
User memilih menu sembunyikan pesan Preconditions
Pengguna menggunakan aplikasi sistem keamanan data Post Conditions
User dapat melihat dan menyimpan hasil penyisipan pesan
Succes Scenario 1.
User memilih menu sembunyikan pesan. 2.
Sistem menampilkan halaman sembunyikan pesan. 3.
User melakukan inputan teks, kunci dan cover-image. 4.
Sistem melakukan proses enkripsi dan embeding. 5.
Sistem menampilkan hasil proses enkripsi dan embeding.
Universitas Sumatera Utara
Tabel 3.2. Use-case narrative Enkripsi Pesan Name
Enkripsi pesan Actors
Pengguna Trigger
Pengguna menekan tombol sembunyikan pesan. Preconditions
Terdapat pesan dan kunci enkripsi dalam form. Post Conditions
Sistem menampilkan cipherteks.
Succes Scenario 1. Form pesan dan kunci telah diisi.
2. Pengguna menekan tombol sembunyikan pesan. 3. Sistem melakukan enkripsi pesan.
4. Sistem menampilkan cipherteks. Tabel 3.3. Use-case narrative Embed Cipherteks
Name Embed cipherteks
Actors Pengguna
Trigger Pengguna menekan tombol sembunyikan pesan
Preconditions Terdapat cipherteks dan cover-image dalam form.
Post Conditions Sistem menampilkan stego-image.
Succes Scenario 1. Form cipherteks dan cover-image telah diisi.
2. Pengguna menekan tombol sembunyikan pesan. 3. Sistem melakukan penyisipan cipherteks ke dalam citra.
4. Sistem menampilkan stego-image. Tabel 3.4. Use-case narrative Tampilkan Pesan
Name Tampilkan pesan
Actors Pengguna
Trigger Pengguna menekan tombol tampilkan pesan
Preconditions Pengguna menggunakan aplikasi sistem keamanan data
Post Conditions User dapat melihat dan menyimpan pesan hasil ekstrasi stego-
image.
Succes Scenario 1. User memilih menu tampilkan pesan.
2. Sistem menampilkan halaman Tampilkan pesan. 3. User melakukan inputan stego-image dan kunci enkripsi.
4. Sistem melakukan proses ekstraksi dan dekripsi. 5. Sistem menampilkan hasil proses ekstraksi dan dekripsi.
Universitas Sumatera Utara
Tabel 3.5. Use-case narrative Ekstraksi Pesan Name
Ekstraksi pesan Actors
Pengguna Trigger
Pengguna menekan tombol tampilkan pesan. Preconditions
Terdapat stego-image dan kunci enkripsi dalam form. Post Conditions
Sistem menampilkan cipherteks.
Succes Scenario 1. Form pesan dan kunci telah diisi.
2. Pengguna menekan tombol sembunyikan pesan. 3. Sistem melakukan enkripsi pesan.
4. Sistem menampilkan cipherteks.
Tabel 3.6. Use-case narrative Dekripsi Cipherteks Name
Dekripsi cipherteks Actors
Pengguna Trigger
Pengguna menekan tombol sembunyikan pesan Preconditions
Terdapat cipherteks dan kunci dalam form. Post Conditions
Sistem menampilkan pesan.
Succes Scenario 1. Form cipherteks dan kunci telah diisi.
2. Pengguna menekan tombol tampilkan pesan. 3. Sistem melakukan dekripsi cipherteks.
4. Sistem menampilkan pesan.
3.2.7. Activity diagram
Activity diagram menggambarkan urutan aktifitas dalam sebuah sistem. Dalam sistem terdapat dua buah activity diagram, yaitu activity diagram sembunyikan pesan dan
activity diagram tampilkan pesan. a.
Activity diagram sembunyikan pesan Proses penyembunyian pesan dimulai dengan menginputkan pesan, kunci dan
gambar cover. Kemudian sistem akan melakukan perhitungan untuk menentukan apakah pesan dapat disisipkan atau tidak. Jika pesan dapat disisip maka sistem akan
melakukan enkripsi pesan kemudian menyisipkannya ke dalam gambar. Activity diagram proses penyembunyian pesan digambarkan pada Gambar 3.8.
Universitas Sumatera Utara
User System
Function Function
P h
a s
e P
h a
s e
memilih menu enkripsi-embed
menampilkan form enkripsi-embed
menginput pesan, kunci, gambar
Cek pesan apakah dapat disisip dalam
gambar
enkripsi pesan dan sisipkan dalam
gambar menampilkan
cipherteks dan stego image
menampilkan peringatan pesan
tidak dapat disisip konfirmasi
melakukan perbaikan inputan
[Tidak perbaiki] [perbaiki]
[Tidak dapat] [dapat]
Gambar 3.8. Diagram Activity Sembunykan Pesan
b. Activity diagram tampilkan pesan
Proses penampilan pesan dimulai dengan menginputkan pesan dan gambar stego. Sistem akan melakukan ekstrak terhadap citra sehingga dihasilkan cipherteks
kemudian cipherteks tersebut akan didekripsi sehingga didapatkan pesan yang semula.
User System
Function Function
P h
a s
e P
h a
s e
memilih menu ekstraksi dan dekripsi
menampilkan form ekstraksi dan dekripsi
menginput pesan, kunci, gambar
ekstrak gambar dan dekripsi
menampilkan pesan
Gambar 3.9. Activity Diagram Proses Menampilkan Informasi
Universitas Sumatera Utara
3.2.8. Sequence diagram
Sequence diagram merupakan diagram yang menampilkan interaksi-interaksi yang ada pada sistem secara berurutan. Pada sistem terdapat dua buah sequence diagram
yaitu sequence diagram proses sembunyikan pesan yang ditunjukkan pada Gambar 3.10 dan sequence diagram proses tampilkan pesan yang ditunjukkan pada Gambar
3.11.
Pengguna Form Sembunyikan Pesan
Enkripsi Embed
inputpesan, gambar, kunci Enkripsi pesan, kunci
Cipherteks Embed cipherteks,gambar
stego image stego image
Gambar 3.10. Sequence Diagram Proses Sembunyikan Pesan
Pengguna Form Tampilkan Pesan
Ekstrak Dekripsi
inputgambar, kunci Ekstrak gambar
Cipherteks Dekripsi cipherteks,kunci
plainteks plainteks
Gambar 3.11. Sequence Diagram Proses Tampilkan Pesan
Universitas Sumatera Utara
3.2.9. Perancangan antarmuka Interface
Antarmuka merupakan sarana interaksi antara pengguna dengan sistem. Antarmuka dirancang sedemikian mungkin agar penguna dapat dengan mudah menggunakan
sistem yang dibangun. 1.
Halaman utama Halaman utama merupakan tampilan awal sistem ketika sistem dijalankan. Pada
halaman utama terdapat tiga buah pilihan menu yaitu menu sembunyikan pesan, menu tampilkan pesan dan menu keluar aplikasi. Perancangan halaman utama
ditunjukkan pada gambar 3.12.
Gambar 3.12. Perancangan Antarmuka Halaman Utama Berikut ini merupakan keterangan rancangan antarmuka halaman utama :
1. List Menu, merupakan kumpulan menu yang berisi fungsi-fungsi dari sistem.
2. Tombol sembunyikan pesan merupakan tombol yang akan mengarahkan
pengguna ke halaman sembunyikan pesan. 3.
Tombol tampilkan pesan merupakan tombol yang akan mengarahkan pengguna ke halaman sembunyikan pesan.
4. Tombol keluar merupakan tombol untuk keluar dari perangkat lunak.
Universitas Sumatera Utara
2. Halaman sembunyikan pesan
Perancangan antar muka halaman sembunyikan pesan ditunjukkan pada gambar 3.13.
Gambar 3.13. Perancangan Antarmuka Halaman Sembunyikan Pesan
Berikut ini merupakan keterangan rancangan antarmuka halaman sembunyikan pesan :
1. Tombol cari teks merupakan tombol untuk mencari file teks yang sudah
tersimpan di komputer pengguna. 2.
Kotak kunci merupakan tempat memasukkan kunci enkripsi. 3.
Kotak pesan merupakan tempat memasukkan pesan yang akan disembunyikan. 4.
Tombol cari cover merupakan tombol untuk mencari cover-image. 5.
Kotak gambar merupakan tempat untuk menampilkan cover-image yang telah dipilih pengguna.
6. Tombol proses merupakan tombol untuk melakukan proses penyembunyian
pesan. 7.
Kotak cipherteks merupakan tempat untuk menampilkan cipherteks hasil dekripsi pesan.
8. Kotak stego merupakan tempat untuk menampilkan stego-image.
Universitas Sumatera Utara
3. Halaman tampilkan pesan
Perancangan antarmuka halaman tampilkan pesan ditunjukkan pada gambar 3.14.
Gambar 3.14. Perancangan Antarmuka Halaman Tampilkan Pesan
Berikut ini merupakan keterangan rancangan antarmuka halaman tampilkan pesan :
1. Tombol cari stego merupakan tombol untuk mencari stego-image yang sudah
tersimpan di komputer pengguna. 2.
Kotak kunci merupakan tempat untuk memasukkan kunci dekripsi. 3.
Kotak stego merupakan tempat untuk menampilkan stego-image yang di input pengguna.
4. Tombol proses merupakan tombol untuk melakukan proses penampilan pesan.
5. Kotak cipherteks merupakan kotak untuk menampilkan cipherteks hasil
ekstraksi stego-image. 6.
Kotak pesan merupakan kotak untuk menampilkan pesan hasil dekripsi cipherteks.
Universitas Sumatera Utara
4. Halaman petunjuk penggunaan
Perancangan antarmuka penggunaan aplikasi ditunjukkan pada gambar 3.15.
Gambar 3.15. Perancangan Antarmuka Petunjuk Penggunaan Perangkat Lunak
5. Form Tentang Aplikasi
Perancangan antarmuka tentang aplikasi ditunjukkan pada gambar 3.16.
Gambar 3.16 Perancangan Antarmuka Tentang Perangkat Lunak
Universitas Sumatera Utara
BAB 4 IMPLEMENTASI DAN PENGUJIAN