Perancangan Sistem ANALISIS DAN PERANCANGAN

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