PERANCANGAN APLIKASI
4.3 Analisis dalam Aplikasi
Pada tahap ini akan dijelaskan bagaimana tahapan – tahapan sistem mengamankan pesan. Gambar 4.2 akan dijadikan wadah penampung pesan. Citra ini menggunakan format pewarnaan RGB, artinya tiap piksel dari citra ini direpresentasikan dengan nilai sepanjang 24 bit. Pesan rahasia yang akan disembunyikan adalah “ Tolong kirim dokumen itu” dengan tiga buah kunci yaitu
“SEMBILAN”, “GAJAH”, dan “SEBELAS”. Sebelum pesan disembunyikan dalam citra, terlebih dahulu pesan dienkripsi sehingga akan menghasilkan cipherteks.
Sebelum memasukkan pesan ke dalam citra cover, maka terlebih dahulu dilakukan enkripsi pesan rahasia tersebut dengan menggunakan TTVC (Triple Transposition Vigenere Cipher)
Hal pertama yang harus dilakukan adalah menentukan jumlah kolom yang digunakan pada saat proses transposisi. Nantinya akan dilakukan proses transposisi sebanyak 3 kali dengan masing-masing kata kunci, sehingga diperlukan 3 jumlah kolom untuk masing-masing kata kunci tersebut. Jumlah kolom ditentukan dari nilai acak antara 1 sampai dengan panjang kata kunci yang
Pada proses transposisi pertama digunakan kata kunci “SEMBILAN” yang memiliki panjang 8 karakter, dengan menentukan nilai acak antara 1 sampai dengan 8 maka diasumsikan jumlah kolom pertama yang digunakan adalah 6.
Memasuki proses transposisi pertama, semua karakter akan disusun ke dalam matriks dengan jumlah kolom tertentu sesuai dengan jumlah kolom yang telah ditentukan sebelumnya. Teks pesan yang digunakan adalah masih sama seperti pesan rahasia semula yaitu “ tolong kirim dokumen itu” dan jumlah kolom yang digunakan adalah 7, sehingga hasil penyusunan matriksnya adalah
Tabel 4.1 Proses Memasukkan Plainteks 1
t o l o n g
k i r i m d
o k u m e n
i t u
Selanjutnya adalah melakukan transposisi pada matriks tersebut, sehingga hasilnya sebagai berikut:
Tabel 4.2 Proses Transposisi Pertama
t k o i
o i k t
l r u u
o i m
n m e
g d n
Lakukan pembacaan teks kembali secara terurut, sehingga hasil pesan sementara adalah “tkoioiktlruuoim[]nme[]gdn[]”.
Memasuki proses substitusi pertama. Langkah pertama adalah melakukan perulangan kata kunci agar jumlah kata kunci sesuai dengan jumlah karakter pada pesan yang diproses.
Pesan : tkoioiktlruuoim[]nme[]gdn[]
Kunci pertama : SEMBILANSEMBILANSEMBILAN
Selanjutnya adalah mendapatkan kode karakter ASCII dari masing-masing karakter tersebut. Dengan melihat tabel ASCII, maka diperoleh:
Tabel 4.3 Kode ASCII Plainteks dan Kunci Pertama i Plainteks ASCII i Kata kunci ASCII
Langkah berikutnya adalah mendapatkan indeks karakter secara terurut dari angka 1 sampai dengan jumlah karakter ASCII yang dapat dicetak. Rentang urutan karakter ASCII dalam bentuk hexadecimal adalah 20h – 7E, yang jika dikonversi dalam bentuk desimal adalah dengan kode 32 - 126.
Indeks 1 adalah indeks untuk kode karakter 10, indeks 2 adalah indeks untuk kode karakter 32, indeks 3 adalah indeks untuk kode karakter 33, demikian seterusnya sampai, indeks 96 adalah indeks untuk kode karakter 126
Dengan tata cara pengurutan indeks di atas, maka hasil konversinya adalah Tabel 4.4 Hasil Konversi Plainteks dan Kata Kunci Pertama i Plainteks Kata Kunci i Plainteks Kata Kunci
Selanjutnya akan dilakukan penjumlahan indeks kata kunci pertama dan indeks plainteks.
Tabel 4.5 Hasil Penjumlahan Plainteks dan Kata Kunci Pertama i Plainteks i Plainteks
10 123 22 116
11 134 23 115
12 123 24 58
Tetapi perlu diingat bahwa jumlah indeks maksimal adalah 96, sehingga untuk semua indeks yang nilainya lebih dari 96 akan mengalami pengurangan dengan angka 96 untuk memastikan nilai indeks tetap berada dalam rentang
Tabel 4.6 Hasil Pengurangan Plainteks pada Proses Pertama i Plainteks i Plainteks
1 43 13 28
2 20 14 25
3 32 15 18
4 15 16 58
5 28 17 37
6 25 18 22
7 16 19 22
8 38 20 46
9 35 21 20
10 27 22 20
11 38 23 19
12 27 24 58
Selanjutnya adalah mengembalikan nilai kode karakter ASCII dari indeks karakter tersebut. Cara pengembalian adalah sama seperti penjelasan sebelumnya, yaitu indeks 1 adalah indeks untuk kode karakter 10, indeks 2 adalah indeks untuk kode karakter 32, indeks 3 adalah indeks untuk kode karakter 33 demikian seterusnya sampai indeks 96 adalah indeks untuk kode karakter 126.
Tabel 4.7 Pengembalian Plainteks ke Bentuk Semula pada Proses Pertama i Plainteks i Plainteks
1 73 13 58
2 50 14 55
3 62 15 48
4 45 16 10
5 58 17 67
8 68 20 10
9 65 21 50
10 57 22 50
11 68 23 49
12 57 24 10
Kembalikan hasil plainteks pada tabel ke bentuk karakter semula berdasarkan kode karakter ASCII dari masing-masing karakter tersebut.
Tabel 4.8 Hasil Proses Enkripsi pada Transposisi Pertama i Plainteks i Plainteks
1 I 13 :
2 2 14 7
3 > 15 0
4 − 16 []
5 : 17 C
6 7 18 4
7 . 19 4
8 D 20 []
9 A 21 2
10 9 22 2
11 D 23 1
12 9 24 []
Diperoleh cipherteks sementara hasil transposisi pertama adalah
“I2>−:7.DA9D9:70[]C44[]221[]”
Memasuki proses transposisi kedua. Pada proses ini digunakan kata kunci
“GAJAH” yang memiliki panjang 5 karakter. Sama halnya dengan proses transposisi pertama, dengan menentukan nilai acak antara 1 sampai dengan 5, maka dapat diasumsikan jumlah kolom yang dapat digunakan pada proses transposisi kedua adalah 4. Selanjutnya cipherteks hasil transposisi pertama akan dimasukkan pada kolom yang telah ditentukan.
Tabel 4.9 Proses Memasukkan Plainteks 2 I 2 > −
: 7 . D
A 9 D 9 : 7 0 C 4 4 2 2 1
Selanjutnya adalah melakukan transposisi kedua.
Tabel 4.10 Proses Transposisi Kedua
I : A : C 2
2 7 9 7 4 2
> . D 0 4 1
− D 9
Lakukan pembacaan teks kembali secara terurut, sehingga hasil pesan sementara adalah “I:A:C2279742>.D041−D9[][][]”.
Memasuki proses substitusi kedua. Dengan menggunakan cara yang sama seperti sebelumnya, maka
Pesan : I:A:C2279742>.D041−D9[][][]
Kata kunci : GAJAHGAJAHGAJAHGAJAHGAJA
Selanjutnya adalah mendapatkan kode karakter ASCII dari masing-masing karakter tersebut. Dengan melihat tabel ASCII, maka diperoleh:
Tabel 4.11 Kode ASCII Plainteks dan Kunci Kedua I Plainteks ASCII i Kata Kunci ASCII
1 I 73 1 G 71
2 : 58 2 A 65
3 A 65 3 J 74
4 : 58 4 A 65
5 C 67 5 H 72
6 2 50 6 G 71
9 9 57 9 A 65
Berikutnya adalah mendapatkan indeks karakter secara terurut dari angka 1 sampai dengan jumlah karakter ASCII yang dapat dicetak. Rentang urutan karakter ASCII dalam bentuk hexadecimal adalah 20h – 7E, yang jika dikonversi dalam bentuk desimal adalah dengan kode 32 - 126. Tetapi perlu diingat bahwa akan terdapat karakter kosong dengan kode karakter 10, sehingga urutan indeks yang diinginkan adalah indeks 1 adalah indeks untuk kode karakter 10, indeks 2 adalah indeks untuk kode karakter 32, indeks 3 adalah indeks untuk kode karakter 33 demikian seterusnya sampai indeks 96 adalah indeks untuk kode karakter 126.
Dengan tata cara pengurutan indeks di atas, maka hasil urutan indeks adalah:
Tabel 4.12 Hasil Konversi Plainteks dan Kata Kunci Kedua i Plainteks Kunci i Plainteks Kunci
11 22 41 23 10 44
12 20 35 24 10 35
Selanjutnya akan dilakukan penjumlahan indeks kata kunci kedua dan indeks plainteks.
Tabel 4.13 Hasil Penjumlahan Plainteks dengan Kata Kunci Kedua i Plainteks i Plainteks
1 84 13 76
2 63 14 51
3 79 15 80
4 63 16 59
5 79 17 57
6 61 18 63
7 55 19 50
8 69 20 80
9 62 21 68
10 67 22 45
11 63 23 54
12 55 24 45
Tetapi perlu diingat bahwa jumlah indeks maksimal adalah 96, sehingga untuk semua indeks yang nilainya lebih dari 96 akan mengalami pengurangan dengan angka 96 untuk memastikan nilai indeks tetap berada dalam rentang.
Karena nilai indeks tidak lebih besar dari 96, maka tidak dilakukan pengurangan dengan nilai rentang yang telah ditetapkan. Dalam hal ini langsung saja mengembalikan plainteks awal dengan melakukan penjumlahan pada indeks terkecil.
Tabel 4.14 Pengembalian Plainteks ke Bentuk Semula pada Proses Kedua i Plainteks i Plainteks
1 114 13 106
2 93 14 81
3 109 15 110
6 91 18 93
7 85 19 80
8 99 20 110
9 92 21 98
10 97 22 10
11 93 23 10
12 85 24 10
Kembalikan hasil plainteks pada tabel ke bentuk karakter semula berdasarkan kode karakter ASCII dari masing-masing karakter tersebut.
Tabel 4.15 Hasil Proses Enkripsi pada Transposisi Kedua i plainteks i plainteks
1 r 13 j
2 ] 14 Q
3 m 15 n
4 ] 16 Y
5 m 17 W
6 [ 18 ]
7 U 19 P
8 c 20 n
9 \ 21 b
10 a 22 []
11 ] 23 []
12 U 24 []
Sehingga diperoleh cipherteks sementara hasil transposisi kedua adalah
“r]m]m[Uc\a]UjQnYW]Pnb[][][]”
Memasuki proses transposisi ketiga. Pada proses ini digunakan kata kunci
“SEBELAS” yang memiliki panjang 7 karakter. Sama halnya dengan proses transposisi pertama dan kedua, dengan menentukan nilai acak antara 1 sampai dengan 7, maka dapat diasumsikan jumlah kolom yang dapat digunakan pada proses transposisi ketiga adalah 2. Selanjutnya cipherteks hasil transposisi kedua akan dimasukkan pada kolom yang telah ditentukan.
Tabel 4.16 Proses Memasukkan Plainteks 3
Selanjutnya adalah melakukan transposisi kedua.
Tabel 4.17 Proses Transposisi Ketiga r m m U \ ] j n W P b ] ] [ c a U Q Y ] n
Lakukan pembacaan teks kembali secara terurut, sehingga hasil pesan sementara adalah “rmmU\]jnWPb]][caUQY]n”
Memasuki proses substitusi ketiga. Dengan menggunakan cara yang sama seperti sebelumnya, maka
Pesan : rmmU\]jnWPb]][caUQY]n
Kata kunci : SEBELASSEBELASSEBELASSEB
Selanjutnya adalah mendapatkan kode karakter ASCII dari masing-masing r ]
m ] m [ U c
\ a ] U j Q n Y W ]
P n b
Tabel 4.18 Kode ASCII Plainteks dan Kunci Ketiga
Selanjutnya konversi ke dalam urutan indeks sesuai aturan sebelumnya.
Tabel 4.19 Hasil Konversi Plainteks dan Kata Kunci Ketiga I Plainteks Kunci i Plainteks Kunci
11 68 39 23 10 39
12 10 46 24 10 36
Selanjutnya akan dilakukan penjumlahan indeks kata kunci dan indeks plainteks.
Tabel 4.20 Hasil Penjumlahan Plainteks dengan Kata Kunci Ketiga i Plainteks i Plainteks angka 96 untuk memastikan nilai indeks tetap berada dalam rentang.
Tabel 4.21 Hasil Pengurangan Plainteks pada Proses Ketiga i Plainteks i Plainteks
Selanjutnya adalah mengembalikan plainteks awal dengan melakukan penjumlahan pada indeks terkecil sesuai aturan yang telah dijelaskan sebelumnya pada transposisi pertama dan kedua.
Tabel 4.22 Pengembalian Plainteks ke Bentuk Semula pada Proses Ketiga i Plainteks i Plainteks
Kembalikan hasil plainteks pada tabel ke bentuk karakter semula berdasarkan kode karakter ASCII dari masing-masing karakter tersebut.
Tabel 4.23 Hasil Proses Enkripsi pada Transposisi Ketiga i Plainteks i Plainteks
Sehingga Cipherteks yang dihasilkan dari proses enkripsi adalah
“G41|*space?C~t)[]space20*%|enter|2C[][]”
Setelah proses enkripsi selesai, selanjutnya adalah melakukan proses penyisipan pesan enkripsi (encoding) pada citra cover.
Hal pertama yang akan dilakukan dalam proses encoding ini adalah dapatkan kembali kode karakter ASCII dari masing-masing karakter pesan tersebut.
Pesan : 71 52 49 124 42 32 63 67 126 116 41 10 32 50 48 42 37 124 31 124 50 67 10 10
Gabungkan semua kode karakter tersebut dan gunakan tanda spasi sebagai pemisah antar kode karakter, sehingga hasil pesan adalah
Pesan : 71 52 49 124 42 32 63 67 126 116 41 10 32 50 48 42 37 124 31 124 50 67 10 10
Selanjutnya lakukan konversi masing-masing karakter ke dalam karakter kontrol simbol dengan aturan 1Bh (huruf kecil), 1Ch (huruf besar), 1Dh (spasi), dan 1Fh (akhir pesan)
Dengan aturan di atas, maka hasil konversi adalah sebagai berikut:
7 = 37h 3 = 33h Space = 20h 4 = 34h Space = 20h 1 = 31h 2 = 32h 4 = 34h 2 = 32h 5 = 35h Space = 20h Space = 20h 1 = 31h Space = 20h 0 = 30h
5 = 35h 6 = 36h Space = 20h 3 = 33h Space = 20h 2 = 32h 3 = 33h 1 = 31h 7 = 37h 6 = 37h Space = 20h Space = 20h 0 = 30 Space = 20h 7 = 37h
4 = 34h 6 = 36h Space = 20h 1 = 31h Space = 20h 9 = 39h 7 = 37h 3 = 33h 2 = 32h 1 = 31h Space = 20h Space = 20h 2 = 32h 4 = 34h 0 = 30h
1 = 31h 1 = 31h Space = 20h Space = 20h Space = 20h 2 = 32h 2 = 32h 5 = 35h 3 = 33h 1 = 31h 4 = 34h 6 = 36h 0 = 30h 1 = 31h 0 = 30h Space = 20h Space = 20h Space = 20h Space = 20h
4 = 34h 1 = 31h 4 = 34h 1 = 31h 2 = 32h 1 = 31h 8 = 38h 2 = 32h Space = 20h 6 = 36h Space = 20h 4 = 32h
Hasil daftar kontrol simbol sementara adalah
37h 31h 20h 35h 32h 20h 34h 39h 20h 31h 32h 34h 20h 34h 32h 20h 33h 32h 20h 36h 33h 20h 36h 37h 20h 31h 32h 36h 20h 31h 31h 36h 20h 34h 31h 20h 31h 30h 20h 33h 32h 20h 35h 30h 20h 34h 38h 20h 35h 30h 20h 33h 37h 20h 31h 32h 34h 20h 33h 31h 20h 31h 32h 34h 20h 35h 30h 20h 36h 37h 20h 31h 30h 20h 31h 30h
Lakukan proses pengurangan masing-masing kontrol simbol dengan nilai terendah dari masing-masing rentang nilai dari karakter kontrol simbol yang berada sebelum masing-masing karakter, dan lakukan konversi untuk setiap karakter spasi (kontrol simbol 20h) menjadi sesuai dengan aturan di atas. Karena nilai terendah pada masing-masing karakter adalah 30, maka semua karakter akan dikurangi dengan nilai 30. Setelah dilakukan pengurangan nilai terendah untuk setiap kelompok, data-data tersebut ditambahi dengan keterangan control symbol 1Dh (keterangan spasi), 1Eh (keterangan nomor) dan 1Fh (keterangan akhir pesan). Maka akan diperoleh data embed sebagai berikut:
1Eh 07h 01h 1Dh 05h 02h 1Dh 04h 09h 1Dh 01h 02h 04h 1Dh 04h 02h 1Dh 03h 02h 1Dh 06h 03h 1Dh 06h 07h 1Dh 01h 02h 06h 1Dh 01h 01h 06h 1Dh 04h 01h 1Dh 01h 00h 1Dh 03h 02h 1Dh 05h 00h 1Dh 04h 08h 1Dh 04h 02h 1Dh 03h 07h 1Dh 01h 02h 04h 1Dh 03h 01h 1Dh 01h 02h 04h 1Dh 05h 00h 1Dh 06h 07h 1Dh 01h 00h 1Dh 01h 00h 1Fh
Data embed di atas lalu diubah menjadi bentuk biner seperti di bawah ini:
11100 00111 00001 11101 00101 00010 11101 00100 01001 11101 00001 00010 00100 11101 00100 00010 11101 00011 00010 11101 00110 00011 11101 00110 00111 11101 00001 00010 00110 11101 00001 00001 00110 11101 00100 00001 11101 00001 00000 11101 00011 00010 11101 00101 00000 11101 00100 01000 11101 00100
00010 11101 00011 00111 11101 00001 00010 00100 11101 00100 00001 11101 00001 00010 00100 11101 00101 00000 11101 00110 00111 11101 00001 00000 11101 00001 00000 11111
Selanjutnya lakukan konversi nilai piksel dari citra cover menjadi nilai biner.
Gambar 4.15 Citra Cover
Adapun nilai piksel citra cover adalah sebagai berikut:
Tabel 4.24 Nilai RGB Citra Cover
Tabel 4.25 Citra Cover dalam Bentuk Biner
Komponen Merah Komponen Hijau Komponen Biru
10000100 10000111 01111000
10000110 01110000 01100011
01111011 01010011 01000111
01011011 01011101 01011100
01111001 01110000 01100111
10001001 10100001 10000001
… … …
01110100 01110110 01110101
Langkah selanjutnya adalah melakukan penyisipan 5 bit data karakter kontrol simbol ke dalam 5 bit nilai binary dari citra cover. Cara penyisipan adalah secara terurut dari kiri ke kanan, atas ke bawah. Maka hasil penyisipan adalah sebagai berikut:
Tabel 4.26 Biner Citra Setelah Disisipkan Pesan Komponen Merah Komponen Hijau Komponen Biru
10011101 10000111 01100001
10011101 01100100 01100010
01111101 01000100 01001001
01011101 01000001 01000010
01100100 01111101 01100100
10000000 10111101 10000011
… … …
01100001 01100000 01111111
Langkah terakhir adalah mengembalikan nilai biner menjadi nilai piksel citra stego. Dari tabel di atas, apabila susunannya dikembalikan ke dalam bentuk semula, maka hasilnya adalah sebagai berikut:
Tabel 4.27. Nilai Piksel Citra Stego
Berikut ini adalah hasil bentuk citra cover setelah dilakukan penyisipan.
Gambar 4.16 Citra Stego
Untuk proses ekstraksi pesan dapat dengan mudah dilakukan dengan cara sebaliknya.
Pertama kali yang harus dilakukan adalah konversi nilai pixel dari citra stego menjadi nilai biner.
Komponen Merah
Tabel 4.28 Hasil ekstraksi citra stego
Komponen Merah Komponen Hijau Komponen Biru
10011101 10000111 01100001
10011101 01100100 01100010
01111101 01000100 01001001
01011101 01000001 01000010
01100100 01111101 01100100
10000000 10111101 10000011
… … …
01100001 01100000 01111111
Selanjutnya lakukan pembacaan terurut dari kiri ke kanan, atas ke bawah, 5 bit terakhir dari semua nilai biner sampai ditemukan karakter kontrol simbol terakhir. Dalam kasus di atas, karakter kontrol simbol terakhir ditemukan pada kolom ketiga (komponen biru) pada baris ke-26 dengan nilai 5 bit terakhir adalah 11111. Berikut adalah tabel 4.29 pengambilan karakter control symbol dari komponen RGB.
Tabel 4.29 Pengambilan Karakter Control Symbol dari Komponen RGB Komponen Merah Komponen Hijau Komponen Biru
11101 00111 00001 mengkonversi nilai binary menjadi nilai hexadecimal. Perlu diingat bahwa cara pembacaan nilai biner pada tabel diatas adalah dengan cara pembacaan kiri ke kanan, atas ke bawah.
Tabel 4.30 Konversi Control Symbol Menjadi Nilai Hexadecimal 11101 = 1Eh 00110 = 06h 00001 = 01h 11101 = 1Dh 00100 = 05h 00010 = 02h
11101 = 1Dh 00100 = 04h 01001 = 09h 11101 = 1Dh 00001 = 01h 00010 = 02h 00100 = 04h 11101 = 1Dh 00100 = 04h 00000 = 00h 11101 = 1Dh 00011 = 03h
… … …
00001 = 01h 00000 = 00h 11111 = 1Fh Hasil pesan sementara adalah
1Eh 07h 01h 1Dh 05h 02h 1Dh 04h 09h 1Dh 01h 02h 04h 1Dh 04h 02h 1Dh 03h 02h 1Dh 06h 03h 1Dh 06h 07h 1Dh 01h 02h 06h 1Dh 01h 01h 06h 1Dh 04h 01h 1Dh 01h 00h 1Dh 03h 02h 1Dh 05h 00h 1Dh 04h 08h 1Dh 04h 02h 1Dh 03h 07h 1Dh 01h 02h 04h 1Dh 03h 01h 1Dh 01h 02h 04h 1Dh 05h 00h 1Dh 06h 07h 1Dh 01h 00h 1Dh 01h 00h 1Fh
Lakukan pembuangan karakter kontrol pertama dan terakhir dari daftar karakter kontrol simbol, kemudian lakukan proses penambahan masing-masing kontrol simbol dengan nilai terendah dari masing-masing rentang nilai dari karakter kontrol simbol yang berada sebelum masing-masing karakter, dan lakukan konversi untuk setiap kontrol simbol 1Dh menjadi karakter spasi (kontrol simbol 20h). Selanjutnya setiap karakter (kecuali karakter spasi) akan ditambahkan dengan nilai 30.
37h 31h 20h 35h 32h 20h 34h 39h 20h 31h 32h 34h 20h 34h 32h 20h 33h 32h 20h 36h 33h 20h 36h 37h 20h 31h 32h 36h 20h 31h 31h 36h 20h 33h 38h 20h 31h 30h 20h 33h 32h 20h 35h 30h 20h 34h 38h 20h 34h 32h 20h 33h 37h 20h 31h 32h 34h 20h 33h 31h 20h 31h 32h 34h 20h 35h 30h 20h 36h 37h 20h 31h 30h 20h 31h 30h
Lakukan proses konversi karakter kontrol simbol dengan cara melakukan konversi hexadecimal menjadi nilai desimal.
7 = 37h 3 = 33h Space = 20h 4 = 34h Space = 20h 1 = 31h 2 = 32h 4 = 34h 2 = 32h 5 = 35h Space = 20h Space = 20h 1 = 31h Space = 20h 0 = 30h
5 = 35h 6 = 36h Space = 20h 3 = 33h Space = 20h 2 = 32h 3 = 33h 1 = 31h 7 = 37h 6 = 37h Space = 20h Space = 20h 0 = 30 Space = 20h 7 = 37h
4 = 34h 6 = 36h Space = 20h 1 = 31h Space = 20h 9 = 39h 7 = 37h 3 = 33h 2 = 32h 1 = 31h Space = 20h Space = 20h 2 = 32h 4 = 34h 0 = 30h
1 = 31h 1 = 31h Space = 20h Space = 20h Space = 20h 2 = 32h 2 = 32h 5 = 35h 3 = 33h 1 = 31h 4 = 34h 6 = 36h 0 = 30h 1 = 31h 0 = 30h Space = 20h Space = 20h Space = 20h Space = 20h
4 = 34h 1 = 31h 4 = 34h 1 = 31h 2 = 32h 1 = 31h 8 = 38h 2 = 32h Space = 20h 6 = 36h Space = 20h 4 = 32h
Maka hasil pesan sementara adalah 71 52 49 124 42 32 63 67 126 116 41 10 32 50 48 42 37 124 31 124 50 67 10 10
Kemudian pengambilan nilai kode ASCII karakter dengan cara memecah pesan berdasarkan karakter spasi.
Pesan : 71 52 49 124 42 32 63 67 126 116 41 10 32 50 48 42 37 124 31 124 50 67 10 10
Dapatkan nilai karakter dari masing-masing kode karakter ASCII. Dengan melihat tabel ASCII, maka diperoleh hasil plainteks adalah
“G41|*space?C~t)[]space20*%|enter|2C[][]”.
Memasuki proses substitusi ketiga. Langkah pertama adalah melakukan perulangan kata kunci agar jumlah kata kunci adalah sesuai dengan jumlah karakter pada pesan yang diproses.
Tabel 4.31 Hasil Proses Dekripsi pada Substitusi Ketiga proses enkripsi, dan nantinya akan dibuang karena sudah tidak diperlukan lagi.
Selanjutnya adalah mendapatkan kode karakter ASCII dari masing-masing karakter tersebut. Dengan melihat tabel ASCII, maka diperoleh:
Tabel 4.32 Proses Dekripsi pada Proses Substitusi Ketiga i Plainteks Kunci i Plainteks Kunci
Langkah berikutnya adalah mendapatkan indeks karakter secara terurut dari angka 1 sampai dengan jumlah karakter ASCII yang dapat dicetak. Rentang
dikonversi dalam bentuk desimal adalah dengan kode 32 - 126. Tetapi perlu diingat bahwa akan terdapat karakter kosong dengan kode karakter 10, sehingga urutan indeks yang diinginkan adalah indeks 1 adalah indeks untuk kode karakter 10, indeks 2 adalah indeks untuk kode karakter 32, indeks 3 adalah indeks untuk kode karakter 33, indeks 4 adalah indeks untuk kode karakter 34 demikian seterusnya sampai, indeks 96 adalah indeks untuk kode karakter 126
Dengan tata cara pengurutan indeks di atas, maka hasil urutan indeks adalah sebagai berikut.
Tabel 4.33 Pengurangan Plainteks dan Kunci pada Proses Dekripsi Ketiga i Plainteks Kunci i Plainteks Kunci
Langkah selanjutnya adalah melakukan pengurangan indeks pesan dengan indeks kata kunci.
Tabel 4.34 Pengurangan Plainteks dengan Kata Kunci pada Proses Dekripsi Ketiga
8 -16 20 59
9 57 21 -33
10 50 22 -16
11 -28 23 -29
12 -36 24 -26
Tetapi perlu diingat bahwa jumlah indeks minimal adalah 1, sehingga untuk semua indeks yang nilainya kurang dari 1 akan mengalami penambahan dengan angka 96 sebagai indeks maksimal karakter untuk memastikan nilai indeks tetap berada dalam rentang.
Tabel 4.35 Pengembalian Indeks pada Rentang dalam Dekripsi Ketiga i Plainteks i Plainteks
1 84 13 63
2 79 14 63
3 79 15 61
4 55 16 69
5 60 17 67
6 63 18 55
7 76 19 51
8 80 20 59
9 57 21 63
10 50 22 80
11 68 23 67
12 60 24 70
Langkah berikutnya adalah mengembalikan nilai kode karakter ASCII ke dalam bentuk semula dengan menambahkan setiap indeks dengan angka 30.
Tabel 4.36 Pengembalian Plainteks dalam Bentuk Semula pada Dekripsi Ketiga
i Plainteks i Plainteks
1 114 13 93
2 109 14 93
3 109 15 91
4 85 16 99
7 106 19 81
Jika ASCII dalam tabel 4.35 dikembalikan menjadi karakter, akan menghasilkan pesan “rmmU\]jnWPb]][caUQY]n”.
Begitulah seterusnya sampai hasil akhir akan diperoleh pesan aslinya yaitu
“tolongkirimdokumenitu”.
4.4 Means Square Error (MSE)
Perhitungan nilai MSE dilakukan untuk mengukur besar citra yang rusak akibat penyisipan menggunakan metode MLSB. Perhitungan nilai MSE dilakukan antara citra cover dengan citra stego menggunakan persamaan di bawah ini.
Gambar 4.17 Pixel Citra Cover dan Citra Stego
625 529 4 4 16 400 1 676 289 676 144 40
MSE 1
Karena hasil yang ditunjukkan pada Means Square Error (MSE) pada citra bernilai kecil yaitu sebesar 3,9126, maka dapat disimpulkan bahwa citra yang telah melakukan proses penyisipan pesan hampir sama dengan kualitas aslinya.