Implementasi Steganografi Modified Least Significant Bit (MLSB) Untuk Enkripsi Pesan Pada Citra Dengan Algoritma Triple Transposition Vigenere Cipher Chapter III V

23

BAB 3
PERANCANGAN APLIKASI

3.1 Analisis Sistem
Analisis sistem berfungsi untuk melihat hasil kombinasi dari kedua algoritma
yang digunakan yaitu algoritma Triple Transposition Vigenere Cipher dan
algoritma Modified Least Significant Bit (MLSB) yang akan disisipkan dalam
citra berformat png.
Secara garis besar penelitian ini terdiri dari dua proses, yaitu proses
enkripsi dan proses encoding. Di mana untuk proses enkripsi penulis akan
menggunakan algoritma triple transposition vigenere cipher. Sedangkan untuk
proses encoding penulis akan menggunakan metode steganografi Modified Least
Significant Bit (MLSB). Di samping kedua proses tersebut, penulis juga akan
melengkapi penelitian ini dengan proses decoding dan dekripsi. Hal ini bertujuan
agar pesan yang telah dienkripsi dan disembunyikan dapat kembali menjadi pesan
awal yang dapat dimanfaatkan oleh orang yang berhak.
Mulai

Mulai


Input citra,
plainteks, kunci

Input citra
stego, kunci

Enkripsi

Dekripsi

Encoding

Decoding

Citra stego

Plainteks

Selesai


Selesai

Gambar 3.1 (a) Flowchart Enkripsi dan Encoding; (b) Flowchart Decoding dan Dekripsi

Universitas Sumatera Utara

24

3.2 Analisis Algoritma Triple Transposition Vigenere Cipher
Pada teknik Triple Transposition Vigenere Cipher, tabel bujursangkar vigenere
cipher ditambahkan jumlah karakter sehingga dapat menampung printable
character (karakter dengan kode ASCII 20h – 7Eh). Untuk mengacaukan
pengulangan serta memanipulasi kemunculan huruf –huruf pesan, penulis memilih
cara yaitu dengan perulangan transposisi kunci sebanyak tiga kali.
Berikut adalah langkah-langkah dari proses enkripsi:
1. Masukkan pesan (plainteks).
2. Masukkan kunci.
3. Dapatkan nilai panjang kunci secara acak untuk digunakan sebagai jumlah
kolom pada saat proses transposisi pertama.

4. Lakukan proses transposisi.
5. Ulang kunci sepanjang plainteks hasil transposisi.
6. Ubah huruf plainteks dan kunci menjadi kode ASCII.
7. Lakukan penggantian indeks bit dari plainteks dan kata kunci dengan cara
mengurangi setiap bit dengan 30 (20h-1-1).
8. Lakukan pergeseran indeks plainteks dengan cara menambahkan indeks
plainteks dengan indeks kata kunci.
9. Periksa apakah nilai setiap indeks plainteks lebih besar dari 96. Jika lebih
besar dari 96, maka indeks plainteks dikurangi dengan 96 sehingga akan
menghasil cipherteks hasil transposisi ketiga. Jika tidak lebih besar dari 96
maka lakukan langkah selanjutnya.
10. Apabila nilai indeks berada di luar dari jumlah maksimum karakter yang
tersedia maka kembalikan nilai indeksnya menjadi indeks awal (tambah
kembali dengan 30).
11. Kembalikan menjadi karakter plainteks.
12. Lakukan perulangan sebanyak tiga kali dari langkah nomer 2 sampai langkah
nomer 11.
13. Hasil akhir proses yaitu cipherteks.
Gambar 3.2 merupakan flowchart proses enkripsi dari suatu pesan dengan
menggunakan Triple Transposition Vigenere Cipher.


Universitas Sumatera Utara

25

Mulai

A

Input plainteks,
kunci

Tambahkan kunci
dan plainteks

 pi  k i 

Tentukan jumlah
kolom


 pi  k i   96

Transposisi
plainteks

 pi

Ya

 k i   96

Tidak
Kembalikan
plainteks awal
(menambahkan
dengan 30 )

Ulang kunci
sepanjang plainteks
hasil transposisi


Kembalikan
menjadi karakter
plainteks (pesan)

Ubah kunci dan
plainteks → ASCII

Cipherteks

Kurangi plainteks
dan kunci dengan
30

3 kali pengulangan

Selesai
A

Gambar 3.2 Flowchart Proses Enkripsi


Setelah diperoleh cipherteks, dengan begitu pesan tersebut tidak akan
dapat dibaca oleh pihak yang tidak berhak tanpa melalui proses deskripsi. Proses
deskripsi pada modifikasi vigenere cipher ini memerlukan kunci yang sama pada
saat proses enkripsi.
Langkah – langkah dari proses deskripsi adalah sebagai berikut:
1. Masukkan cipherteks
2. Masukkan kunci
3. Ulang kunci sepanjang cipherteks
4. Ubah cipherteks dan kunci menjadi kode ASCII

Universitas Sumatera Utara

26

5. Lakukan penggantian indeks byte dari plainteks dan kata kunci ketiga dengan
cara mengurangi setiap byte dengan 30.
6. Lakukan pergeseran indeks plainteks dengan cara menambahkan indeks
plainteks dengan indeks kata kunci.
7. Periksa apakah nilai setiap indeks plainteks lebih kecil 96. Jika lebih kecil dari

