Implementasi Pengujian IMPLEMENTASI DAN PENGUJIAN

BAB 4 IMPLEMENTASI DAN PENGUJIAN

4.1. Implementasi

Implementasi sistem merupakan lanjutan dari tahap analisis dan perancangan sistem. Pada tahap ini dilakukan implementasi dari segala yang dibahas dalam tahap analisis dan perancangan. Bahasa pemrograman yang digunakan adalah bahasa C dan dibangun dengan menggunakan Integrated Development Environment IDE SharpDevelop versi 4.3.1. 4.1.1. Implementasi antarmuka Interface 1. Halaman utama Halaman utama merupakan halaman yang pertama sekali akan ditampilkan ketika sistem dijalankan. Antarmuka halaman utama ditunjukkan pada Gambar 4.1. Gambar 4.1. Antarmuka Halaman Utama Universitas Sumatera Utara 2. Halaman sembunyikan pesan Halaman sembunyikan pesan merupakan halaman untuk melakukan proses enkripsi dan penyisipan. Tampilan halaman sembunyikan pesan ditunjukkan pada gambar 4.2. Gambar 4.2. Antarmuka Halaman Sembunyikan Pesan 3. Halaman tampilkan pesan Halaman tampilan pesan merupakan halaman untuk melakukan proses ekstraksi dan proses dekripsi. Tampilan halaman tampilkan pesan ditunjukkan pada gambar 4.3. Gambar 4.3. Antarmuka Halaman Tampilkan Pesan Universitas Sumatera Utara 4.1.4 Implementasi algoritma RC4 Implementasi inisiasi vector S dalam bahasa pemrograman ditunjukkan pada Gambar 4.4, sedangkan implementasi stream generation pembangkitan aliran kunci ditunjukkan pada Gambar 4.5. Gambar 4.4. Implementasi Inisiasi Vector S Gambar 4.5. Implementasi Pembangkitan Aliran Kunci 4.1.5 Implementasi metode modified LSB Implementasi penyisipan pesan dengan metode modified LSB dalam bahasa pemrograman ditunjukkan pada gambar 4.6. sedangkan untuk ekstraksi stego-image ditunjukkan pada gambar 4.7. Universitas Sumatera Utara Gambar 4.6. Implementasi Penyisipan Pesan Gambar 4.7. Implementasi Ektraksi Stego-Image Universitas Sumatera Utara

4.2. Pengujian

