BAB III ANALISIS DAN DESAIN SISTEM
III.1. Analisis Masalah Kemajuan cara berpikir manusia membuat masyarakat menyadari bahwa teknologi informasi merupakan salah satu alat bantu penting dalam peradaban manusia untuk mengatasi segala masalah derasnya informasi. Dan seiring dengan perkembangan teknologi, keamanan dalam berteknologi merupakan hal yang sangat penting. Salah satu cara yang tepat untuk mengamankan informasi adalah dengan steganografi dan kriptografi. Proses penyisipan informasi pada steganografi membutuhkan dua buah masukan, yaitu pesan/informasi yang ingin disembunyikan dan media penyisipan, yaitu gambar. Gambar yang dimaksudkan adalah sebagai media penampung dari pesan rahasia yang akan disisipkan atau disembunyikan.
III.2. Steganografi LSB (Least Significant Bit) Metode penyisipan LSB (Least Significant Bit) ini adalah menyisipi pesan dengan cara mengganti bit ke 8, 16, dan 24 pada reprentasi biner file gambar dengan reprentasi biner pesan rahasia yang akan disembunyikan. Pada file gambar 24 bit setiap pixel pada gambar terdiri dari 3 susunan warna yaitu Red, Green, Blue (RGB) yang masing-masing disusun oleh bilangan 8 bit (1 byte) dari 0
22
23
sampai 255 atau dengan format biner 00000000 sampai 11111111. (Tri Prasetyo Utomo, 2012) Berikut akan dijelaskan tentang bagaimana proses penyisipan pesan cipher ke dalam citra gambar. Gambar yang digunakan adalah gambar berwarna 24 bit, yaitu gambar yang terdiri dari 3 warna R, G, B masing-masing warna bernilai 8 bit, maka pesan akan disisipkan ke dalam bit R, bit G, dan bit B tiap-tiap pixel. Berikut ini merupakan bagaimana cara kerja metode LSB dimana teks FEBRI akan disisipkan ke dalam gambar, namun terlebih dahulu teks tersebut diubah ke dalam biner dengan nilai sebagai berikut :
Tabel III.1 Kode ASCII Teks/Pesan Yang Akan Disisip Teks F E B R I
Biner 01000110 01000101 01000010 01010010 01001001
Setelah diubah ke dalam biner pesan akan disisipkan ke dalam gambar pada warna RGB atau sesuai dengan persamaan metode LSB. Kode ASCII dari setiap pesan diberikan dan kode ASCII tersebut untuk selanjutnya diubah menjadi 8 bit kodekode biner. Misalkan untuk nilai citra sebagai berikut :
24
Tabel III.2 Nilai Citra 196 67 25 176 101 40 28 44
10 200 150 56 34 200 30 66
97
182
101
100 45 77 250 55 60 99
50 200 100 40 28 45 125
90 75 25 100 60 80 190
Nilai piksel citra diubah menjadi biner sehingga menjadi :
Tabel III.3 Nilai Biner Citra 11000100 01000011 00011001 10110000 01100101 00101000 00011100 00101100
00001010 11001000 10010110 00111000 00100010 11001000 00011110 01000010
01100001 01100100 00101101 01001101 00101000 00110111 00111100 01100011
10110110 00110010 11001000 01100100 00101000 00011100 00101101 01111101
01100101 01011010 01001011 00011001 01100100 00111100 01010000 10111110
Untuk selanjutnya, setiap bit kode biner pesan digunakan untuk menggantikan bit terakhir dari kode biner citra. Proses penggantian dilakukan terurut menurut baris ataupun kolom. Pada contoh ini digunakan baris. Setelah proses penggantian, maka kode biner untuk citra menjadi :
25
Tabel III.4 Nilai Biner Citra Yang Disisipkan Pesan 11000100 01000011 00011000 10110000 01100100 00101001 00011101 00101100
00001010 11001001 10010110 00111000 00100010 11001001 00011110 01000011
01100000 01100101 00101100 01001100 00101000 00110110 00111101 01100010
10110110 00110011 11001000 01100101 00101000 00011100 00101101 01111100
01100100 01011011 01001010 00011000 01100101 00111100 01010000 10111111
Untuk hasil ekstraknya dapat dengan mudah dilakukan dengan mengambil bit terakhir dari kode biner citra yang telah disisipkan pesan. Data biner yang telah diambil isi pesannya dimana nilai tersebut adalah sebagai berikut :
Tabel III.5 Kode ASCII Hasil Ekstrak Teks F E B R I
Biner 01000110 01000101 01000010 01010010 01001001
Bit-bit citra mengalami perubahan, maka secara kasatmata hal ini tidak begitu berpengaruh. Selain itu, tidak semua pixel mengalami perubahan intensitas.
26
III.3. Kriptografi Algoritma Vigenere Cipher Kode Vigenere termasuk kode abjad - majemuk (polyalphabetic substitution
cipher). Pada teknik subsitusi vigenere, setiap teks-kode bisa
memiliki banyak kemungkinan teks-asli. Teknik dari subsitusi vigenere bisa dilakukan dengan 2 cara, yaitu angka dan huruf. Teknik subsitusi vigenere dengan menggunakan angka dilakukan dengan menukarkan huruf dengan angka, hampir sama dengan kode geser. Pada huruf, ide dasarnya adalah dengan menggunakan kode Kaisar, tetapi jumlah pegeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu. Untuk mengenkripsi pesan dengan kode vigenere biasanya digunakan tabula recta (disebut juga bujur sangkar vigenere). (Dony Ariyus ; 2008 : 65 – 67) Jika huruf A – Z yang diambil untuk menjadi nomor 0 – 25, kemudian enkripsi vigenere cipher dilambangkan dengan E dan kunci dilambangkan dengan K maka dapat ditulis sebagai berikut :
Ci = EK ( Pi ) = ( Pi + Ki ) mod 26 Atau Ci = ( Pi + Ki ) – 26 Dan dekripsi D menggunakan kunci K, Pi = DK ( Ci ) = ( Ci – Ki ) mod 26 Atau Pi = ( Ci – Ki ) + 26
27
Dimana, Ci = Nilai desimal karakter ciphertext ke – i Pi = Nilai desimal karakter plaintext ke – i Ki = Nilai desimal karakter kunci ke – i Nilai desimal karakter : A = 0, B = 1, C = 2, ….., Z = 25
Sebagai contoh, jika plaintext adalah FEBRIRIZKIRAMADHANI dan kunci adalah HARAHAP, maka proses yang terjadi adalah sebagai berikut :
Plaintext
: FEBRIRIZKIRAMADHANI
Kunci
: HARAHAPHARAHAPHARAH
Ciphertext
: MESRPRXGKZRHMPKHRNP
Pada contoh di atas, kata kunci HARAHAP diulang sedemikian rupa hingga panjang kunci sama dengan panjang plaintext. Jika dihitung dengan rumus enkripsi vigenere cipher, plainteks huruf F (yang memiliki nilai Pi = 5) akan dilakukan pergeseran dengan huruf H (yang memiliki nilai Ki = 7) maka prosesnya sebagai berikut :
28
Ci
= ( Pi + Ki ) mod 26 = ( 5 + 7 ) mod 26 = 12 mod 26 = 12
Hasilnya Ci = 12, maka huruf ciphertext dengan nilai 12 adalah M. Begitu seterusnya dilakukan pergeseran sesuai kunci pada setiap huruf hingga semua plaintext telah terenkripsi menjadi ciphertext. Setelah semua huruf terenkripsi maka proses dekripsinya dapat dihitung dengan cara berikut : Pi = ( Ci – Ki ) + 26 = ( 12 – 7 ) + 26 = 31 – 26 =5 Hasilnya Pi = 5, maka plainteks dengan nilai 5 adalah F. Begitu seterusnya dilakukan pergeseran sesuai kunci pada setiap huruf hingga semua ciphertext telah terdekripsi menjadi plaintext.
29
III.4. Desain Sistem Perangkat lunak aplikasi keamanan pesan dengan menggunakan metode steganografi Least Significant Bit (LSB) dan Algoritma Vigenere Cipher dirancang dengan menggunakan bahasa pemrograman Microsoft Visual Studio. Perancangan sistem yang dirancang terdiri dari use case, flowchart, activity diagram serta desain dan penjelasan dari sistem yang dirancang. Berikut adalah perancangannya :
III.4.1. Use Case Diagram Use case mendiskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat. Use case digunakan untuk mengetahui fungsi yang ada didalam sistem informasi tersebut. Berikut adalah use case diagram dari sistem yang dirancang :
30
Perancangan Aplikasi Keamanan Pesan Menggunakan Metode LSB dan Algoritma. Vigenere Chiper
Open Picture < Extend >
< Extend > < Extend >
Sisip
Input Pesan
Input Kunci
< Extend >
Enkrip < Extend >
Proses
< Extend > < Extend >
< Extend >
Login
< Extend >
Sisip Pesan
Close
< Extend >
User
Save Picture
Ekstrak
< Extend >
< Extend >
< Extend >
Input Picture Stego
Ekstrak
Input Kunci < Extend >
< Extend >
Proses < Extend >
Hasil < Extend >
Dekrip Pesan
Close
Gambar III.1 Use Case LSB (Least Significant Bit) dan Algoritma Vigenere Cipher
III.4.2. Flowchart Flowchart adalah penggambaran secara grafik dari langkah – langkah dan urutan – urutan prosedur dari suatu program.
31
Tujuan utama dari penggunaan flowchart adalah untuk menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi dan jelas dengan menggunakan simbol - simbol yang standar. Dalam perancangan aplikasi ini digunakan bagan alir (flowchart) untuk menjelaskan proses kerja dari perangkat lunak yang dirancang.
START
Citra .bmp
Input Pesan
Input Kunci
Enkripsi Vigenere Cipher
Penyisipan Steganografi LSB
Ciphertext Vigenere Cipher dan Steganografi LSB
END
Gambar III.2 Flowchart Penyisipan Pesan
32
START
Citra .BMP
Input Kunci
Ekstrak Steganografi LSB
Dekripsi Vigenere Cipher
Plaintext
END
Gambar III.3 Flowchart Ekstrak Pesan
1. Proses Flowchart Penyisipan Pesan a. Start b. Open Cover Image berekstensi BMP c. Masukkan pesan yang akan disisipkan
33
d. Masukkan kunci untuk proses enkripsi e. Melakukan proses enkripsi f. Pada proses steganografi, pesan yang telah dienkripsi akan disisipkan ke gambar dan akan membentuk stego image. 2. Proses Flowchart Ekstrak Pesan a. Start b. Open Stego Image c. Masukkan kunci untuk proses dekripsi pesan (Jika kunci salah, maka pesan tidak akan dapat terdekripsi) d. Pesan dapat disimpan e. Finish
III.4.3. Sequence Diagram Diagram sequence menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu objek hidup dan message yang dikirimkan dan diterima antar objek. Sequence diagram yang terdapat pada aplikasi ini adalah sebagai berikut :
34
1. Sequence Diagram Login Sequence diagram login merupakan diagram yang menggambarkan proses yang terjadi didalam sistem agar user dapat masuk ke menu utama aplikasi. Sequence diagram login terlihat pada gambar berikut :
Form Login
User
Menu Utama
Input User Name Input Password
Cek User, pass
User, Pass Benar User, Pass Sudah Ada
Logout
Gambar III.4 Sequence Diagram Login 2. Sequence Diagram Penyisipan Pesan Sequence diagram penyisipan pesan merupakan proses yang terjadi didalam sistem agar user dapat menyisipkan pesan rahasia ke dalam gambar. Sequence diagram penyisipan pesan terlihat pada gambar berikut :
35
User
Pesan
File
Open File BMP
Input Pesan
Kunci
Steganography
Save
Input Kunci
Encrypt ()
Proses Penyisipan
Save File Stego
Gambar III.5 Sequence Diagram Penyisipan Pesan 3. Sequence Diagram Ekstrak Sequence diagram ekstrak merupakan proses yang terjadi didalam sistem yang dilakukan oleh user dalam ekstraksi pesan dari gambar. Sequence diagram ekstrak terlihat pada gambar :
User
Open File BMP
File
Kunci
Steganography
Vigenere Chiper
Input Kunci
Ekstrak ()
Dekrip ()
Gambar III.6 Sequence Diagram Ekstrak
Dekrip Berhasil
36
III.4.4. Activity Diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram yang terdapat pada aplikasi yaitu sebagai berikut : 1. Activity Diagram Penyisipan Pesan Activity diagram penyisipan pesan menggambarkan alir aktifitas penyisipan pesan yang dilakukan oleh pengguna dan diproses didalam sistem.
Open Image
Input Pesan
Input Kunci
Proses Penyisipan Pesan dan Enkrip
Citra Stegano
Output File Stegano
Penyimpanan Image
Gambar III.7 Activity Diagram Penyisipan Pesan
37
2. Activity Diagram Ekstrak Pesan Activity diagram ekstrak pesan menggambarkan alir aktifitas ekstrak pesan yang dilakukan oleh pengguna dan diproses didalam sistem.
Image Stegano
Input Kunci
Proses Ekstrak Pesan dan Dekrip
Plaintext
Gambar III.8 Activity Diagram Estrak Pesan
III.5. Desain User Interface Antarmuka peamakai (user interface) adalah tampilan program yang dapat dilihat, didengar atau dipersepsikan oleh pengguna dan perintah-perintah atau mekanisme yang digunakan pemakai untuk mengendalikan operasi dan
38
memasukkan data. Berikut ini merupakan perancangan aplikasi steganografi dan kriptografi yang dirancang dengan antarmuka, yaitu :
1. Desain Form Login FORM LOGIN Gambar
1
LOGIN 2
Username Password
3 4 Masuk
Keluar
5
Gambar III.9 Desain Form Login
Merupakan tampilan rancangan form login. Adapun keterangannya sebagai berikut : 1) Menampilkan title dari form login. 2) Textbox digunakan untuk memasukkan username. 3) Textbox digunakan untuk memasukkan password. 4) Tombol yang digunakan untuk masuk ke menu utama aplikasi. 5) Tombol keluar aplikasi.
39
2. Desain Form Menu Utama Aplikasi Least Significant Bit dan Vigenere Cipher
File Utama
1
Tentang
Sisip Pesan
Tentang Aplikasi
Ekstrak Pesan
Tentang Penulis 3
Keluar
2
PERANCANGAN APLIKASI STEGANOGRAFI DAN KRIPTOGRAFI
LOGO
Gambar III.10 Desain Form Menu Utama
Keterangan tampilan menu utama, yaitu : 1) Menampilkan title dari form utama. 2) Menampilkan sub menu utama dari menu file utama. 3) Menampilkan sub menu dari tentang.
40
3. Desain Form Penyisipan Pesan
Form Penyisipan Pesan
1
PENYISIPAN PESAN PICTURE BOX
4
Pesan
PICTURE BOX 5
BIT 2
3 6
Kunci 7
Sisip Pesan
Keluar
8 8
Gambar III.11 Desain Form Penyisipan Pesan
Tampilan
form
penyisipan
pesan
yang
berfungsi
sebagai
tempat
berlangsungnya proses penyembunyian pesan teks ke dalam gambar. Adapun keterangannya sebagai berikut : 1) Menampilkan title form penyisipan pesan. 2) Menampilkan gambar awal. 3) Menampilkan gambar akhir setelah dilakukan proses penyisipan. 4) Memasukkan pesan teks yang akan disisipkan. 5) Menampilkan BIT dari pesan teks. 6) Memasukkan kunci untuk pesan yang akan dienkripsi. 7) Keluar form penyisipan pesan.
41
4. Desain Form Ekstrak Pesan Form Ekstrak Pesan
1 Ekstrak Pesan 3
PICTURE BOX
Pesan 4
BIT
2 5
Kunci
6
Ekstrak Pesan
Keluar
Gambar III.12 Desain Form Ekstrak Pesan
Merupakan tampilan dari form ekstrak pesan yang berfungsi sebagai proses pengambilan pesan yang tersisip didalam gambar. Adapun keterangan tampilan form ekstrak sabagai berikut : 1) Menampilkan title dari form ekstrak. 2) Menampilkan citra stegano. 3) Menampilkan plainteks. 4) Menampilkan BIT dari plainteks. 5) Memasukkan kunci untuk ekstrak pesan. 6) Tombol untuk ekstrak pesan. 7) Keluar form ekstrak.
7
42
5. Desain Form Tentang Penulis
Form Tentang Penulis
1 Nama
: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NIM
: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Jurusan
: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Doping 1
: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Doping 2
: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
IMG
2
Keluar
Gambar III.13 Desain Form Tentang Penulis
Adapun keterangannya sebagai berikut : 1) Menampilkan title dari form tentang penulis. 2) Menampilkan gambar penulis. 3) Menampilkan informasi penulis. 4) Tombol keluar digunakan untuk menutup form tentang penulis.
3
4
43
6. Desain Form Tentang Aplikasi Form Tentang Aplikasi
1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Keluar 3
Gambar III.14 Desain Form Tentang Aplikasi
Keterangan form tentang aplikasi adalah sebagai berikut : 1) Menampilkan title dari form tentang aplikasi. 2) Menampilkan informasi dari aplikasi. 3) Tombol keluar yang digunakan untuk menutup form tentang aplikasi.