96, maka indeks plainteks ditambahkan dengan 96. Jika lebih besar dari 96
maka lakukan langkah selanjutnya.
8. Kembalikan nilai indeksnya menjadi indeks awal (tambah kembali dengan
30).
9. Kembalikan ke bentuk karakter semula berdasarkan kode karakter ASCII.
10. Dapatkan nilai panjang kunci secara acak untuk digunakan sebagai jumlah
kolom pada saat proses transposisi.
11. Lakukan proses transposisi hingga menghasilkan plainteks.
12. Lakukan perulangan sebanyak tiga kali dari langkah nomer 2 sampai langkah
nomer 11.
13. Hasil dari ekstraksi yaitu plainteks atau pesan asli.

Gambar 3.3 merupakan flowchart dari proses deskripsi pada triple
transposition vigenere cipher.
Mulai

Input cipherteks,
kunci

Ulang kunci

sepanjang
cipherteks

Ubah cipherteks,
kunci → ASCII

1

Universitas Sumatera Utara

27

1

Kurangi cipherteks
dan kunci dengan
30

Kurangi cipherteks
dan kunci


ci  k i 

ci  k i   96

Ya

c i

 k i   96

Tidak
Kembalikan ke
plainteks awal
(menambahkan
dengan 30 )

Konversi kembali
kode ASCII setiap
plainteks menjadi

karakter

Tentukan jumlah
kolom

Transposisi
cipherteks

3 kali pengulangan
Plainteks

Selesai

Gambar 3.3 Flowchart Proses Dekripsi

Universitas Sumatera Utara

28

3.3 Analisis Algoritma Modified Least Significant Bit (MLSB)
Strategi penyisipan pesan ke dalam citra yang digunakan adalah dengan metode
Modified Least Significant Bit (MLSB). Di mana dalam penyisipan pesannya
dilakukan sama persis dengan LSB (menyisipkan pada bit paling kanan), yang
membedakan antara MLSB dan LSB adalah pada pesan yang ingin disisipkan.
Pada LSB pesan yang disisikan masih dalam bentuk 8 bit, sementara pada MLSB,
pesan dikonversi ke dalam 5 bit. Pengubahan 8 bit menjadi 5 bit dilakukan dengan
menggunakan control symbol.
Berikut adalah langkah – langkah dari proses encoding:

1. Masukan pesan (cipherteks).
2. Masukkan citra.
3. Jika ukuran teks pesan lebih besar daripada ukuran citra, maka akan diminta
untuk memasukan kembali citra yang lebih besar. Jika tidak, proses akan
berlanjut ke langkah selanjutnya.
4. Ubah pesan menjadi kode ASCII.
5. Gabungkan semua kode karakter tersebut dan gunakan tanda spasi sebagai
pemisah antar kode karakter.
6. Lakukan konversi masing-masing karakter ke dalam karakter kontrol simbol.
7. Lakukan proses pengurangan masing-masing kontrol simbol dengan nilai
terendah dari masing-masing rentang nilai dari karakter kontrol simbol.
8. Dapatkan nilai biner dari daftar kontrol simbol tersebut dengan cara
melakukan konversi hexadecimal menjadi nilai biner.
9. Dapatkan nilai biner dari masing-masing nilai pixel pada citra cover.
10. Pilih lokasi pixel dari citra.
11. Lakukan penyisipan 5 bit data karakter kontrol simbol ke dalam 5 bit nilai
binary dari citra cover.
12. Ubah biner citra yang telah mengandung bit pesan ke pixel.
13. Ubah pixel menjadi citra, maka akan diperoleh citra baru yang mengandung
pesan (stego-image).

Gambar 3.4 merupakan flowchart dari proses encoding

Universitas Sumatera Utara

29

Mulai

A

Input pesan

Pengurangan masingmasing control
symbol dengan nilai
terendah

Input citra

Ubah control symbol
→ biner
Ukuran pesan
Ya

Ubah pixel citra →
biner

>
Ukuran citra

Tidak

Pilih lokasi pixel
dari citra

Ubah pesan → ASCII
Ganti MLSB citra
dengan bit pesan
Gabungkan semua
kode karakter →
tanda spasi (pemisah)

Ubah biner citra →
pixel

Konversi karakter
pesan → control
symbol

Stego-image

A

Selesai

Gambar 3.4 Flowchart Proses Encoding

Dari proses encoding akan dihasilkan citra baru yang telah mengandung
pesan. Jika diperhatikan dengan mata manusia, tidak terdapat perbedaan antara
citra tidak mengandung pesan dengan citra yang telah mengandung pesan.
Untuk dapat mengambil kembali pesan yang terkandung dalam citra harus
dengan proses decoding. Adapun langkah – langkah dari proses decoding adalah
sebagai berikut:

Universitas Sumatera Utara

30