Pengujian merupakan tahap yang dilakukan untuk memastikan bahwa sistem yang telah dibangun dapat berjalan dengan baik dan sesuai dengan analisis dan perancangan sistem yang telah dibuat sebelumnya. Dalam penelitian ini pengujian dilakukan dengan membuat skenario pengamanan suatu pesan teks. Skenario yang akan dibuat adalah sebagai berikut, pengirim pesan melakukan pengamanan pesan teks dengan cara melakukan enkripsi pesan kemudian menyisipkan hasil enkripsi ke dalam suatu citra sehingga dihasilkan gambar stego. Kemudian penerima pesan akan melakukan ekstrasi terhadap gambar stego yang akan menghasilakan cipherteks dan selanjutnya didekripsi untuk mendapatkan pesan yang ingin disampaikan oleh pengirim. 4.2.1. Pengujian penyembunyian pesan Penyembunyian pesan dilakukan dengan memasukkan pesan, kunci enkripsi dan cover-image. Pesan dapat dimasukkan dengan mencari file teks dengan mengklik tombol cari pesan atau dapat juga dimasukkan dengan mengklik kotak pesan kemudian diinput dengan keyboard. Sedangkan cover-image diinputkan dengan menekan tombol cari cover. Kemudian sistem akan menampilkan isi dari pesan dan cover-image seperti yang ditunjukkan pada gambar 4.8. Gambar 4.8. Penginputan Teks dan Stego-image Universitas Sumatera Utara Jika cover-image yang dimasukkan tidak dapat menampung teks maka sistem akan menampilkan kotak pesan peringatan meminta user untuk memasukkan cover-image yang lain seperti pada gambar 4.9. Gambar 4.9. Kotak Pesan Peringatan Pesan Tidak Dapat Disisip Langkah selanjutnya adalah menekan tombol sembunyikan, dan sistem akan menampilkan hasil enkripsi pesan berupa cipherteks dan stego-image yang telah mengandung cipherteks didalamnya seperti ditunjukkan pada gambar 4.10. Gambar 4.10. Hasil Enkripsi dan Penyisipan Sistem Universitas Sumatera Utara Cipherteks hasil enkripsi dapat ditampilkan berupa karakter seperti pada gambar 4.10, dan dapat juga berupa angka ataupun berupa karakter sekaligus angka seperti pada gambar 4.11. Gambar 4.11. Pengaturan Kotak Cipherteks A Hanya Angka B Angka dan Huruf Pengguna dapat menyimpan stego-image dengan cara mengklik tombol simpan stego kemudian user akan menentukan tempat penyimpanan stego-image, sistem akan memberikan konfirmasi penyimpanan jika stego-image berhasil disimpan seperti yang ditunjukkan pada gambar 4.12. Gambar 4.12. Kotak Pesan Pemberitahuan Penyimpanan Stego-Image Dengan cara yang sama dilakukan pengujian penyembunyian pesan terhadap beberapa pesan dan citra uji yang bervariasi sehingga didapatlah rangkuman hasil pengujian penyembunyian pesan seperti yang ditunjukkan pada tabel 4.1. Universitas Sumatera Utara Tabel 4.1. Pengujian Penyembunyian Pesan I No Plainteks Cipherteks Cover-Image Stego-Image 1. pengamanan teks Panjang : 15 karakter 218 137 240 18 102 147 173 5 103 121 253 30 107 246 74 Panjang : 15 karakter Ukuran KB : 0.376 KB Dimensi px : 5x20 Ukuran KB : 0.374 KB Dimensi px : 5x20 2. Koala Phascolarctos cinereus adalah salah satu binatang berkantung marsupial khas dari Australia dan merupakan wakil satu- satunya dari keluarga Phascolarctidae Panjang : 163 karakter 36 14 101 58 150 118 236 106 249 16 210 231 87 220 123 33 219 225 196 62 220 150 130 85 209 88 206 144 167 182 162 57 46 138 50 122 237 128 123 149 90 204 3 18 23 74 231 42 202 213 83 237 194 227 54 192 158 16 33 202 89 127 137 66 128 45 140 247 82 216 246 81 44 72 111 77 99 149 202 20 166 114 22 138 77 222 244 245 48 5 55 80 252 83 34 31 16 88 39 104 182 53 65 192 192 122 133 228 16 241 123 243 193 241 49 38 8 120 137 103 123 248 112 5 158 116 132 110 71 87 97 242 50 252 94 134 208 68 246 208 90 60 117 82 231 2 34 106 90 251 254 182 128 190 108 39 5 207 164 161 140 250 204 Panjang : 163 karakter Ukuran KB : 351 Dimensi px : 200x200 Ukuran KB : 351 Dimensi px : 200x200 3. Pada masa lampau, pemuda Nias akan mencoba untuk melompati batu setinggi lebih dari 2 meter, dan jika mereka berhasil mereka akan dinyatakan sebagai laki-laki dewasa dan dapat bergabung sebagai prajurit untuk berperang. Sejak usia 10 tahun, anak laki-laki di Pulau Nias akan bersiap untuk melakukan giliran fahombo mereka Panjang : 323 karakter 96 47 166 40 253 213 26 115 222 128 138 48 39 233 44 143 117 12 146 84 154 180 198 17 172 145 221 235 85 81 2 50 46 78 226 134 170 21 86 233 190 182 2 122 253 110 123 122 210 50 214 247 111 226 99 149 212 93 66 46 63 20 89 202 87 18 8 17 124 234 184 82 127 250 255 44 48 3 228 3 2 154 158 209 174 202 232 177 158 159 219 188 238 76 132 210 14 18 53 85 44 162 245 175 74 72 72 180 56 206 131 236 165 54 46 190 2 63 122 61 119 142 73 248 195 233 78 165 71 245 108 8 67 96 107 240 124 208 41 108 32 200 229 72 149 133 245 20 160 27 27 79 208 83 130 174 253 12 180 218 201 108 131 145 162 87 234 113 136 49 157 118 144 167 104 60 223 17 234 105 48 19 183 193 21 24 220 197 1 234 141 35 178 218 79 122 71 110 206 69 94 1 59 168 175 182 16 1 35 155 221 210 37 109 118 82 117 36 99 185 201 48 190 6 102 253 49 143 85 40 219 177 205 138 54 39 39 20 167 18 194 244 239 74 66 86 246 243 46 48 45 206 206 242 105 234 15 248 147 247 124 79 144 91 189 87 8 132 63 151 103 118 56 76 190 12 240 141 40 135 95 51 218 244 85 121 123 89 64 72 88 75 205 37 221 123 67 217 194 30 74 29 3 90 126 27 165 75 246 226 33 91 236 217 227 19 226 5 200 214 245 139 141 Panjang : 323 karakter Ukuran KB : 670 Dimensi px : 587x389 Ukuran KB : 670 Dimensi px : 587x389 Universitas Sumatera Utara Tabel 4.2. Pengujian Penyembunyian Pesan II No Plainteks Cipherteks Cover-Image Stego-Image 4. Asal mula nama Raja Ampat menurut mitos masyarakat setempat berasal dari seorang wanita yang menemukan tujuh telur. Empat butir di antaranya menetas menjadi empat orang pangeran yang berpisah dan masingmasing menjadi raja yang berkuasa di Waigeo, Salawati, Misool Timur dan Misool Barat. Sementara itu, tiga butir telur lainnya menjadi hantu, seorang wanita, dan sebuah batu. Kepulauan Raja Ampat merupakan tempat yang sangat berpotensi untuk dijadikan sebagai objek wisata, terutama wisata penyelaman. Perairan Kepulauan Raja Ampat menurut berbagai sumber, merupakan salah satu dari 10 perairan terbaik untuk diving site di seluruh dunia. Bahkan, mungkin juga diakui sebagai nomor satu untuk kelengkapan flora dan fauna bawah air pada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . di kampung Saondarek, ketika pasang surut terendah, bisa disaksikan hamparan terumbu karang tanpa menyelam dan dengan adaptasinya sendiri, karang tersebut tetap bisa hidup walaupun berada di udara terbuka dan terkena sinar matahari langsung. Panjang : 2000 karakter 99 68 83 222 177 201 209 98 97 117 236 205 117 221 185 162 78 19 97 155 131 165 245 64 87 95 165 222 119 229 163 123 254 181 161 111 38 156 31 117 212 239 255 82 186 243 15 158 56 9 161 199 92 230 55 121 142 75 83 169 135 75 131 145 8 56 210 164 109 74 125 195 22 98 131 183 165 229 118 254 42 45 119 136 87 29 169 218 162 41 6 152 228 244 239 94 236 137 214 177 76 75 33 248 148 189 136 214 163 60 200 121 130 188 60 21 178 32 85 27 107 209 214 32 129 186 123 165 197 142 100 247 76 116 26 100 219 141 213 203 18 113 213 245 201 211 60 105 113 206 168 115 25 151 61 104 162 155 113 43 68 72 247 38 22 90 84 117 208 252 122 5 248 226 212 16 242 36 47 131 182 207 35 203 107 190 48 186 136 77 144 248 53 138 139 4 32 226 61 74 45 246 40 168 95 26 90 24 130 165 51 12 10 65 80 91 152 59 174 212 210 138 157 36 15 181 181 93 101 107 165 117 172 192 31 248 147 83 255 116 181 28 96 137 82 106 162 197 1 207 69 99 155 185 107 128 28 94 94 216 241 175 138 190 213 76 194 42 234 169 115 13 53 170 3 93 46 155 139 140 119 217 229 253 5 22 50 199 59 74 149 86 18 248 191 216 151 79 218 78 84 30 168 21 91 134 84 153 189 79 114 103 7 76 253 3 66 41 1 177 66 232 210 214 166 188 171 187 234 4 158 25 205 117 59 75 105 69 12 204 239 76 189 253 198 42 20 176 110 148 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 248 167 251 159 37 81 15 246 239 5 91 251 183 181 234 35 39 68 228 126 120 72 41 250 223 71 202 184 115 220 40 165 199 118 88 97 11 55 237 46 55 101 170 6 125 224 99 112 24 5 191 129 86 199 216 94 248 84 142 28 157 95 175 215 37 200 185 27 245 242 85 179 120 185 236 41 98 170 64 232 219 105 229 195 37 14 92 35 197 38 246 72 161 231 163 29 88 21 206 30 142 60 72 130 182 137 2 36 148 89 8 215 237 89 9 108 202 37 164 255 79 86 148 13 229 118 2 3 208 250 8 218 Panjang : 2000 karakter Ukuran KB : 2929 Dimensi px : 1000x1000 Ukuran KB : 2929 Dimensi px : 1000x1000 Berdasarkan hasil pengujian yang ditampilkan pada tabel 4.1 terlihat bahwa stego-image yang dihasilkan sistem dengan cover-image secara kasat mata tidak terlihat perbedaanya, bahkan dimensi pixel dari citra tidak berubah sama sekali sehingga tidak dapat dilihat perbedaanya. Maka dapat dinyatakan bahwa metode modified LSB memenuhi aspek fidelity. Universitas Sumatera Utara 4.2.2. Pengujian pengungkapan pesan Pengungkapan pesan dilakukan dengan memasukkan gambar stego dan kunci dekripsi. Stego-image dimasukkan dengan cara mengklik tombol cari stego, kemudian sistem akan menampilkan stego-image pada kotak gambar stego seperti pada gambar 4.13. Gambar 4.13. Penginputan Stego-Image Kemudian pengguna menekan tombol tampilkan, dan sistem akan menampilkan cipherteks hasil ekstraksi stego-image dan plainteks hasil dekripsi cipherteks tersebut seperti ditunjukkan pada gambar 4.14. Universitas Sumatera Utara Gambar 4.14. Tampilan Hasi Ekstraksi Stego-Image dan Dekripsi Cipherteks Kemudian pesan dapat disimpan dengan mengklik tombol simpan pesan dan sistem akan memberikan konfirmasi penyimpanan pesan seperti pada gambar 4.15. Gambar 4.15. Kotak Pesan Pemberitahuan Penyimpanan Pesan Dengan cara yang sama dilakukan pengujian pengungkapan pesan terhadap stego- image yang dihasilkan melalui pengujian penyembunyian pesan sehingga didapatlah rangkuman hasil pengujian pengungkapan pesan seperti yang ditunjukkan pada tabel 4.2. Universitas Sumatera Utara Tabel 4.3. Pengujian Pengungkapan Pesan No. Stego-Image Cipherteks Plainteks 1. 218 137 240 18 102 147 173 5 103 121 253 30 107 246 74 pengamanan teks ===================== Panjang : 15 karakter 2. 36 14 101 58 150 118 236 106 249 16 210 231 87 220 123 33 219 225 196 62 220 150 130 85 209 88 206 144 167 182 162 57 46 138 50 122 237 128 123 149 90 204 3 18 23 74 231 42 202 213 83 237 194 227 54 192 158 16 33 202 89 127 137 66 128 45 140 247 82 216 246 81 44 72 111 77 99 149 202 20 166 114 22 138 77 222 244 245 48 5 55 80 252 83 34 31 16 88 39 104 182 53 65 192 192 122 133 228 16 241 123 243 193 241 49 38 8 120 137 103 123 248 112 5 158 116 132 110 71 87 97 242 50 252 94 134 208 68 246 208 90 60 117 82 231 2 34 106 90 251 254 182 128 190 108 39 5 207 164 161 140 250 204 Koala Phascolarctos cinereus adalah salah satu binatang berkantung marsupial khas dari Australia dan merupakan wakil satu-satunya dari keluarga Phascolarctidae ==================== Panjang : 163 karakter 3. 96 47 166 40 253 213 26 115 222 128 138 48 39 233 44 143 117 12 146 84 154 180 198 17 172 145 221 235 85 81 2 50 46 78 226 134 170 21 86 233 190 182 2 122 253 110 123 122 210 50 214 247 111 226 99 149 212 93 66 46 63 20 89 202 87 18 8 17 124 234 184 82 127 250 255 44 48 3 228 3 2 154 158 209 174 202 232 177 158 159 219 188 238 76 132 210 14 18 53 85 44 162 245 175 74 72 72 180 56 206 131 236 165 54 46 190 2 63 122 61 119 142 73 248 195 233 78 165 71 245 108 8 67 96 107 240 124 208 41 108 32 200 229 72 149 133 245 20 160 27 27 79 208 83 130 174 253 12 180 218 201 108 131 145 162 87 234 113 136 49 157 118 144 167 104 60 223 17 234 105 48 19 183 193 21 24 220 197 1 234 141 35 178 218 79 122 71 110 206 69 94 1 59 168 175 182 16 1 35 155 221 210 37 109 118 82 117 36 99 185 201 48 190 6 102 253 49 143 85 40 219 177 205 138 54 39 39 20 167 18 194 244 239 74 66 86 246 243 46 48 45 206 206 242 105 234 15 248 147 247 124 79 144 91 189 87 8 132 63 151 103 118 56 76 190 12 240 141 40 135 95 51 218 244 85 121 123 89 64 72 88 75 205 37 221 123 67 217 194 30 74 29 3 90 126 27 165 75 246 226 33 91 236 217 227 19 226 5 200 214 245 139 141 Pada masa lampau, pemuda Nias akan mencoba untuk melompati batu setinggi lebih dari 2 meter, dan jika mereka berhasil mereka akan dinyatakan sebagai laki-laki dewasa dan dapat bergabung sebagai prajurit untuk berperang. Sejak usia 10 tahun, anak laki- laki di Pulau Nias akan bersiap untuk melakukan giliran fahombo mereka ===================== Panjang : 323 karakter 4. 99 68 83 222 177 201 209 98 97 117 236 205 117 221 185 162 78 19 97 155 131 165 245 64 87 95 165 222 119 229 163 123 254 181 161 111 38 156 31 117 212 239 255 82 186 243 15 158 56 9 161 199 92 230 55 121 142 75 83 169 135 75 131 145 8 56 210 164 109 74 125 195 22 98 131 183 165 229 118 254 42 45 119 136 87 29 169 218 162 41 6 152 228 244 239 94 236 137 214 177 76 75 33 248 148 189 136 214 163 60 200 121 130 188 60 21 178 32 85 27 107 209 214 32 129 186 123 165 197 142 100 247 76 116 26 100 219 141 213 203 18 113 213 245 201 211 60 105 113 206 168 115 25 151 61 104 162 155 113 43 68 72 247 38 22 90 84 117 208 252 122 5 248 226 212 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 170 6 125 224 99 112 24 5 191 129 86 199 216 94 248 84 142 28 157 95 175 215 37 200 185 27 245 242 85 179 120 185 236 41 98 170 64 232 219 105 229 195 37 14 92 35 197 38 246 72 161 231 163 29 88 21 206 30 142 60 72 130 182 137 2 36 148 89 8 215 237 89 9 108 202 37 164 255 79 86 148 13 229 118 2 3 208 250 8 218 Asal mula nama Raja Ampat menurut mitos masyarakat setempat berasal dari seorang wanita yang menemukan tujuh telur. Empat butir di antaranya menetas menjadi empat orang pangeran yang berpisah dan masing - masing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . hidup walaupun berada di udara terbuka dan terkena sinar matahari langsung. ===================== Panjang : 2000 karakter Berdasarkan hasil pengujian pada tabel 4.12 terlihat bahwa stego-image dapat mengembalikan cipherteks sama seperti sebelum dilakukan penyisipan. Dengan demikian sistem dinyatakan memenuhi aspek recovery. Universitas Sumatera Utara 4.2.3. Pengujian proses enkripsi RC4 Pengujian hasil enkripsi dilaksanakan dengan cara melakukan perhitungan manual algoritma enkripsi RC4 kemudian membandingkannya dengan hasil enkripsi yang diberikan oleh sistem. Pesan dan kunci enkripsi yang digunakan sesuai yang telah digunakan sebelumnya pada bagian implementasi yaitu pada Gambar 4.11. pesan = “pengamanan teks” kunci = “rahasia” Untuk dapat melakukan operasi perhitungan pada proses enkripsi maka terlebih dahulu pesan dan kunci yang kita gunakan kita ubah dalam bentuk bilangan dengan menggunakan pengkodean karakter ASCII. pesan char = p e n g a m a n a n _ t e k s pesan dec = 112 101 110 103 97 109 97 110 97 110 32 116 101 107 115 kunci char = r a h a s i a kunci dec = 114 97 104 97 115 105 97 1. Inisiasi vector S Tiap-tiap elemen dari vector S diberi nilai awal secara berurut mulai dari 0 hingga 255, sedangkan untuk vector T tiap-tiap elemennya diberi nilai berdasarkan nilai dari kunci. Inisiasi awal vector S dan vector T dijabarkan sebagai berikut.  Iterasi ke – 1 i = 0 S[i] = i S[0] = 0 T[i] = Kunci[i mod panjangKunci] T[0] = Kunci[0 mod 7] = Kunci[0] = 114  Iterasi ke – 2 i = 1 S[i] = i S[1] = 1 T[i] = Kunci[i mod panjangKunci] T[1] = Kunci[1 mod 7] = Kunci[1] = 97  d an seterusnya hingga iterasi ke – 256. Universitas Sumatera Utara Maka didapatlah nilai awal vector S yang ditunjukkan pada tabel 4.4 dan untuk vector T ditunjukkan pada tabel 4.5. Tabel 4.4. Nilai Awal Vector S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Array S [ ] Tabel 4.5. Nilai Awal Vector T 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 115 105 97 114 97 104 97 Vector T [ ] Kemudian dilakukan permutasi dalam vector S sebagai berikut :  iterasi ke – 1 i = 0 , j = 0 j = j + S[i] + T[i] mod 256 j = 0 + S[0] + T[0] mod 256 j = 0 + 0 + 114 mod 256 j = 114 swap S[0], S[114] Universitas Sumatera Utara Hasil permutasi iterasi pertama vector S ditunjukkan pada tabel 4.6. Tabel 4.6. Hasil Permutasi Iterasi Pertama Vector S 114 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 0 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Vector S [ ]  iterasi ke – 2 i = 1, j = 114 j = j + S[i] + T[i] mod 256 j = 114 + S[1] + T[1] mod 256 j = 114 + 1 + 97 mod 256 j = 212 swap S[1], S[212] Hasil permutasi iterasi kedua vector S ditunjukkan pada Tabel 4.7. Tabel 4.7. Hasil Permutasi Iterasi Ke-2 Vector S 114 212 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 0 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 1 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Vector S [ ] Universitas Sumatera Utara Oleh karena permutasi vector S di pengaruhi oleh nilai dari i dan j maka akan ada kemungkinan sebuah elemen dari vector S mengalami permutasi lebih dari satu kali seperti pada iterasi ke 55 berikut ini.  iterasi ke – 55 i = 54, j = 97 j = j + S[i] + T[i] mod 256 j = 97 + S[54]+ T[54] mod 256 j = 97 + 54 + 105 mod 256 j = 256 mod 256 j = 0 swap S[54], S[0] Hasil permutasi iterasi ke-55 vector S ditunjukkan pada tabel 4.8. Tabel 4.8. Hasil Permutasi Iterasi Ke-55 Vector S 54 212 62 162 25 135 238 103 208 65 172 42 159 13 141 253 35 231 108 232 93 228 91 218 83 202 77 201 87 213 22 219 110 248 37 117 51 123 169 67 1 94 46 7 251 137 31 194 24 246 45 149 185 97 114 55 56 57 58 59 60 61 2 63 64 9 66 39 68 69 70 71 72 73 74 75 76 26 78 79 80 81 82 48 84 85 86 28 88 89 90 30 92 20 41 95 96 53 98 99 100 101 102 43 104 105 106 107 18 109 32 111 112 113 0 115 116 16 118 119 120 121 122 34 124 125 126 127 128 129 130 131 132 133 134 5 136 50 138 139 140 14 142 143 144 145 146 147 148 36 150 151 152 153 154 155 156 157 158 12 160 161 3 163 164 165 166 167 168 38 170 171 10 173 174 175 176 177 178 179 180 181 182 183 184 52 186 187 188 189 190 191 192 193 47 195 196 197 198 199 200 27 4 203 204 205 206 207 8 209 210 211 40 29 214 215 216 217 23 11 220 221 222 223 224 225 226 227 21 229 230 17 19 233 234 235 236 237 6 239 240 241 242 243 244 245 49 247 33 249 250 44 252 15 254 255 Vector S [ ] Pada Tabel 4.8 terlihat bahwa elemen vector S[0] yang telah mengalami permutasi kembali ditukar nilainya dengan elemen vector S yang lain.  dan seterusnya hingga iterasi ke-256. Maka didapatlah hasil akhir inisiasi vector S seperti ditunjukkan pada tabel 4.9. Universitas Sumatera Utara Tabel 4.9. Hasil Akhir Inisiasi Vector S 54 157 62 162 25 135 195 103 208 8 188 42 165 13 141 253 35 231 108 134 93 82 49 9 83 139 147 38 87 193 22 219 113 248 155 117 64 123 154 67 53 94 46 102 133 170 106 194 24 246 45 239 196 132 114 19 66 129 126 77 27 111 210 222 51 178 31 116 16 122 216 34 7 29 146 177 243 236 112 229 145 90 95 166 18 37 32 20 1 234 197 251 115 52 2 249 160 88 252 105 140 228 72 191 181 192 121 138 61 201 58 76 56 110 104 161 200 240 199 176 50 78 28 255 80 47 206 92 5 100 168 150 245 30 151 209 198 204 184 171 179 68 230 214 84 70 148 153 130 203 10 232 81 59 128 85 11 144 89 60 167 174 0 226 17 71 169 41 175 14 137 202 173 142 187 57 180 205 86 40 119 4 217 156 39 26 43 233 120 237 79 98 99 244 250 164 185 96 225 12 186 101 136 227 190 73 224 48 65 158 247 63 220 211 127 109 242 107 223 15 183 33 131 213 36 215 21 6 238 172 163 254 152 3 55 221 143 212 218 149 69 44 75 235 125 97 91 74 241 118 23 182 189 207 124 159 Vector S [ ] 2. Stream Generation Pembangkitan Kunci Pembangkitan kunci dilakukan sebanyak panjang teks karena setiap karakter pesan dienkripsi oleh kunci yang berbeda. Pembangkitan kunci dijabarkan sebagai berikut.  iterasi ke – 1 i = 0, j=0 i = i + 1 mod 256 = 0 + 1 mod 256 = 1 j = j + S[i] mod 256 = 0 + S[1] mod 256 = 0 + 157 mod 256 = 157 Swap S[i], S[j] Swap S[1], S[157] t = S[i] + S[j] mod 256 = S[1]+ S[157] mod 256 = 144 + 157 mod 256 = 45 k = S[t] = S[45] = 170  iterasi ke – 2 i = 1, j=157 i = i + 1 mod 256 = 1 + 1 mod 256 = 2 j = j + S[i] mod 256 = 157 + S[2] mod 256 Universitas Sumatera Utara = 157 + 62 mod 256 = 219 Swap S[i], S[j] Swap S[2], S[219] t = S[i] + S[j] mod 256 = S[2] + S[219] mod 256 = 15 + 62 mod 256 = 77 k = S[t] = S[77] = 236  dan seterusnya hingga iterasi ke-15. Maka didapatlah aliran kunci = 170 236 158 117 7 254 204 107 6 23 221 106 14 157 57 Setelah aliran kunci dihasilkan maka untuk menghasilkan cipherteks dilakukan operasi XOR antara plainteks dengan kunci sebagai berikut.  iterasi ke – 1 i = 0 cipherteks[i] = pesan[i] XOR kunci[i] cipherteks[0] = pesan[0] XOR kunci[0] = 112 XOR 170 = 218  iterasi ke – 2 i = 1 cipherteks[i] = pesan[i] XOR kunci[i] cipherteks[1] = pesan[1] XOR kunci[1] = 101 XOR 236 = 137  dan seterusnya hingga iterasi ke-15. Maka didapatkan cipherteks seperti pada tabel 4.10. Tabel 4.10. Proses XOR Pesan dengan Kunci pesan char p e n g a m a n a n _ t e k s pesan dec 112 101 110 103 97 109 97 110 97 110 32 116 101 107 115 kunci 170 236 158 117 7 254 204 107 6 23 221 106 14 157 57 cipherteks 218 137 240 18 102 147 173 5 103 121 253 30 107 246 74 Dari tabel 4.10 terlihat bahwa hasil cipherteks dengan perhitungan manual sama dengan cipherteks yang dihasilkan oleh sistem sehingga dapat dinyatakan sistem berhasil melakukan enkripsi berdasarkan analisis algoritma RC4. Universitas Sumatera Utara 4.2.4. Pengujian proses dekripsi RC4 Lalu kita akan mendekripsi cipherteks yang dihasilkan pada proses pengujian enkripsi. Untuk dapat mendekripsi cipherteks tersebut kita harus menggunakan kunci yang sama dengan kunci proses enkripsi. cipherteks = “218 137 240 18 102 147 173 5 103 121 253 30 107 246 74” kunci = “rahasia” Sama seperti proses enkripsi untuk dapat melakukan operasi perhitungan pada proses dekripsi maka kunci terlebih dahulu diubah ke dalam bentuk bilangan dengan menggunakan pengkodean karakter ASCII. kunci char = r a h a s i a kunci dec = 114 97 104 97 115 105 97 Kemudian dilakukan inisiasi vector S dan pembangkitan kunci seperti pada proses enkripsi. Oleh karena kunci yang digunakan sama maka akan dihasilkan aliran kunci yang sama pula dengan aliran kunci pada proses enkripsi. Aliran kunci = 170 236 158 117 7 254 204 107 6 23 221 106 14 157 57 Setelah aliran kunci didapatkan, untuk menghasilkan pesan yang semula maka dilakukan operasi XOR antara cipherteks dengan plainteks sebagai berikut.  iterasi ke 1 i = 0 pesan[i] = cipherteks[i] XOR kunci[i] pesan[0] = cipherteks[0] XOR kunci[0] = 218 XOR 170 = 112 ubah dalam karakter ASCII = p  iterasi ke 2 i = 1 pesan[i] = cipherteks[i] XOR kunci[i] pesan[1] = cipherteks[1] XOR kunci[1] = 137 XOR 236 = 101 ubah dalam karakter ASCII = e  dan seterusnya hingga iterasi ke-20. Maka didapatlah plainteks seperti pada tabel 4.11. Tabel 4.11. Proses XOR Cipherteks dengan Kunci cipherteks 218 137 240 18 102 147 173 5 103 121 253 30 107 246 74 kunci 170 236 158 117 7 254 204 107 6 23 221 106 14 157 57 pesan dec 112 101 110 103 97 109 97 110 97 110 32 116 101 107 115 pesan char p e n g a m a n a n _ t e k s Universitas Sumatera Utara 4.2.5. Pengujian proses penyisipan modified LSB Misalkan kita ingin menyisipkan cipherteks hasil enkripsi pesan ke dalam sebuah citra. Citra yang kita gunakan sebagai media penampung cover-image berjenis true color dengan ukuran 5 x 20 pixel. cipherteks = 218 137 240 18 102 147 173 5 103 121 253 30 107 246 74 cover-image = Hal pertama yang dilakukan adalah mengambil nilai representasi biner dari cover- image. Oleh karena citra yang digunakan berjenis true color maka setiap pixel dari cover-image direpresentasikan oleh tiga buah nilai, yaitu warna merah R, hijau G, dan biru B. Representasi biner dari cover-image ditunjukkan pada tabel 4.12. Tabel 4.12. Representasi Biner Cover-Image Sebelum Penyisipan i j R G B R G B R G B R G B R G B 137 2 23 105 2 28 74 2 34 46 2 38 23 5 42 1 141 2 22 109 2 27 79 2 32 52 2 37 31 3 41 2 150 2 20 120 2 25 92 2 30 69 2 34 53 2 37 3 164 2 18 137 2 23 113 2 27 93 2 30 79 2 33 4 181 2 15 158 2 19 138 2 23 121 2 25 109 2 27 5 200 2 11 181 2 16 163 2 18 149 2 20 140 2 22 6 218 2 8 203 2 11 189 2 13 178 2 15 172 2 17 7 235 2 5 224 2 7 213 2 10 205 2 11 200 2 12 8 247 2 3 240 2 4 234 2 6 228 2 7 223 2 7 9 250 8 2 250 2 2 247 2 2 244 2 3 242 2 4 10 250 26 2 250 17 2 250 11 2 250 8 2 250 5 2 11 249 47 2 250 38 2 250 31 2 250 26 2 250 23 2 12 240 73 2 244 63 2 246 54 2 248 50 2 249 46 2 13 227 101 2 232 90 2 235 83 2 238 77 2 239 74 2 14 213 131 2 218 121 2 221 113 2 224 108 2 226 105 2 15 197 160 4 202 151 3 206 145 2 209 140 2 211 136 2 16 183 189 5 187 181 5 191 175 4 192 171 4 194 167 4 17 168 215 6 172 208 5 175 203 5 177 199 4 178 197 5 18 157 237 6 160 231 6 162 227 7 163 224 6 165 222 6 19 150 252 7 151 249 7 152 246 7 154 244 7 154 243 6 1 2 3 4 Universitas Sumatera Utara Proses penyisipan dilakukan dengan cara mengambil satu demi satu karakter cipherteks. Kemudian dari setiap karakter cipherteks tersebut diambil satu bit demi satu bit kemudian ditukarkan dengan bit yang paling kecil dari setiap komponen warna cover-image mengikuti aturan penyisipan yang ditentukan. Berikut adalah penjabaran proses penyisipan modified LSB  Penyisipan pada pixel ke-1 cipherteks = 218 11011010 - R = 137 10001001 R tidak lebih kecil dari 100 maka tidak dilakukan penyisipan. - G = 2 00000010 G lebih kecil dari 122 maka ambil bit terakhir cipherteks 0 kemudian sisipkan ke dalam komponen warna G. G = 2 00000010 cipherteks = 109 1101101 - B = 23 00010101 B lebih kecil dari 114 maka ambil bit terakhir cipherteks 1 kemudian sisipkan ke dalam komponen warna B. B = 23 00010101 cipherteks = 54 110110 Maka nilai pixel ke-1 menjadi 137, 2, 23.  Penyisipan pada pixel ke-2 cipherteks = 54 110110 - R = 105 01101001 R tidak lebih kecil dari 100 maka tidak dilakukan penyisipan. - G = 2 00000010 G lebih kecil dari 122 maka ambil bit terakhir cipherteks 0 kemudian sisipkan ke dalam komponen warna G. G = 2 00000010 cipherteks = 27 11011 - B = 28 00011100 B lebih kecil dari 114 maka ambil bit terakhir cipherteks 1 kemudian sisipkan ke dalam komponen warna G. B = 29 00011101 cipherteks = 13 1011 Maka nilai dari pixel ke-2 menjadi 105, 2, 29.  dan seterusnya hingga seluruh cipherteks telah disisipkan dalam cover. Universitas Sumatera Utara Maka didapatlah stego-image yang telah disisipkan cipherteks dengan nilai representasi biner seperti yang ditunjukkan pada tabel 4.13. Tabel 4.13. Representasi Biner Stego-Image Setelah Penyisipan i j R G B R G B R G B R G B R G B 137 2 23 105 2 29 75 2 35 47 3 38 22 5 42 1 141 2 22 109 3 26 78 2 32 53 3 37 31 2 41 2 150 2 20 120 3 24 92 2 30 69 3 34 52 3 37 3 164 2 19 137 3 22 113 2 27 92 2 31 79 2 33 4 181 3 14 158 3 18 138 3 23 121 2 25 109 2 26 5 200 2 10 181 2 17 163 3 19 149 2 20 140 3 23 6 218 2 9 203 2 10 189 3 13 178 3 15 172 2 17 7 235 2 5 224 3 7 213 3 11 205 3 10 200 3 13 8 247 3 3 240 2 4 234 2 7 228 3 6 223 3 6 9 250 9 3 250 2 2 247 3 3 244 2 3 242 3 5 10 250 27 2 250 17 2 250 11 2 250 8 3 250 4 2 11 249 47 2 250 38 2 250 31 2 250 26 2 250 23 2 12 240 73 2 244 63 2 246 54 2 248 50 2 249 46 2 13 227 101 2 232 90 2 235 83 2 238 77 2 239 74 2 14 213 131 2 218 121 2 221 113 2 224 108 2 226 105 2 15 197 160 4 202 151 3 206 145 2 209 140 2 211 136 2 16 183 189 5 187 181 5 191 175 4 192 171 4 194 167 4 17 168 215 6 172 208 5 175 203 5 177 199 4 178 197 5 18 157 237 6 160 231 6 162 227 7 163 224 6 165 222 6 19 150 252 7 151 249 7 152 246 7 154 244 7 154 243 6 1 2 3 4 Berdasarkan representasi warna pada tabel 4.13, stego-image dapat pula dinyatakan dalam bentuk citra digital seperti pada gambar 4.16. Gambar 4.16. Stego-Image Hasil Penyisipan Universitas Sumatera Utara 4.2.6. Pengujian proses ekstraksi modified LSB Misalkan kita ingin mengekstrak sebuah stego-image, stego-image = Sama seperti proses penyisipan hal pertama yang dilakukan adalah mengambil nilai representasi biner dari stego-image, ditunjukkan pada tabel 4.14. Tabel 4.14. Representasi Biner Stego-Image i j R G B R G B R G B R G B R G B 137 2 23 105 2 29 75 2 35 47 3 38 22 5 42 1 141 2 22 109 3 26 78 2 32 53 3 37 31 2 41 2 150 2 20 120 3 24 92 2 30 69 3 34 52 3 37 3 164 2 19 137 3 22 113 2 27 92 2 31 79 2 33 4 181 3 14 158 3 18 138 3 23 121 2 25 109 2 26 5 200 2 10 181 2 17 163 3 19 149 2 20 140 3 23 6 218 2 9 203 2 10 189 3 13 178 3 15 172 2 17 7 235 2 5 224 3 7 213 3 11 205 3 10 200 3 13 8 247 3 3 240 2 4 234 2 7 228 3 6 223 3 6 9 250 9 3 250 2 2 247 3 3 244 2 3 242 3 5 10 250 27 2 250 17 2 250 11 2 250 8 3 250 4 2 11 249 47 2 250 38 2 250 31 2 250 26 2 250 23 2 12 240 73 2 244 63 2 246 54 2 248 50 2 249 46 2 13 227 101 2 232 90 2 235 83 2 238 77 2 239 74 2 14 213 131 2 218 121 2 221 113 2 224 108 2 226 105 2 15 197 160 4 202 151 3 206 145 2 209 140 2 211 136 2 16 183 189 5 187 181 5 191 175 4 192 171 4 194 167 4 17 168 215 6 172 208 5 175 203 5 177 199 4 178 197 5 18 157 237 6 160 231 6 162 227 7 163 224 6 165 222 6 19 150 252 7 151 249 7 152 246 7 154 244 7 154 243 6 1 2 3 4 Proses ekstraksi dilakukan dengan mengambil pixel demi pixel dari stego-image kemudian memeriksa nilai dari tiap komponen warna dari pixel tersebut. Jika memenuhi aturan ekstraksi maka diambil bit paling kecil dari warna tersebut lalu ditambahkan ke dalam variabel penampung temp. Setiap kali variabel temp telah menampung 8 bit data, maka bit-bit data dalam variabel temp dibalik urutannya dari awal ke akhir sehingga didapatkan hasil ekstraksi. Universitas Sumatera Utara Berikut adalah penjabaran proses penyisipan modified LSB,  Ekstraksi pada pixel ke-1 temp = - - R = 137 10001001 R tidak lebih kecil dari 100 maka tidak dilakukan ekstraksi. - G = 2 00000010 G lebih kecil dari 122 maka bit terakhir dari G yaitu 0 ditambahkan ke dalam variabel temp. temp = 0 - B = 23 00010101 B lebih kecil dari 114 maka bit terakhir dari B yaitu 1 ditambahkan ke dalam variabel temp. temp = 01  Ekstraksi pada pixel ke-2 temp = 01 - R = 105 01101001 R tidak lebih kecil dari 100 maka tidak dilakukan ekstraksi. - G = 2 00000010 G lebih kecil dari 122 maka bit terakhir dari G yaitu 0 ditambahkan ke dalam variabel temp. temp = 010 - B = 29 00011101 B lebih kecil dari 114 maka bit terakhir dari B yaitu 1 ditambahkan ke dalam variabel temp. temp = 0101  Ekstraksi pada pixel ke-3 temp = 0101 - R = 75 01001011 R lebih kecil dari 100 maka bit terakhir dari R yaitu 1 ditambahkan ke dalam variabel temp. temp = 01011 - G = 2 00000010 G lebih kecil dari 122 maka bit terakhir dari G yaitu 0 ditambahkan ke dalam variabel temp. temp = 010110 - B = 35 00100011 B lebih kecil dari 114 maka bit terakhir dari B yaitu 1 ditambahkan ke dalam variabel temp. temp = 0101101 Universitas Sumatera Utara  Ekstraksi pada pixel ke-4 temp = 0101101 - R = 47 00101111 R lebih kecil dari 100 maka bit terakhir dari R yaitu 1 ditambahkan ke dalam variabel temp. temp = 01011011 cipherteks = balikBittemp = 11011010 = 218 - G = 3 00000011 G lebih kecil dari 122 maka bit terakhir dari G yaitu 1 ditambahkan ke dalam variabel temp. temp = 1 - B = 38 00100110 B lebih kecil dari 114 maka bit terakhir dari B yaitu 0 ditambahkan ke dalam variabel temp. temp = 10  dan seterusnya. Maka didapatlah cipherteks sebagai berikut, cipherteks = 218 137 240 18 102 147 173 5 103 121 253 30 107 246 74 Terlihat bahwa proses ekstraksi modified LSB menghasilkan cipherteks yang sama seperti cipherteks sebelum dilakukan penyisipan. Universitas Sumatera Utara

BAB 5 KESIMPULAN DAN SARAN