1. Masukkan citra yang mengandung pesan (stego-image).
2. Ubah citra stego menjadi nilai biner.
3. Pilih lokasi pixel dari citra
4. Ambil MLSB citra sehingga menghasilkan biner pesan.
5. Ubah nilai biner ke dalam karakter simbol dengan cara mengkonversi nilai
biner menjadi nilai hexadecimal.
6. Lakukan pembuangan karakter kontrol pertama dan terakhir dari daftar
karakter kontrol simbol.
7. 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.
8. Ubah karakter kontrol simbol menjadi nilai desimal.
9. Lakukan pengambilan nilai kode ASCII karakter dengan cara memecah pesan
berdasarkan karakter spasi.
10. Ubah kode ASCII pesan menjadi karakter, sehingga menghasilkan pesan
(cipherteks).

Gambar 3.5 merupakan flowchart proses decoding
Mulai

Input stegoimage

Ubah citra stego →
biner

Pilih lokasi pixel
dari citra

Ambil MLSB citra
→ biner pesan

1

Universitas Sumatera Utara

31

1

Ubah biner →
karakter control
symbol

Ubah ASCII pesan
→ karakter

Pembuangan karakter
control symbol

Penambahan masingmasing control
symbol dengan nilai
terendah

Ubah control
symbol → desimal

Pengambilan nilai
kode ASCII karakter
→ tanda spasi
(pemisah)

Cipherteks

Selesai

Gambar 3.5 Flowchart Proses Decoding

3.4 Analisis Means Square Error (MSE)
Mean Square Error (MSE) pada penelitian ini digunakan untuk melihat
perbandingan nilai antara citro cover dengan citra stego. Dalam analisis ini jika
semakin kecil nilai Mean Square Error (MSE) yang dihasilkan, maka dapat

Universitas Sumatera Utara

32

dikatakan kualitas citra stego (setelah dilakukan penyisipan) hampir sama dengan
kualitas aslinya.
Berikut adalah langkah-langkah perhitungan Means Square Error (MSE):
1. Input citra cover.
2. Hitung dimensi
3. Input citra stego.

,

.

4. Hitung nilai RGB setiap pixel citra cover dan stego.
5. Hitung Means Square Error (MSE).
6. Nilai Means Square Error (MSE).

Gambar 3.6 merupakan flowchart proses perhitungan Means Square Error (MSE)
Mulai

Input citrastego

Hitung dimensi

X , Y 

Hitung nilai RGB setiap
pixel citra cover dan stego

2

MSE 

1 M N
  f x, y   f ' x, y 
MxN x 1 y 1

MSE

Selesai

Gambar 3.6 Flowchart Proses Perhitungan Means Square Error (MSE)

Universitas Sumatera Utara

33

BAB 4
IMPLEMENTASI

Pada bab ini akan diperlihatkan hasil dan pembahasan dari penelitian yang
diperoleh berdasarkan penjelasan – penjelasan yang telah dipaparkan pada bab–
bab sebelumnya. Hasil dan pembahasan dari penelitian ini adalah mengenai
implementasi Steganografi Modified Least Significant Bit (MLSB) dengan
modifikasi algoritma Triple Transposisi Vigenere Cipher pada citra digital.

4.1 Kebutuhan Perangkat Lunak dan Perangkat Keras
Penelitian ini menggunakan perangkat lunak berupa:
1. Sistem operasi Windows 7 Ultimate
2. Mathlab R20016b

Spesifikasi Perangkat keras yang digunakan berupa:
1. Processor Intel® Core™ i3 CPU M350 @ 2.27 GHz
2. RAM 3 GB
3. Harddisk 320 GB
4. Monitor 14 inch

4.2 Implementasi
Pada implementasi sistem ini secara keseluruhan penulis membuat empat buah
halaman antarmuka, yang terdiri dari halaman utama yang berisikan tentang
pilihan proses apa yang akan dilakukan. Bentuk antarmuka halaman utama dapat
dilihat pada Gambar 4.1.

Universitas Sumatera Utara

34

Gambar 4.1 Menu Utama

Dari Gambar 4.1 dapat dilihat bahwa di dalam halaman utama terdapat
empat buah tombol. Tombol tersebut yaitu tombol encoding, decoding dan keluar.
Tombol encoding digunakan untuk memulai proses enkripsi dan encoding, tombol
decoding digunakan untuk memulai proses decoding dan deskripsi, tombol hitung
MSE digunakan untuk memulai proses menghitung means square error pada citra,
dan tombol keluar digunakan untuk keluar dari program.

4.2.1

Proses Enkripsi dan Encoding

Surya adalah seorang direktur di sebuah perusahaan yang bergerak di bidang
property. Pada suatu hari Surya masih berada di luar kota dan baru akan kembali
pada hari Senin pukul 19:00 WIB, sementara ada meeting mendadak dengan para
investor pada hari Selasa pagi. Melihat kondisi yang tidak memungkinkan bagi
surya untuk pergi ke kantor mengambil dokumen dan berkas penting, maka Surya
memerintahkan asistennya yang bernama Dito untuk mengirim dan mengambil
dokumen tersebut. Berikut isi pesannya “Tolong kirim dokumen itu ke saya
sekarang. Dokumen itu berada dalam map warna hijau yang ada di dalam brankas
saya. Berikut pin brankasnya 34-82-69. Segera antarkan ke rumah saya tepat jam
8 malam ini karna ini sangat penting untuk meeting besok dengan para investor”.
Karena pesan bersifat rahasia, maka pesan tersebut dienkripsi dahulu oleh Surya
dengan menggunakan tiga kunci yaitu “SEMBILAN”, “GAJAH”, dan

Universitas Sumatera Utara

35

“SEBELAS”. Namun karena Surya merasa pesan ini belum aman jika hanya
dienkripsi saja, maka Surya memutuskan untuk menyembunyikan pesan tersebut
dalam sebuah citra sehingga pesan tidak ada yang mengetahui kecuali asistennya
bernama Dito. Gambar 4.2 merupakan citra yangakan digunakan Rio untuk
menyembunyikan pesan.

Gambar 4.2 Bebatuan.png

Untuk memulai proses enkripsi dan encoding, tekan tombol encoding pada
halaman utama, maka akan muncul halaman enkripsi dan encoding seperti pada
gambar 4.3.

Gambar 4.3 Halaman Enkripsi dan Encoding 1

Kemudian pilih citra yang akan dijadikan wadah penampung dengan cara
menekan tombol Pilih Citra Cover, maka akan muncul pop-up window untuk
mengakses lokasi citra yang diinginkan.

Universitas Sumatera Utara

36

Gambar 4.4 Pop-up Window Pilih Gambar 1

Setelah citra dipilih akan ditampilkan pada halaman enkripsi dan
encoding.

Gambar 4.5 Halaman Enkripsi dan Encoding 2
Selanjutnya yang dilakukan adalah masukkan pesan yang akan
disembunyikan dan kunci pada kolom yang disediakan. Pesan dan kunci ini
terlebih dahulu akan dienkripsi dengan algoritma Triple Transposition Vigenere
Cipher untuk menghasilkan cipherteks, di mana cipherteks inilah yang akan
disembunyikan dalam citra. Pesan yang akan dienkripsi adalah “Tolong kirim
dokumen itu ke saya sekarang. Dokumen itu berada dalam map warna hijau yang

Universitas Sumatera Utara

37

ada di dalam brankas saya. Berikut pin brankasnya 34-82-69. Segera antarkan ke
rumah saya tepat jam 8 malam ini karna ini sangat penting untuk meeting besok
dengan

para

investor.”

dengan

kunci

“SEMBILAN”,

“GAJAH”,

dan

“SEBELAS”.

Gambar 4.6 Halaman Enkripsi dan Encoding 3

Langkah selanjutnya adalah memulai proses enkripsi dan encoding dengan
menekan tombol Proses Penyisipan, lalu akan muncul gambar yang pertama kali
dipilih dan peringatan bahwa “Proses Penyisipan Berhasil”.

Gambar 4.7 Halaman Enkripsi dan Encoding 4

Universitas Sumatera Utara

38

Kemudian klik tombol “Ok” dan setelah itu klik tombol “Simpan Citra
Stego”, maka akan muncul pop-up window untuk menyimpan citra yang telah
mengandung pesan hasil proses enkripsi dan encoding.

Gambar 4.8 Pop-up Window Simpan Gambar

Citra pada Gambar 4.9 merupakan citra yang telah mengandung pesan
hasil proses enkripsi dan encoding.

Gambar 4.9 Bebatuan_Stego.png

4.2.2

Proses Decoding dan Deskripsi

Setelah Dito menerima citra yang telah dikirimkan oleh Surya, Dito harus
melakukan proses decoding dan deskripsi agar dapat membaca isi dari pesan
tersebut. Untuk proses decoding dan deskripsi dilakukan dengan menekan tombol

Universitas Sumatera Utara

39

decoding pada halaman utama, maka akan muncul halaman decoding dan
deskripsi seperti pada Gambar 4.10

Gambar 4.10 Halaman Decoding dan Dekripsi 1

Selanjutnya yang dilakukan adalah pilih citra yang mengandung pesan
dengan cara menekan tombol Pilih Citra Stego, maka akan muncul pop-up
window untuk mengakses lokasi citra disimpan.

Gambar 4.11 Pop-up Window Pilih Gambar 2

Setelah citra dipilih akan ditampilkan pada halaman deskripsi dan
decoding.

Universitas Sumatera Utara

40

Gambar 4.12 Halaman Decoding dan Dekripsi 2

Langkah selanjutnya adalah masukan kunci pada kolom yang disediakan.
Kunci pada proses deskripsi dan decoding ini adalah sama dengan kunci yang
digunakan pada proses enkripsi dan encoding.

Gambar 4.13 Halaman Decoding dan Dekripsi 3
Setelah kunci dimasukan, tekan tombol Proses Ekstraksi untuk memulai
proses deskripsi dan decoding. Jika proses ini selesai akan muncul pesan yang
disembunyikan pada kolom yang disediakan. Pesan inilah yang merupakan pesan
penting yang ingin disampaikan Surya kepada Dito.

Universitas Sumatera Utara

41

Gambar 4.14 Halaman Decoding dan Dekripsi 4

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
tersedia.

Universitas Sumatera Utara

42

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[]”.

Universitas Sumatera Utara

43

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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

Plainteks ASCII
t
k
o
i
o
i
k
t
l
r
u
u
o
i
m
[]
n
m
e
[]
g
d
n
[]

116
107
111
105
111
105
107
116
108
114
117
117
111
105
109
10
110
109
101
10
103
100
110
10

i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

Kata kunci ASCII
S
E
M
B
I
L
A
N
S
E
M
B
I
L
A
N
S
E
M
B
I
L
A
N

83
69
77
66
73
76
65
78
83
69
77
66
73
76
65
78
83
69
77
66
73
76
65
78

Universitas Sumatera Utara

44

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

1
2
3
4
5
6
7
8
9
10
11
12

86
77
81
75
81
75
77
86
78
84
87
87

53
39
47
36
43
46
35
48
53
39
47
36

13
14
15
16
17
18
19
20
21
22
23
24

81
75
79
10
80
79
71
10
73
70
80
10

43
46
35
48
53
39
47
36
43
46
35
48

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

1
2
3
4
5
6
7
8
9

139
116
128
111
124
121
112
134
131

13
14
15
16
17
18
19
20
21

124
121
114
58
133
118
118
46
116

Universitas Sumatera Utara

45

10
11
12

123
134
123

22
23
24

116
115
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
2
3
4
5
6
7
8
9
10
11
12

43
20
32
15
28
25
16
38
35
27
38
27

13
14
15
16
17
18
19
20
21
22
23
24

28
25
18
58
37
22
22
46
20
20
19
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
2
3
4
5
6
7

73
50
62
45
58
55
46

13
14
15
16
17
18
19

58
55
48
10
67
52
52

Universitas Sumatera Utara

46

8
9
10
11
12

68
65
57
68
57

20
21
22
23
24

10
50
50
49
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
2
3
4
5
6
7
8
9
10
11
12

I
2
>

:
7
.
D
A
9
D
9

13
14
15
16
17
18
19
20
21
22
23
24

:
7
0
[]
C
4
4
[]
2
2
1
[]

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

Universitas Sumatera Utara

47

A

9

:

D

7

9

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
: I:A:C2279742>.D041−D9[][][]

Pesan

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
2
3
4
5
6
7
8

I
:
A
:
C
2
2
7

73
58
65
58
67
50
50
55

1
2
3
4
5
6
7
8

G
A
J
A
H
G
A
J

71
65
74
65
72
71
65
74

Universitas Sumatera Utara

48

9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

9
7
4
2
)
.
D
0
4
1

D
9
[]
[]
[]

57
55
52
50
62
46
68
48
52
49
45
68
57
10
10
10

9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

A
H
G
A
J
A
H
G
A
J
A
H
G
A
J
A

65
72
71
65
74
65
72
71
65
74
65
72
71
65
74
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

1
2
3
4
5
6
7
8
9
10

43
28
35
28
37
20
20
25
27
25

41
35
44
35
42
41
35
44
35
42

13
14
15
16
17
18
19
20
21
22

32
16
38
18
22
19
15
38
27
10

44
35
42
41
35
44
35
42
41
35

Universitas Sumatera Utara

49

11
12

22
20

41
35

23
24

10
10

44
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
2
3
4
5
6
7
8
9
10
11
12

84
63
79
63
79
61
55
69
62
67
63
55

13
14
15
16
17
18
19
20
21
22
23
24

76
51
80
59
57
63
50
80
68
45
54
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
2
3
4
5

114
93
109
93
109

13
14
15
16
17

106
81
110
89
87

Universitas Sumatera Utara

50

6
7
8
9
10
11
12

91
85
99
92
97
93
85

18
19
20
21
22
23
24

93
80
110
98
10
10
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
2
3
4
5
6
7
8
9
10
11
12

r
]
m
]
m
[
U
c
\
a
]
U

13
14
15
16
17
18
19
20
21
22
23
24

j
Q
n
Y
W
]
P
n
b
[]
[]
[]

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.

Universitas Sumatera Utara

51

Tabel 4.16 Proses Memasukkan Plainteks 3
r

]

m

]

m

[

U

c

\

a

]

U

j

Q

n

Y

W

]

P

n

b

Selanjutnya adalah melakukan transposisi kedua.

Tabel 4.17 Proses Transposisi Ketiga
r

m

m

U

\

]

j

n

W

P

]

]

[

c

a

U

Q

Y

]

n

b

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
karakter tersebut. Dengan melihat tabel ASCII, maka diperoleh:

Universitas Sumatera Utara

52

Tabel 4.18 Kode ASCII Plainteks dan Kunci Ketiga
i

Plainteks

ASCII

i

Kata Kunci

ASCII

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

r
m
m
U
\
]
j
n
W
P
b
[]
]
]
[
c
a
U
Q
Y
]
n
[]
[]

114
109
109
85
92
93
106
110
87
80
98
10
93
93
91
99
97
85
81
89
93
110
10
10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

S
E
B
E
L
A
S
S
E
B
E
L
A
S
S
E
B
E
L
A
S
S
E
B

83
69
66
69
76
65
83
83
69
66
69
76
65
83
83
69
66
69
76
65
83
83
69
66

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

1
2
3
4
5
6
7
8
9
10

84
79
79
55
62
63
76
80
57
50

53
39
36
39
46
35
53
53
39
36

13
14
15
16
17
18
19
20
21
22

63
63
61
69
67
55
51
59
63
80

35
53
53
39
36
39
46
35
53
53

Universitas Sumatera Utara

53

11
12

68
10

39
46

23
24

10
10

39
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

1
2
3
4
5
6
7
8
9
10
11
12

137
118
115
94
108
98
129
133
96
86
107
10

13
14
15
16
17
18
19
20
21
22
23
24

98
116
114
108
103
94
97
94
116
133
10
10

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.21 Hasil Pengurangan Plainteks pada Proses Ketiga
i

Plainteks

i

Plainteks

1
2
3
4
5
6
7
8
9
10
11
12

41
22
19
94
12
2
33
37
96
86
11
10

13
14
15
16
17
18
19
20
21
22
23
24

2
20
18
12
7
94
1
94
20
37
10
10

Universitas Sumatera Utara

54

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

1
2
3
4
5
6
7
8
9
10
11
12

71
52
49
124
42
32
63
67
126
116
41
10

13
14
15
16
17
18
19
20
21
22
23
24

32
50
48
42
37
124
31
124
50
67
10
10

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

1
2
3
4
5
6
7
8
9
10
11
12

G
4
1
|
*
space
?
C
~
t
)
[]

13
14
15
16
17
18
19
20
21
22
23
24

space
2
0
*
%
|
enter
|
2
C
[]
[]

Sehingga Cipherteks yang dihasilkan dari proses enkripsi adalah
“G41|*space?C~t)[]space20*%|enter|2C[][]”

Universitas Sumatera Utara

55

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

50

48

42

37

32

124 31

63

67

124 50

126 116

41

67

10

10

10 32

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
1 = 31h
Space = 20h
5 = 35h
2 = 32h
Space = 20h
4 = 34h
9 = 39h
Space = 20h
1 = 31h
2 = 32h
4 = 34h
Space = 20h
4 = 34h
2 = 32h
Space = 20h

3 = 33h
2 = 32h
Space = 20h
6 = 36h
3 = 33h
Space = 20h
6 = 36h
7 = 37h
Space = 20h
1 = 31h
2 = 32h
6 = 36h
Space = 20h
1 = 31h
1 = 31h
6 = 36h

Space = 20h
4 = 34h
1 = 31h
Space = 20h
1 = 31h
0 = 30
Space = 20h
3 = 33h
2 = 32h
Space = 20h
5 = 35h
0 = 30h
Space = 20h
4 = 34h
8 = 38h
Space = 20h

4 = 34h
2 = 32h
Space = 20h
3 = 33h
7 = 37h
Space = 20h
1 = 31h
2 = 32h
4 = 34h
Space = 20h
3 = 33h
1 = 31h
Space = 20h
1 = 31h
2 = 32h
4 = 32h

Space = 20h
5 = 35h
0 = 30h
Space = 20h
6 = 37h
7 = 37h
Space = 20h
1 = 31h
0 = 30h
Space = 20h
1 = 31h
0 = 30h

Universitas Sumatera Utara

56

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
00001
00110
00001
00011

00111
00010
00011
00001
00010

00001
00100
11101
00110
11101

11101
11101
00110
11101
00101

00101
00100
00111
00100
00000

00010
00010
11101
00001
11101

11101
11101
00001
11101
00100

00100
00011
00010
00001
01000

01001
00010
00110
00000
11101

11101
11101
11101
11101
00100

Universitas Sumatera Utara

57

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
Komponen Hijau

Komponen Merah
132
137
112
147
153
116
191
171

134
135
177
166
157
130
154
178

123
93
177
193
128
140
133
173

91
185
157
118
144
132
145
105

129
161
122
135
152
118
189
178

121
220
159
109
164
143
123
86

112
65
121
153
162
136
141
143

83
18
107
143
94
127
105
112

93
200
147
85
115
102
112
84

112
226
144
75
140
117
99
77

Komponen Biru
120
129
114
147
160
117
168
170

99
89
86
111
122
90
135
105

71
41
81
118
67
75
81
49

92
161
112
50
81
78
95
95

103
180
103
38
106
100
89
96

Dapatkan nilai biner dari masing-masing nilai pixel pada citra cover.

Universitas Sumatera Utara

58

Tabel 4.25 Citra Cover dalam Bentuk Biner
Komponen Merah

Komponen Hijau

Komponen Biru

10000100
10000110
01111011
01011011
01111001
10001001

10000111
01110000
01010011
01011101
01110000
10100001

01111000
01100011
01000111
01011100
01100111
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
10011101
01111101
01011101
01100100
10000000

10000111
01100100
01000100
01000001
01111101
10111101

01100001
01100010
01001001
01000010
01100100
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:

Universitas Sumatera Utara

59

Tabel 4.27. Nilai Piksel Citra Stego
Komponen Hijau

Komponen Merah
157
157
100
134
130
100
191
177

157
134
163
161
131
130
154
178

125
67
164
221
134
140
133
173

93
168
134
125
137
132
145
104

135
161
102
129
157
127
189
178

125
194
131
125
163
143
123
86

99
93
98
130
189
136
141
143

68
29
100
132
93
126
105
112

67
221
130
67
125
102
112
84

101
226
129
65
157
117
99
77

Komponen Biru
97
130
125
157
164
117
168
170

102
70
93
102
102
90
135
105

73
37
93
99
68
75
81
49

70
161
125
37
68
78
95
95

105
189
125
34
100
100
89
96

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.

Universitas Sumatera Utara

60

Tabel 4.28 Hasil ekstraksi citra stego
Komponen Merah

Komponen Hijau Komponen Biru

10011101
10011101
01111101
01011101
01100100
10000000

10000111
01100100
01000100
01000001
01111101
10111101

01100001
01100010
01001001
01000010
01100100
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
11101
11101
11101
00100
00000

00111
00100
00100
00001
11101
11101

00001
00010
01001
00010
00100
00011







00001

00000

11111

Lakukan konversi nilai biner ke dalam karakter simbol dengan cara
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
11101 = 1Dh

00110 = 06h
00100 = 05h

00001 = 01h
00010 = 02h

Universitas Sumatera Utara

61

11101 = 1Dh
11101 = 1Dh
00100 = 04h
00000 = 00h

00100 = 04h
00001 = 01h
11101 = 1Dh
11101 = 1Dh

01001 = 09h
00010 = 02h
00100 = 04h
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

Universitas Sumatera Utara

62

Lakukan proses konversi karakter kontrol simbol dengan cara melakukan
konversi hexadecimal menjadi nilai desimal.
7 = 37h
1 = 31h
Space = 20h
5 = 35h
2 = 32h
Space = 20h
4 = 34h
9 = 39h
Space = 20h
1 = 31h
2 = 32h
4 = 34h
Space = 20h
4 = 34h
2 = 32h
Space = 20h

3 = 33h
2 = 32h
Space = 20h
6 = 36h
3 = 33h
Space = 20h
6 = 36h
7 = 37h
Space = 20h
1 = 31h
2 = 32h
6 = 36h
Space = 20h
1 = 31h
1 = 31h
6 = 36h

Space = 20h
4 = 34h
1 = 31h
Space = 20h
1 = 31h
0 = 30
Space = 20h
3 = 33h
2 = 32h
Space = 20h
5 = 35h
0 = 30h
Space = 20h
4 = 34h
8 = 38h
Space = 20h

4 = 34h
2 = 32h
Space = 20h
3 = 33h
7 = 37h
Space = 20h
1 = 31h
2 = 32h
4 = 34h
Space = 20h
3 = 33h
1 = 31h
Space = 20h
1 = 31h
2 = 32h
4 = 32h

Space = 20h
5 = 35h
0 = 30h
Space = 20h
6 = 37h
7 = 37h
Space = 20h
1 = 31h
0 = 30h
Space = 20h
1 = 31h
0 = 30h

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

50

48

42

37

32

124 31

63

67

124 50

126 116

41

67

10

10

10 32

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.

Universitas Sumatera Utara

63

Tabel 4.31 Hasil Proses Dekripsi pada Substitusi Ketiga
i

Plainteks

Kunci

i

Plainteks

Kunci

1
2
3
4
5
6
7
8
9
10
11
12

G
4
1
|
(
space
?
C
~
T
)
[]

S
E
B
E
L
A
S
S
E
B
E
L

13
14
15
16
17
18
19
20
21
22
23
24

space
2
0
*
%
|
enter
|
2
C
[]
[]

A
S
S
E
B
E
L
A
S
S
E
B

Perlu diingat bahwa [] adalah karakter kosong yang disisipkan pada saat
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

1
2
3
4
5
6
7
8
9
10
11
12

71
52
49
124
42
32
63
67
126
116
41
10

83
69
66
69
76
65
83
83
69
66
69
76

13
14
15
16
17
18
19
20
21
22
23
24

32
50
48
42
37
124
31
124
50
67
10
10

65
83
83
69
66
69
76
65
83
83
69
66

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 20 – 7E, yang jika

Universitas Sumatera Utara

64

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

1
2
3
4
5
6
7
8
9
10
11
12

41
22
19
94
12
2
33
37
96
86
11
1

53
39
36
39
46
35
53
53
39
36
39
46

13
14
15
16
17
18
19
20
21
22
23
24

2
20
18
12
7
94
1
94
20
37
1
1

35
53
53
39
36
39
46
35
53
53
39
36

Langkah selanjutnya adalah melakukan pengurangan indeks pesan dengan indeks
kata kunci.
Tabel 4.34 Pengurangan Plainteks dengan Kata Kunci pada Proses
Dekripsi Ketiga
i

Plainteks

i

Plainteks

1
2
3
4
5
6
7

-12
-17
-17
55
-34
-33
-20

13
14
15
16
17
18
19

-33
-33
-35
-27
-29
55
-45

Universitas Sumatera Utara

65

8
9
10
11
12

-16
57
50
-28
-36

20
21
22
23
24

59
-33
-16
-29
-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
2
3
4
5
6
7
8
9
10
11
12

84
79
79
55
60
63
76
80
57
50
68
60

13
14
15
16
17
18
19
20
21
22
23
24

63
63
61
69
67
55
51
59
63
80
67
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
2
3
4
5
6

114
109
109
85
92
93

13
14
15
16
17
18

93
93
91
99
97
85

Universitas Sumatera Utara

66

7
8
9
10
11
12

106
110
87
80
98
10

19
20
21
22
23
24

81
89
93
110
10
10

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

2

1 M N
MSE 
  f x, y   f ' x, y 
MxN x 1 y 1

132  157 2  134  157 2  123  125 2  91  932 



2
2
2
2
121  125   137  157   135  134   93  67  

1 
185  168 2  220  194 2  112  100 2  177  1632  
MSE 

5 x8 
177  164 2  157  134 2  159  1312  147  134 2  

166  1612  193  2212  118  125 2  109  125 2    



Universitas Sumatera Utara

67

MSE 

1
625  529  4  4  16  400  1  676  289  676  144    
40

MSE  3.9126

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.

4.5

Hasil Pengujian

4.5.1

Hasil Kriptografi

Hasil dari proses kriptografi adalah cipherteks. Dalam penelitian ini, cipherteks
yang dihasilkan tidak ditampilkan. Penulis menggunakan metode Triple
Transposition Vigenere Cipher untuk melakukan proses enkripsi dengan tujuan
untuk menghasilkan cipherteks yang lebih kuat.
Berikut ini merupakan cipherteks hasil dari vigenere cipher biasa dan
triple transposition vigenere cipher.
Vigenere cipher biasa
Pesan

: TOLONG KIRIM DOKUMEN ITU KE SAYA SEKARANG

Kunci

: SEMBILAN

Cipherteks

: LSXPVR KVJMY EWVUZWR UUC VE FSCM TMVAESRS

Triple transposition vigenere cipher
Pesan

: TOLONG KIRIM DOKUMEN ITU KE SAYA SEKARANG

Kunci

: SEMBILAN

Cipherteks

: G−0sp; )B1&w +*+.5/9 ,v7 −! x  %) 4|v{“%|0[]

Universitas Sumatera Utara

68

Dari kedua versi tersebut, cipherteks vigenere cipher biasa dapat
dipecahkan dengan mencoba kemungkinan kunci sebanyak 26 8 kunci sedangkan
cipherteks dari Triple Transposition Vigenere Cipher dapat dipecahkan dengan
mencoba kemungkinan kunci sebanyak 96 8 kunci. Itu artinya cipherteks hasil
Triple Transposition Vigenere Cipher akan lebih sulit dipecahkan disbanding
dengan cipherteks hasil Vigenere Cipher biasa.

4.5.2

Hasil Steganografi

Hasil dari pengujian steganorafi adalah berupa file gambar yang telah disisipkan
pesan (citra-cover). Pada penyisipan citra embed berukuran 5x8 pixel yang
menghasilkan citra stego bebatuan.png, kemudian dilakukan perhitungan nilai
MSE antara citra cover dengan citra stego-nya menghasilkan nilai MSE sebesar
3.9126. Nilai MSE yang dihasilkan bernilai kecil. Untuk melihat perbedaan antara
citra yang belum disisipi pesan (citra cover) dengan citra yang telah disisipi oleh
pesan (citra stego), berikut ini akan ditampilkan tabel perbandingannya.

Tabel 4.37 Perbandingan antara Citra Cover dan Citra Stego
Detail

Tampilan Citra

5 x 8 piksel
Terdapat 24 karakter
plainteks di
dalamnya
Means Square Error
(MSE) sebesar
3,9126

gambar1.png

gambar1_stego.png

153 x 255 piksel
Terdapat 266
karakter plainteks di
dalamnya

Universitas Sumatera Utara

69

Means Square Error
(MSE) sebesar
0,0137

Bebatuan.png Bebatuan_Stego.png
1200 x 630 pixel
Terdapat 25.925
karakter plainteks di
dalamnya
Means Square Error
(MSE) sebesar
0,0056
1200x630.png

1200x630_Stego24.png

Walaupun penyisipan menggunakan metode Modified Least significant bit
mengganti 5 bit LSB cover-nya dengan 5 bit dari embed, yang menimbulkan
perubahan nilai piksel dari citra aslinya, namun pada citra stego tidak
menunjukkan perbedaan signifikan dari citra aslinya yang dapat dideteksi oleh
mata manusia. Hal ini dapat dilihat dari nilai Means Square Error (MSE) yang
tergolong bernilai rendah. Artinya citra stego hasil penyisipan tergolong sebagai
citra yang baik.
Pada proses ini perubahan citra pasti terjadi, hanya saja seberapa tinggi
tingkat toleransi mata manusia dapat melihat citra hasil penyisipan tersebut
sebagai citra yang sama dengan citra aslinya. Dan yang menjadi catatan penting

Universitas Sumatera Utara

70

dalam proses ini adalah tidak semua citra bisa dipakai dalam proses penyisipan
pesan menggunakan MLSB ini. Pilihlah citra yang aman untuk menyisipkan
pesan. Dalam proses ini, perlu juga diperhatikan berapa besar kapasitas karakter
yang mampu di tampung untuk menghindari kerusakan pada citra cover.
Adapun besar kapasitas karakter yang mampu di tampung dari berberapa
ukuran citra tanpa merusak citra cover adalah sebagai berikut.

Tabel 4.38 Kapasitas Maksimum Karakter yang Mampu Ditampung
Tanpa Merusak Citra Cover
Detail

Tampilan Citra

5 x 8 piksel

Maksimum
plainteks yang dapat
disembunyikan
sebanyak 5 karakter
Gambar1.png gambar1_Stego.png
153 x 255 piksel

Maksimum
plainteks yang dapat
disembunyikan
sebanyak 35
karakter

Bebatuan.png

Bebatuan_Stego.png

1200 x 630 piksel

Unive