Implementasi Algoritma Zig-Zag Cipher Dan Algoritma Rc4+ Cipher Dalam Skema Super Enkripsi Untuk Pengamanan Teks Chapter III V

BAB 3
ANALISIS DAN PERANCANGAN

3.1.Analisis Sistem
Pengertian dari analisis sistem (systems analysis) adalah tahap pertama dari
pengembangan sistem yang menjadi fondasi menentukan keberhasilan sistem
informasi yang akan dihasilkan nantinya. Tahapan ini sangat penting untuk
menentukan bentuk sistem yang akan dibangun (Al Fatta, 2007). Apabila terjadi
kesalahan pada tahap ini maka dapat menyebabkan kesalahan di tahap-tahap
berikutnya. Sebelum melakukan perancangan sistem, tahap analisis sistem ini harus
dilakukan (Hartono, 2005).

3.1.1. Analisis Masalah
Adapun tujuan dari analisis masalah adalah untuk mengidentifikasi penyebab masalah
dan memahami kelayakan masalah yang akan diselesaikan oleh sistem (Sebayang,
2014). Diagram Ishikawa atau disebut juga Fishbone Diagram merupakan diagram
yang digunakan oleh para analis sistem untuk mengidentifikasi, menganalisa dan
menggambarkan semua penyebab yang berhubungan dengan suatu masalah untuk
dipecahkan (Whitten & Bentley, 2007). Masalah-masalah yang diperoleh tersebut
kemudian digambarkan dengan diagram Ishikawa.
Diagram Ishikawa berbentuk seperti ikan yang kepalanya menghadap ke

kanan. Struktur diagram Ishikawa terdiri dari (Whitten & Bentley, 2007) :
1. Kepala ikan (fish’s head), menunjukkan nama atau judul dari masalah yang
diidentifikasi.
2. Tulang-tulang ikan (fish’s bones), menunjukkan penyebab-penyebab masalah
yang diperoleh.
Masalah dalam penelitian ini dapat dilihat pada Gambar 3.1. yang dirancang
dalam

bentuk

diagram

Ishikawa.

Universitas Sumatera Utara

Gambar 3.1 Diagram Ishikawa Masalah Penelitian
Pada gambar 3.1 terlihat bahwa terdapat empat kategori penyebab masalah
dari penelitian. Masalah utama pada segi empat paling kanan (kepala ikan) yaitu
Implementasi Algoritma Kriptografi Klasik dan Algoritma Kriptografi Modern dalam

skema super enkripsi yang berkaitan dengan user, material, metode dan sistem. Tanda
panah yang mengarah ke masing-masing kategori menggambarkan detail penyebab
masalah.
Pengiriman dan penerimaan pesan memungkinkan dapat bersifat tidak aman
dan rahasia. Oleh karena itu dibutuhkan proses pengamanan pesan dengan mekanisme
kriptografi yang disebut juga sistem kriptografi. Sadikin (2012) menyatakan bahwa
elemen-elemen dari sistem kriptografi yaitu :
1. Plaintext, biasanya disimbolkan dengan P adalah pesan atau data dalam bentuk
asli yang dapat dibaca dan juga sebagai masukan bagi algoritma enkripsi.
2. Secret Key atau kunci rahasia adalah nilai yang bebas bagi algoritma enkripsi
terhadap teks asli dan menentukan hasil keluaran dari algoritma enkripsi.
3. Ciphertext biasanya disimbolkan dengan C, adalah pesan dalam bentuk
tersembunyi yang merupakan hasil dari algoritma enkripsi.
4. Algoritma enkripsi, memiliki 2 masukan yaitu teks asli dan kunci rahasia.
Kedua masukan akan diproses sehingga membuat teks asli menghasilkan teks
sandi.
5. Algoritma dekripsi, memiliki 2 masukan yaitu teks sandi dan kunci rahasia.
Proses ini mengembalikan teks sandi menjadi teks asli.

Universitas Sumatera Utara


3.1.2. Analisis Kebutuhan
Setelah mengidentifikasi penyebab masalah penelitian maka tahap selanjutnya yaitu
tahap analisis kebutuhan. Tahap analisis kebutuhan mempunyai tujuan yaitu
mengumpulkan kebutuhan apa saja yang diperlukan sistem yang disebut requirement.
Pada tahap analisis ini, dilakukan analisis sistem secara fungsional dan analisis sistem
secara nonfungsional (Pujianto, 2012).
a. Kebutuhan Fungsional
Kebutuhan fungsional menggambarkan aktivitas yang disediakan suatu sistem untuk
mengetahui hal-hal apa saja yang dapat dikerjakan oleh sistem tersebut (Whitten et al.,
2004).

Kebutuhan

fungsional

yang

harus


dipenuhi

dari

sistem

yang

mengimplementasikan algoritma Zig-zag Cipher dan algoritma RC4+ Cipher dalam
skema super enkripsi adalah sebagai berikut :
1. Menerima input plaintext
Sistem mencari dan meng-uploadfile teks yang berekstensi .doc dan pdf yang
tersimpan pada perangkat yang digunakan atau sistem menerima input
plaintext dari pengguna secara manual.
2. Menerima input kunci
Sistem menerima input kunci yang berasal dari pengguna atau sistem
membangkitkan kunci secara acak untuk digunakan sebagai kunci algoritma
Zig-zag Cipher dan algoritma RC4+ Cipher.
3. Mengenkripsi pesan
Sistem mengenkripsi pesan dengan kunci yang telah ada menggunakan

algoritma Zig-zag Cipher untuk enkripsi pertama dan RC4+ Cipher untuk
enkripsi kedua.
4. Menyimpan hasil enkripsi
Sistem menyimpan pesan yang telah dienkripsi dengan algoritma yang
digunakan. Hasil dari enkripsi dapat digunakan untuk mendekripsi pesan.
5. Mendekripsi pesan

Universitas Sumatera Utara

Sistem mendekripsi pesan dengan kunci yang telah ada menggunakan
algoritma Zig-zag Cipher untuk pengguna pertama dan RC4+ Cipher untuk
pengguna kedua.
6. Menyimpan hasil dekripsi
Sistem menyimpan pesan yang telah didekripsi dengan algoritma yang
digunakan.

b. Kebutuhan Nonfungsional
Kebutuhan nonfungsional menggambarkan fitur, karakteristik dan batasan lainnya
yang dibutuhkan oleh sistem (Whitten et al., 2004). Kebutuhan nonfungsionaldari
sistem meliputi karakteristik sebagai berikut :

1. Mudah digunakan dan dimengerti
Sistem yang akan dibangun menggunakan desain yang user friendly dan
responsif.
2. Kemampuan
Sistem yang akan dibangun dapat melakukan fungsi kriptografi (enkripsi dan
dekripsi).
3. Manajemen Kualitas
Sistem yang akan dibangun memiliki kualitas yang baik yaitu melakukan
proses enkripsi dan dekripsi dengan waktu yang relatif singkat.
4. Documentation
Sistem yang akan dibangun memiliki panduan penggunaan sistem.
5. Ekonomis
Sistem yang akan dibangun akan menggunakan teknologi yang dapat
digunakan (free to use) dan disebarluaskan dengan bebas.
6. Pengendalian
Untuk setiap inputan yang tidak sesuai, sistem yang dibangun akan
menampilkan pesan error.

3.1.3. Arsitektur Umum Sistem


Universitas Sumatera Utara

Arsitektur umum sistem dapat digunakan untuk mendekripsikan jalannya sistem
secara keseluruhan. Arsitektur umum sistem ini juga dapat menjadi tumpuan untuk
pembuatan pemodelan sistem. Arsitektur umum sistem dapat dilihat pada gambar 3.2.

Gambar 3.2 Arsitekur Umum Sistem
Gambar 3.2 menjelaskan bahwa ciphertext 1 adalah ciphertext yang dihasilkan
dari proses enkripsi oleh pengirim pesan dengan menggunakan algoritma Zig-zag
Cipher. Selanjutnya pengirim pesan akan melakukan enkripsi dengan algoritma RC4+
Cipher yang kemudian menghasilkan ciphertext 2. Proses selanjutnya adalah proses
dekripsi oleh penerima pesan dengan menggunakan algoritma RC4+ Cipher. Proses ini
kemudian menghasilkan kembali ciphertext 1. Proses yang terakhir adalah dekripsi
oleh penerima pesan yang dilakukan dengan menggunakan algoritma Zig-zagCipher
yang menghasilkan plaintext yang dikirimkan oleh pengirim pesan.

3.1.4. Pemodelan Sistem
Untuk meggambarkan kerja dari sistem yang akan dibuat, maka akan dibuat
pemodelan sistem dengan menggunakan diagram UML (Unified Modelling


Universitas Sumatera Utara

Language). Diagram UML yang digunakan adalah Use Case Diagram, Activity
Diagram dan Sequence Diagram.

Universitas Sumatera Utara

a. Diagram Use Case
Tujuan dari diagram use case yaitu untuk menggambarkan siapa saja yang
berhubungan dengan sistem dan apa saja yang dapat dilakukan oleh sistem. Diagram
use case biasanya menggambarkan kebutuhan fungsional yang telah dipaparkan. Pada
penelitian ini diagram use case dapat ditunjukkan pada gambar 3.3.

Gambar 3.3 Diagram Use Case Sistem
Pada gambar 3.3 menjelaskan bahwa sistem diakses oleh dua actor yang
dinamakan Pengirim dan Penerima, kemudian terdapat lima use case utama pada
sistem yaitu input file, input kunci dua buah algoritma yaitu Zig-zag Cipher dan RC4+
Cipher, lalu yang terakhir adalah save file.

Universitas Sumatera Utara


b. Diagram Aktifitas

Gambar 3.4 Diagram Aktifitas Untuk Proses Enkripsi

Universitas Sumatera Utara

Activity Diagram (Diagram Aktifitas) menggambarkan aliran kerja atau interaksi
aktifitas antara pengirim dan sistem dari sebuah sistem atau perangkat lunak yang
dikembangkan, dariaktifitas mulai, decision yang mungkin terjadisampai aktifitas
berhenti. Aktifitas pengirimditunjukkan pada gambar 3.4 kotak paling kiri sedangkan
respon oleh sistem yang dikerjakan ditunjukkan pada kotak paling kanan.
Pada gambar 3.4, terlihat bahwa sistem melakukan proses enkripsi pesan pada
file dengan cara meng-uploadfile yang ada pada perangkat terlebih dahulu atau
melakukan proses enkripsi pada plaintext yang diinput secara manual. Apabila
enkripsi pesan dilakukan pada file, maka sistem akan menampilkan isi file tersebut.
Kemudian sebelum melakukan enkripsi pada algoritma pertama yaitu Zig-zag Cipher,
pengirim harus menginputkan kunci secara manual atau menekan tombol acak kunci
untuk mengacak kunci pada algoritma tersebut. Sistem akan mengacak kunci pada
algoritma pertama apabila pengirim menekan tombol acak kunci kemudian sistem

akan menampilkan kunci acak tersebut.
Proses selanjutnya yaitu melakukan enkripsi algoritma Zig-zag Cipher dan
sistem akan menampilkan ciphertext pertama hasil dari enkripsi algoritma tersebut.
Setelah mendapatkan ciphertext pertama, maka pengirim dapat menginputkan kunci
atau menekan tombol acak kunci algoritma RC4+ Cipher. Sistem akan melakukan
pemilihan kunci secara acak apabila pengirim tidak menginputkan kunci secara
manual. Proses selanjutnya adalah melakukan enkripsi algoritma RC4+ Cipher
kemudian sistem akan menampilkan hasil enkripsi berupa ciphertext kedua. Pengirim
dapat menyimpan hasil dari proses enkripsi untuk dapat digunakan pada proses
dekripsi.

Universitas Sumatera Utara

Gambar 3.5 Diagram Aktifitas Untuk Proses Dekripsi
Proses dekripsi pesan ditunjukkan pada gambar 3.5. Proses dekripsi dilakukan
dengan cara mencari file enkripsi terlebih dahulu. Penerima akan mencari dan menguploadfile kemudian sistem akan menampilkan isi file hasil enkripsi algoritma Zig-zag
Cipher dan algoritma RC4+ Cipher yang sudah dilakukan sebelumnya. Lalu penerima
pesan akan menginput kunci algoritma RC4+ Cipher yang sama yang digunakan pada
proses enkripsi. Proses dekripsi pesan dapat dilakukan ketika kunci sudah diinputkan
dan sistem akan merespon dengan menampilkan ciphertext pertama (C 1 ). Setelah

mendapatkan ciphertext pertama (C 1 ) maka selanjutnya penerima menginputkan kunci
algoritma Zig-zag Cipher yang sama pada saat proses enkripsi. Proses dekripsi
berjalan ketika kunci telah diinputkan lalu sistem akan menampilkan plaintext awal.
Penerima pesan dapat melihat plaintext awal hasil dari proses dekripsi dan dapat
menyimpannya.

Universitas Sumatera Utara

c. Diagram Sequence
Sequence diagram merupakan suatu diagram yang bertujuan untuk menggambarkan
interaksi antara objek dengan apa yang akan dilakukan sistem dalam sebuah urutan
waktu. Sistem ini menggunakan algoritma Zig-zag Cipher dan algoritma RC4+
Cipher. Algoritma Zig-zag Cipher terlebih dahulu digunakan pada proses enkripsi
kemudian dilanjutkan dengan algoritma RC4+ Cipher. Pada gambar 3.6 terlihat
sequence diagram untuk proses enkripsi antara user yang menjadi aktor dengan sistem
yang akan dibangun. Aktifitas yang terjadi ketika aktor atau objek berinteraksi ke
objek lain digambarkan dengan tanda panah garis penuh, sedangkan garis putus-putus
menggambarkan respon sistem terhadap aktor.

Gambar 3.6 Diagram Sequence Untuk Proses Enkripsi
Hasil dari enkripsi dapat disimpan untuk proses dekripsi. Untuk sequence
diagram proses dekripsi dapat dilihat pada gambar 3.7 pada halaman selanjutnya.

Universitas Sumatera Utara

Gambar 3.7 Diagram Sequence Untuk Proses Dekripsi
Gambar 3.7 menjelaskan tentang sequence diagram proses dekripsi. Dapat
diliat bahwa sequence diagram enkripsi dan dekripsi berbeda. Pada proses dekripsi
tidak menggunakan pengacakan kunci melainkan menggunakan kunci yang digunakan
pada saat enkripsi agar mendapatkan plaintext awal.
3.1.5. Flowchart
Terdapat beberapa flowchart pada pembangunan sistem ini, yaitu : flowchart sistem,
flowchart algoritma Zig-zag Cipher dan flowchart algoritma RC4+ Cipher.
a. Flowchart Sistem
Flowchart sistem yang akan dibangun ditunjukkan pada gambar 3.8 yang
menunjukkan urutan-urutan dari prosedur yang ada di dalam sistem secara sistematis.
Secara umum, sistem memiliki empat halaman utama yang dapat dipilih pada sistem
oleh user, yaitu halaman tentang aplikasi, tentang algoritma, enkripsi, dan dekripsi.

Universitas Sumatera Utara

Gambar 3.8 Flowchart Sistem

Universitas Sumatera Utara

b. Flowchart Algoritma Zig-zag Cipher

Gambar 3.9 Flowchart Enkripsi Algoritma Zig-zag Cipher Transposisi Baris
Gambar 3.9 menunjukkan flowchart enkripsi algoritma Zig-zag Cipher dengan
transposisi baris yang di awali dengan input plaintext dan kunci Zig-zag Cipher untuk
proses enkripsi. Dimana dari hasil enkripsi tersebut diperoleh ciphertext.
Untuk mendapatkan plaintext kembali maka dilakukan proses dekripsi
ciphertext. Proses dekripsi juga memerlukan kunci Zig-zag Cipher yang sama pada
saat proses enkripsi. Flowchart dekripsi algoritma Zig-zag Cipher ditunjukkan pada
gambar 3.10.

Universitas Sumatera Utara

Gambar 3.10 Flowchart Dekripsi Algoritma Zig-zag Cipher Transposisi Baris
Algoritma Zig-zag Cipher juga dapat dilakukan dengan transposisi kolom.
Gambar 3.11 menunjukkan flowchart enkripsialgoritma Zig-zag Cipher dengan
menggunakan

transposisi

kolom.

Proses

enkripsi

yang

dilakukan

apabila

menggunakan transposisi kolom sama dengan transposisi baris, hanya saja hasil akhir
enkripsi akan berbeda antara Zig-zag Cipher yang menggunakan transposisi baris
dengan Zig-zag Cipher yang menggunakan transposisi kolom.

Universitas Sumatera Utara

Gambar 3.11 Flowchart Enkripsi Algoritma Zig-zag Cipher Transposisi Kolom
Untuk mendapatkan plaintext kembali maka dilakukan proses dekripsi. Proses
dekripsi dengan transposisi kolom juga sama dengan proses dekripsi dengan
transposisi baris. Flowchart dekripsi algoritma Zig-zag Cipher dengan menggunakan
transposisi kolom dapat dilihat pada gambar 3.12.

Universitas Sumatera Utara

Gambar 3.12 Flowchart Dekripsi Algoritma Zig-zag Cipher Transposisi Kolom
c. Flowchart Algoritma RC4+ Cipher
Flowchartalgoritma RC4+ Cipher bekerja ditunjukkan pada gambar 3.13. Pada
algoritma RC4+ Cipher proses enkripsi dan dekripsi tidak berbeda atau sama. Bagian
kiri flowchart terdapat perulangan untuk proses Key Scheduling Algorithm atau KSA
sedangkan bagian kanan merupakan proses Pseudo-Random Generation Algorithm
atau PGRA.

Universitas Sumatera Utara

Gambar 3.13 Flowchart Algoritma RC4+ Cipher
3.2.PerancanganInterface
Sistem akan dibangun dengan menggunakan bahasa pemrograman C#. Rancangan
interface akan disesuaikan dengan kebutuhan dan software yang digunakan.
Perancangan interface dibuat agar mudah dalam pembangunan sistem. Sistem akan
memiliki lima mock-up. Adapun mock-up itu sendiriadalah rancangan sistem yang
berskala kecil dan tidak lengkap untuk tampilan desain awal (Sebayang, 2014). Lima
mock-up tersebut adalah halaman awal, tentang aplikasi, tentang algoritma, enkripsi
dan dekripsi.

Universitas Sumatera Utara

a. Halaman Awal
Pada halaman awal ini kita dapat melihat judul utama pada sistem, logo universitas,
identitas pembuat sistem, dan sebuah tombol untuk masuk dan memulai sistem.
Halaman awal ditunjukkan pada gambar 3.14.

Gambar 3.14 Perancangan Interface Halaman Awal
Keterangan gambar:
1. Label (judul)
2. Picturebox

:digunakan untuk judul sistem.
: digunakan untuk logo Universitas Sumatera Utara.

3. Label (identitas) : digunakan untuk identitas nama dan nim.
4. Button

: digunakan untuk masuk dan memulai sistem.

b. Halaman Tentang Aplikasi
Halaman tentang aplikasi berisi petunjuk pemakaian sistem secara umum. Halaman
tentang aplikasi terlihat pada gambar 3.15.

Universitas Sumatera Utara

Gambar 3.15 Perancangan Interface Halaman Tentang Aplikasi
Keterangan gambar:
1. TabControl

: berfungsi untuk memilih halaman-halaman yang diinginkan

untuk diproses.
2. Label

: digunakan untuk menjelaskan tabcontrol yang sedang

dijalankan.
3. Rich Text Box :digunakan untuk petunjuk menggunakan sistem secara umum.

c. Halaman Tentang Algoritma
Terdapat teori singkat tentang algoritma pada halaman tentang algoritma. Adapun
teori singkat tersebut adalah algoritma Zig-zag Cipher, RC4+ Cipher dan super
enkripsi. Halaman tentang algoritma digambarkan pada interface seperti gambar 3.16.

Universitas Sumatera Utara

Gambar 3.16 Perancangan Interface Halaman Tentang Algoritma
Keterangan gambar:
1. TabControl

: berfungsi untuk memilih halaman-halaman yang diinginkan

untuk diproses.
2. Label

: digunakan untuk judul Super Enkripsi.

3. Label

: digunakan untuk judul Zig-zag Cipher.

4. Label

: digunakan untuk judul RC4+ Cipher.

5. Rich Text Box : digunakan untuk menampilkan teori singkat tentang Super
Enkripsi.
6. Rich Text Box : digunakan untuk menampilkan teori singkat tentang algoritma
Zig-zag Cipher.
7. Rich Text Box : digunakan untuk menampilkan teori singkat tentang algoritma
RC4+ Cipher.

d. Halaman Enkripsi
Halaman enkripsi merupakan halaman yang digunakan untuk melakukan penyandian
pesan dengan proses enkripsi pesan menggunakan algoritma Zig-zag Cipher dan
RC4+Cipher yang diimplementasikan pada mekanisme super enkripsi. Gambar 3.17
merupakan rancangan interface halaman enkripsi.

Universitas Sumatera Utara

Gambar 3.17 Perancangan Interface Halaman Enkripsi
Keterangan gambar:
1. TabControl

: berfungsi untuk memilih halaman-halaman yang diinginkan

untuk diproses.
2. GroupBox

: berfungsi untuk memilih atau menginput plaintext yang akan

di enkripsi.
3. Label

: digunakan untuk tulisan Masukkan file.

4. Textbox

: digunakan untuk menampilkan nama file yang akan digunakan

untuk proses enkripsi.
5. Button

: berfungsi untuk mencari file yang akan digunakan.

6. Label

: digunakan untuk tulisan Plaintext.

7. Rich Text Box : digunakan untuk menginput plaintext atau membaca isi file
yang akan dienkripsi.
8. Button

: befungsi untuk membuka file yang akan digunakan.

9. Button

: berfungsi untuk menghitung jumlah karakter yang digunakan.

10. GroupBox

: berfungsi untuk menampilkan info file yang akan digunakan.

Universitas Sumatera Utara

11. Label

: digunakan untuk tulisan Location.

12. Textbox

: berfungsi untuk menampilkan lokasi file yang akan digunakan

untuk proses enkripsi.
13. Label

: digunakan untuk tulisan Jumlah Karakter.

14. Textbox

: berfungsi untuk menampilkan jumlah karakter plaintext pada

file.
15. Label

: digunakan untuk tulisan Running Time.

16. Textbox

: berfungsi untuk menampilkan running time proses enkripsi

17. GroupBox

: berfungsi untuk proses enkripsi algoritma zig-zag cipher.

18. Rich Text Box : digunakan untuk menampung kunci zig-zag.
19. Button

: digunakan untuk mengacak kunci zig-zag.

20. Radio Button : berfungsi untuk memilih proses enkripsi baris pada zig-zag
cipher.
21. Radio Button : berfungsi untuk memilih proses enkripsi kolom pada zig-zag
cipher.
22. Button

: digunakan untuk melakukan proses enkripsi algoritma zig-zag

cipher.
23. Rich Text Box : digunakan untuk menampung karakter hasil enkripsi algoritma
zig-zag.
24. GroupBox

: berfungsi untuk proses enkripsi algoritma RC4+ cipher.

25. Rich Text Box : digunakan untuk menampung kunci RC4+.
26. Button

: digunakan untuk mengacak kunci RC4+.

27. Button

: digunakan untuk melakukan proses enkripsi algoritma RC4+

cipher.
28. Rich Text Box : digunakan untuk menampung karakter hasil enkripsi algoritma
RC4+.
29. Button

: digunakan untuk menyimpan hasil proses super enkripsi.

30. Button

: digunakan untuk mengosongkan kembali halaman enkripsi.

e. Halaman Dekripsi
Halaman dekripsi merupakan halaman yang digunakan untuk melakukan
pengembalian pesan yang telah disandikan dengan proses dekripsi pesan
menggunakan

algoritma

Zig-zag

Cipher

dan

RC4+

Cipher

yang

Universitas Sumatera Utara

diimplementasikan pada mekanisme super enkripsi. Gambar 3.18 merupakan
rancangan interfacehalaman dekripsi.

Gambar 3.18 PerancanganInterface Halaman Dekripsi
Keterangan gambar:
1. TabControl

: berfungsi untuk memilih halaman-halaman yang diinginkan

untuk diproses.
2. GroupBox

: berfungsi untuk memilih file ciphertext yang akan di dekripsi.

3. Label

: digunakan untuk tulisan Masukkan file.

4. Textbox

: digunakan untuk menampilkan nama file yang akan digunakan

untuk proses enkripsi.
5. Button

: berfungsi untuk mencari file yang akan digunakan.

6. Label

: digunakan untuk tulisan Ciphertext.

7. Rich Text Box : digunakan untuk membaca isi file yang akan didekripsi.
8. Button

: befungsi untuk membuka file yang akan digunakan.

9. Button

: berfungsi untuk menghitung jumlah karakter yang digunakan.

Universitas Sumatera Utara

10. GroupBox

: berfungsi untuk menampilkan info file yang akan digunakan.

11. Label

: digunakan untuk tulisan Location.

12. Textbox

: berfungsi untuk menampilkan lokasi file yang akan digunakan

untuk proses dekripsi.
13. Label

: digunakan untuk tulisan Jumlah Karakter.

14. Textbox

: berfungsi untuk menampilkan jumlah karakter ciphertext pada

file.
15. GroupBox

: berfungsi untuk proses dekripsi algoritma RC4+ cipher.

16. Rich Text Box : digunakan untuk menampung kunci RC4+.
17. Button

: digunakan untuk melakukan proses dekripsi algoritma RC4+

cipher.
18. Rich Text Box : digunakan untuk menampung karakter hasil dekripsi algoritma
RC4+.
19. GroupBox

: berfungsi untuk proses dekripsi algoritma zig-zag cipher.

20. Rich Text Box : digunakan untuk menampung kunci zig-zag.
21. Radio Button : berfungsi untuk memilih proses enkripsi baris pada zig-zag.
22. Radio Button : berfungsi untuk memilih proses enkripsi kolom pada zig-zag.
23. Button

: digunakan untuk melakukan proses dekripsi algoritma zig-zag.

24. Rich Text Box : digunakan untuk menampung karakter hasil dekripsi algoritma
zig-zag.
25. Button

: digunakan untuk menyimpan hasil proses dekripsi.

26. Button

: digunakan untuk mengosongkan kembali halaman dekripsi.

Universitas Sumatera Utara

BAB 4
IMPLEMENTASI DAN PENGUJIAN

4.1.Implementasi
Dalam penelitian ini, sistem dibangun dengan menggunakan bahasa pemrograman C#
dan Software Microsoft Visual Studio 2010. Terdapat lima halaman utama dalam
sistem yang dibangun, yaitu halaman awal untuk menampilkan judul dan identitas
singkat pembuat sistem kepada user, halaman tentang aplikasi untuk memberikan
petunjuk menggunakan sistem yang dibangun kepada user, halaman tentang algoritma
sebagai halaman yang memberikan informasi kepada user tentang teori singkat
metode dan algoritma yang digunakan pada sistem, halaman enkripsi sebagai halaman
untuk melakukan proses enkripsi pesan, dan halaman dekripsi sebagai halaman untuk
melakukan proses dekripsi pesan. Sistem implemntasi algoritma Zig-zag Cipher dan
algoritma RC4+ Cipher dalam skema super enkripsi ini diberi nama ZigeR_C4+.
4.1.1. Halaman Awal

Gambar 4.1 Tampilan Halaman Awal Sistem

Universitas Sumatera Utara

Halaman awal merupakan tampilan halaman yang muncul ketika user pertama kali
menjalankan sistem. Tampilan halaman awal dapat dilihat pada gambar 4.1. Pada
gambar 4.1 terlihat tampilan halaman awal sistem yang memiliki judul penelitian atau
judul sistem, logo universitas, identitas pembuat sistem, dan sebuah button mulai yang
diberikan aksi untuk masuk ke dalam sistem.

4.1.2. Halaman Tentang Aplikasi
Halaman ini berfungsi untuk membantu user menggunakan sistem yang dibangun.
Tampilan halaman tentang aplikasi dapat dilihat pada gambar 4.2.

Gambar 4.2 Tampilan Halaman Tentang Aplikasi
Tab Control pada bagian kiri atas kotak dialog menunjukkan halaman yang
sedang diakses user.Gambar 4.2 memperlihatkan tampilan halaman tentang aplikasi
yang mana halaman ini adalah halaman ketika user masuk ke sistem.

4.1.3. Halaman Tentang Algoritma
Untuk memberikan informasi tentang metode dan algoritma yang digunakan pada
sistem, maka dibuatlah halaman tentang algoritma. Tampilan halaman tentang
algoritma ditunjukkan pada gambar 4.3.

Universitas Sumatera Utara

Gambar 4.3 Tampilan Halaman Tentang Algoritma
Gambar 4.3 menampilkan teori singkat tentang metode super enkripsi dan dua
algoritma yang digunakan yaitu Zig-zag Cipher dan RC4+ Cipher. User dapat
memahami kerja dari metode dan algoritma yang digunakan dengan membaca
halaman tentang algoritma tersebut.

4.1.4. Halaman Enkripsi
Pada halaman ini, user dapat mengenkripsi pesan yang diinginkan dengan
menggunakan metode super enkripsi. Pesan yang akan dienkripsi dapat diambil dari
file yang telah tersimpan sebelumnya yang berekstensi .doc dan pdf. User juga dapat
langsung menginputkan atau mengetik teks secara manual pada text box yang
disediakan. Ketika user menginputkan plaintext berupa file, maka isi dari file tersebut
dapat ditampilkan pada text box yang telah disediakan dengan menekan button buka.
Kemudian, user harus melakukan input kunci secara manual atau dapat juga
melakukan pengacakan kunci secara otomatis dengan menekan button acak kunci
untuk masing-masing algoritma. Proses enkripsi akan dimulai ketika user menekan
button enkripsi pada masing-masing algoritma. Proses enkripsi pada Zig-zag Cipher
dapat dilakukan dengan dua cara tranposisi yaitu zig-zag transposisi baris atau zig-zag
transposisi kolom. User harus memilih satu diantara dua cara transposisi zig-zag

Universitas Sumatera Utara

tersebut untuk melakukan enkripsi pesan. Selanjutnya, enkripsi pada RC4+ Cipher
dapat dilakukan ketika ciphertext hasil enkripsi algoritma Zig-zag Cipher didapatkan.
Hasil dari enkripsi pesan berupa ciphertext ditampilkan pada text box yang telah
disediakan. Running time pada proses enkripsi akan muncul ketika button enkripsi
pada RC4+ Cipher ditekan.Pada halaman tersebut juga terdapat button simpan dan
reset. Button simpan berfungsi untuk menyimpan ciphertext yang digunakan untuk
proses dekripsi pesan, sedangkan button reset digunakan untuk mengosongkan form
dan mengulang kembali proses enkripsi. Tampilan Halaman Enkripsi dapat dilihat

pada gambar 4.4.
Gambar 4.4 Tampilan Halaman Enkripsi

4.1.5. Halaman Dekripsi
Halaman dekripsi berfungsi untuk mengembalikan ciphertext menjadi plaintext atau
mengubah pesan yang telah dienkripsi kembali ke pesan awal. Pada halaman ini user
dapat memasukkan file enkripsi berekstensi .inda yang telah tersimpan sebelumnya
untuk didekripsi. Kemudian, isi ciphertext yang ada pada file tersebut dapat dilihat
dengan menekan button buka lalu secara otomatis metode transposisi pada Zig-zag
Cipher dan kunci kedua algoritma yang digunakan pada proses enkripsi tersebut juga
dapat terlihat. Kunci kedua algoritma yang digunakan pada proses enkripsi harus sama

Universitas Sumatera Utara

dengan kunci yang digunakan pada proses dekripsi dan begitu juga dengan cara
transposisi pada Zig-zag Cipher. Proses dekripsi dilakukan terlebih dahulu dengan
menggunakan algoritma RC4+ Cipher, kemudian hasil dekripsi dari algoritma tersebut
didekripsikan lagi dengan algoritma Zig-zag Cipher sehingga menghasilkan plaintext.
Pada halaman ini juga terdapat button simpan yang berfungsi untuk menyimpan hasil
dekripsi dalam ekstensi file .doc dan terdapat pula button reset untuk mengosongkan
form atau mengulang kembali proses dekripsi. Tampilan halaman dekripsi dapat

dilihat pada gambar 4.5.
Gambar 4.5 Tampilan Halaman Dekripsi

4.2.Pengujian
Pengujian dilakukan terhadap algoritma Zig-zag Cipher dan algoritma RC4+ Cipher
dalam skema super enkripsi untuk membuktikan bahwa sistem dapat berjalan dengan
baik dalam melakukan enkripsi dan dekripsi pesan. Pada pengujian ini parameter yang
digunakan adalah kompleksitas algoritma dan waktu proses. Adapun kriteria
pengujian sistem sebagai berikut :
1. Plaintext berupa file berekstensi .doc atau pdf dengan jumlah panjang 4, 29,
dan 121 karakter. Plaintext juga dapat berupa kata atau kalimat yang dapat
diinput manual oleh user.

Universitas Sumatera Utara

2. Ciphertext yang disimpan dalam bentuk file super enkripsi berekstensi .inda
dan plaintext yang disimpan dalam bentuk file berekstensi .doc.
3. Kunci kedua algoritma dapat diinputkan langsung oleh user dengan syarat
kunci algoritma Zig-zag Cipher harus dalam bentuk angka. User juga dapat
melakukan pengacakan kunci secara otomatis untuk proses enkripsi.
4. Penghitungan running time dilakukan secara manual dengan menggunakan
bahasa pemrograman C#.
5. Sistem ini diuji dengan Personal Computer dengan spesifikasi processor intel
core i3 – 5005U CPU @ 2.00 GHz, Memory 4 GB RAM.
4.2.1. Pengujian Hasil Enkripsi Algoritma Zig-zag Cipher dan Algoritma RC4+
Cipher
a. Pengujian Hasil Enkripsi Dengan Sistem
Pengujian sistem dengan menggunakan algoritma Zig-zag Cipher dan algoritma RC4+
Cipher akan menghasilkan ciphertext dengan menggunakan metode super enkripsi.
Penulis akan melakukan pengujian sistem proses enkripsi dengan kriteria contoh
sebagai berikut :
1. Pesan yang akan dienkripsi dengan menginputkan file .doc yang mempunya isi
file “INDA”. Isi file tersebut kemudian akan menjadi plaintext.
2. Kunci Zig-zag Cipher yang akan digunakan adalah “2 1” dengan cara
transposisi kolom.
3. Kunci RC4+ Cipher yang akan digunakan adalah “J1”.
4. File akan disimpan dengan nama “enkripsi.inda”.
Setelah kriteria contoh tersebut telah dilakukan, maka tampilan pengujian
proses enkripsi dapat dilihat pada gambar 4.6.

Universitas Sumatera Utara

Gambar 4.6 Tampilan Pengujian Proses Enkripsi
Input kunci pada sistem ini juga dapat dilakukan dengan cara otomatis dengan
cara menekan button acak kunci. Proses enkripsi dilakukan terlebih dahulu oleh
algoritma Zig-zag Cipher kemudian hasil enkripsinya akan dienkripsi lagi dengan
menggunakan algoritma RC4+ Cipher. Ciphertext pertama (ciphertext 1) yang
dihasilkan oleh algoritma Zig-zag Cipher yaitu “NDIA”, kemudian sistem akan
mengenkripsi lagi ciphertext pertama dengan menggunakan algoritma RC4+ Cipher
dan menghasilkan ciphertext kedua (ciphertext 2) yaitu “¹íÃĊ”. Maka hasil akhir dari
proses super enkripsi ini adalah “¹íÃĊ”.
User juga dapat menyimpan hasil enkripsi tersebut dengan menekan button
simpan. Hasil dari enkripsi yang dapat disimpan berupa ciphertext, kunci kedua
algoritma dan metode zig-zag yang digunakan pada proses enkripsi. Ciphertext akan
disimpan dengan menggunakan ekstensi file super enkripsi .inda, sedangkan kunci
kedua algoritma dan metode zig-zag akan disimpan dengan file berekstensi a.dat.
Tujuan dibedakannya penyimpanan antara ciphertext dan kunci yang digunakan
adalah untuk mengurangi kemungkinan adanya pencurian terhadap kunci yang
digunakan sehingga dapat mengetahui plaintext awal. File ciphertext dapat dikirim
melalui media apa saja, tetapi file kunci harus dikirim dengan media yang sangat
aman. Tampilan penyimpanan file super enkripsi dapat dilihat pada gambar 4.7.

Universitas Sumatera Utara

Gambar 4.7 Tampilan Penyimpanan File Enkripsi
Pada gambar 4.7 dapat dilihat bahwa file ekstensi a.dat akan secara otomatis
tersimpan ketika file .inda telah tersimpan. Kedua file tersebut dapat digunakan untuk
proses dekripsi.

b. Pengujian Hasil Enkripsi Dengan Perhitungan Manual
1. Enkripsi Algoritma Zig-zag Cipher
Proses enkripsi pertama akan dilakukan dengan algoritma Zig-zag Cipher. Setelah
plaintext diinputkan maka langkah selanjutnya adalah melakukan proses enkripsi
dengan kunci Zig-zag Cipher. Kunci Zig-zag Cipher yang digunakan pada contoh ini
adalah “2 1” dengan metode transposisi zig-zag kolom. Proses ini akan menghasilkan
ciphertext 1. Proses enkripsi contoh perhitungan manual dengan algoritma Zig-zag
Cipher seperti yang telah dijelaskan pada Sub bab 2.2 adalah sebagai berikut :


Kunci digit pertama = 2.
Karena metode yang digunakan adalah metode transposisi kolom, maka posisi
matriks karakter menjadi (1, 2), (2, 1).
Matriks Plaintext

Matriks Ciphertext

1

2

1

I

N

1

2

D

A

2

1

2

N

D

Universitas Sumatera Utara



Kunci digit kedua = 1.
Posisi matriks karakter dengan digit kedua = 1 menjadi (1, 1), (2, 2).
Matriks Plaintext
1

2

1

I

N

2

D

A

Matriks Ciphertext
1

2

1

N

D

2

I

A

Melalui proses perhitungan manual, maka ciphertext yang didapat pada proses
enkripsi pertama atau ciphertext 1 dengan menggunakana algoritma Zig-zag Cipher
adalah “NDIA”, dimana nilai ciphertext 1tersebut sama dengan ciphertext 1pada
proses perhitungan dengan program.
2. Enkripsi Algoritma RC4+ Cipher
a) Tahap Key Scheduling Algorithm (KSA)
Tabel 4.1 menjelaskan tentang inisialisasi state awal dari Key Scheduling Algorithm
(KSA) berupa larik 256 elemen. Inisalisasi state awal tersebut merupakan langkah
pertama dari key scheduling (Syuhada, 2017).
Tabel 4.1 Larik State Awal
0
14
28
42
56
70
84
98
112
126
140
154
168
182
196
210
224

1
15
29
43
57
71
85
99
113
127
141
155
169
183
197
211
225

2
16
30
44
58
72
86
100
114
128
142
156
170
184
198
212
226

3
17
31
45
59
73
87
101
115
129
143
157
171
185
199
213
227

4
18
32
46
60
74
88
102
116
130
144
158
172
186
200
214
228

5
19
33
47
61
75
89
103
117
131
145
159
173
187
201
215
229

6
20
34
48
62
76
90
104
118
132
146
160
174
188
202
216
230

7
21
35
49
63
77
91
105
119
133
147
161
175
189
203
217
231

8
22
36
50
64
78
92
106
120
134
148
162
176
190
204
218
232

9
23
37
51
65
79
93
107
121
135
149
163
177
191
205
219
233

10
24
38
52
66
80
94
108
122
136
150
164
178
192
206
220
234

11
25
39
53
67
81
95
109
123
137
151
165
179
193
207
221
235

12
26
40
54
68
82
96
110
124
138
152
166
180
194
208
222
236

13
27
41
55
69
83
97
111
125
139
153
167
181
195
209
223
237

Universitas Sumatera Utara

238 239 240 241 242 243 244 245 246 247 248 249 250 251
252 253 254 255
Kemudian lakukan perhitungan nilai j dengan mengubah kunci kedalam kode ASCII
(Syuhada, 2017). Tabel kode ASCII ditunjukkan pada tabel 4.2.
Tabel 4.2 Kode ASCII
Dec
0
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

Char
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
TAB
LF
VT
FF
CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
EBT
CAN
EM
SUB
ESC
FS
GS
RS
US

Dec
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

Char
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N

Dec
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

Char
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}

Dec
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

Char
RI
SS2
SS3
DCS
PU1
PU2
STS
CCH
MW
SPA
EPA
SOS
SGCI
SCI
CSI
ST
OSC
PM
APC
Space
¡
¢
£
¤
¥
¦
§
¨
©
ª
«
¬

Dec
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

Char
¼
½
¾
¿
À
Á
Â
Ã
Ä
Å
Æ
Ç
È
É
Ê
Ë
Ì
Í
Î
Ï
Ð
Ñ
Ò
Ó
Ô
Õ
Ö
×
Ø
Ù
Ú
Û

Dec
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255

Char
ë
ì
í
î
ï
Ð
Ñ
Ò
Ó
Ô
Õ
Ö
÷
Ø
Ù
Ú
Û
Ü
Ý
Þ
Ÿ

Universitas Sumatera Utara

32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

SPACE
!
"
#
$
%
&
'
(
)
*
+
,
.

79
80
81
82
83
84
85
86
87
88
89
90
91
92
93

O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]

126
127
128
129
130
131
132
133
134
135
136
137
138
139
140

~

PAD
HOP
BPH
NBH
IND
NEL
SSA
ESA
HTS
HTJ
VTS
PLD
PLU

173
174
175
176
177
178
179
180
181
182
183
184
185
186
187

®
¯
°
±
²
³
´
µ

·
¸
¹
º
»

220
221
222
223
224
225
226
227
228
229
230
231
232
233
234

Ü
Ý
Þ
ß
à
á
â
ã
ä
å
æ
ç
è
é
ê

Selanjutnya ambil nilai ASCII dari kunci. Kunci yang digunakan pada contoh adalah
“J1”. Nilai ASCII dari kunci adalah sebagai berikut :
J = 74
1 = 49
Dengan nilai i = 0, lakukan perhitungan nilai j yang pertama. Proses perhitungan
sebagai berikut :
j= (j+S[i]+key[i mod keylength]) mod 256
j =(0+S[0]+key[0 mod 2]) mod 256
j =(0+0+74) mod 256
j = 74 mod 256 = 74
Tukarkan nilai S[0] dengan S[74], maka nilai dari S[0] = 74 dan nilai dari S[74] = 0.
Kemudian dengan nilai i = 1, lakukan perhitungan nilai j yang kedua yaitu j = 74.
Proses perhitungan sebagai berikut :
j = (j+S[i]+key[i mod keylength]) mod 256
j =(74+S[1]+key[1 mod 2]) mod 256
j =(74+1+key[1]) mod 256
j =(74+1+49) mod 256
j = (124) mod 256 = 124
Tukarkan nilai S[1] dengan S[124], maka nilai dari S[1] = 124 dan nilai dari S[74] = 1.
Nilai-nilai pada state tersebut masih bersifat sementara hingga i= 255. Nilai state

Universitas Sumatera Utara

akhir didapatkan apabila i telah mencapai nilai 255. Hasil tahap Key Scheduling
Algoritihm (KSA)berupada nilai state akhir dapat dilihat pada tabel 4.3 dimana nilai i
berada pada baris yang berwarna biru dan nilai dari S[i] berada pada baris yang
berwarna putih.
Tabel 4.3 Hasil Akhir Tahap Key Scheduling Algorithm (KSA)
0
40
14
15
28
152
42
59
56
12
70
79
84
31
98
52
112
16
126
10
140
191
154
44
168
30
182
0
196
133
210
97
224

1
124
15
78
29
2
43
206
57
227
71
84
85
236
99
179
113
5
127
198
141
253
155
214
169
26
183
215
197
102
211
220
225

2
11
16
168
30
14
44
75
58
247
72
212
86
62
100
89
114
6
128
192
142
67
156
105
170
181
184
163
198
114
212
65
226

3
91
17
234
31
157
45
254
59
211
73
184
87
47
101
38
115
237
129
108
143
93
157
235
171
143
185
142
199
106
213
27
227

4
60
18
233
32
100
46
171
60
7
74
208
88
120
102
197
116
36
130
68
144
32
158
177
172
159
186
145
200
156
214
73
228

5
6
122
4
19
20
138 232
33
34
90 207
47
48
189 55
61
62
199 53
75
76
25
56
89
90
101 119
103 104
96 228
117 118
218 115
131 132
137 149
145 146
202 166
159 160
112 255
173 174
219 221
187 188
41 190
201 202
111 146
215 216
107 217
229 230

7
80
21
46
35
129
49
153
63
140
77
150
91
252
105
139
119
182
133
224
147
51
161
117
175
23
189
165
203
238
217
178
231

8
144
22
141
36
172
50
45
64
175
78
213
92
83
106
250
120
248
134
64
148
188
162
151
176
103
190
148
204
242
218
200
232

9
222
23
201
37
28
51
98
65
24
79
109
93
239
107
154
121
187
135
49
149
158
163
160
177
29
191
94
205
81
219
131
233

10
231
24
76
38
249
52
116
66
71
80
85
94
88
108
161
122
128
136
203
150
251
164
167
178
226
192
95
206
21
220
20
234

11
35
25
223
39
113
53
18
67
123
81
17
95
22
109
69
123
66
137
8
151
13
165
240
179
37
193
126
207
136
221
255
235

12
121
26
186
40
74
54
110
68
134
82
125
96
174
110
39
124
3
138
173
152
82
166
204
180
196
194
210
208
216
222
243
236

13
183
27
77
41
33
55
155
69
63
83
169
97
99
111
48
125
170
139
92
153
1
167
230
181
34
195
193
209
9
223
87
237

Universitas Sumatera Utara

86
238
42
252
162

209
239
127
253
185

195
240
244
254
180

176
241
130
255
61

19
242
164

194
243
147

72
244
245

229
245
241

43
246
70

246
247
57

104
248
135

132
249
54

205
250
58

118
251
50

b) Tahap Pseudo Random Generation Algorithm (PGRA)
Setelah mendapatkan hasil akhir tahap Key Scheduling Algorithm (KSA) maka
selanjutnya lakukan proses enkripsi pesan. Pesan yang dienkripsi pada tahap ini
adalah hasil enkripsi pesan dari algoritma Zig-zag Cipher atau ciphertext 1, yaitu
“NDIA”. Pada tahap awal inisialisasikan nilai i = 0 dan j = 0, selanjutnya lakukan
proses sebagai berikut :


Karakter “N”

Lakukan inisialisasi pada nilai idan j sama dengan 0. Kemudian inisialisasikan a = S[i]
dan b = S[j]. Selanjutnya lakukan perhitungan nilai i, j, a, b, c dan z yang baru dengan
cara :
i

= (i + 1) mod 256

= (0 + 1) mod 256

=1

a

= S[i]

= S[1]

= 124

j

= (j + a) mod 256

= (0 + 124) mod 256 = 124

Selanjutnya tukarkan nilai S[i] dan S[j] dengan cara sebagai berikut :
= S[124]

=3

S[i] = b

= S[1]

=3

S[j] = a

= S[124]

= 124

b

=S[j]

Dari perhitungan di atas didapatkan S[1] = 3 dan S[124] = 124. Selanjutnya hitung
nilai c dengan cara :
�=����(i≪5)⊕(j≫3)� mod 256� + ���(j≪5)⊕(i≫3)� mod 256�� mod 256

�=�S��(1≪5)⊕(124≫3)� mod 256�+S��(124≪5)⊕(1≫3)� mod 256�� mod 256

� = (S[(32 ⊕ 15) mod 256] + S[(3968 ⊕ 0) mod 256]) mod 256

� = (S[(47) mod 256] + S[(3968) mod 256]) mod 256

� = (S[47] + S[128]) mod 256

� = (189+ 192) mod 256
c = 381 mod 256
c = 125

Universitas Sumatera Utara

Setelah mendapatkan nilai c, selanjutnya hitung nilai z dengan cara sebagai berikut :
�= ��S[(a+b) mod 256]+S��(c⊕ 170 ) mod 256���⊕S[(j+b) mod 256]� mod 256

�= ��S[(124+3) mod 256]+S��(125 ⊕ 170 ) mod 256���⊕S[(124+3) mod 256]�
mod 256

�= ��S[(127) mod 256]+S��(215) mod 256���⊕S[(127) mod 256]� mod 256

� =�(S[127] + S[215])⊕S[127]� mod 256

�=�(198+107)⊕ 198� mod 256

�=�(305)⊕ 198� mod 256
�=503mod 256

z=247

Lalu lakukan operasi XOR pada nilai ASCII “N” = 78 dan nilai dari z = 247 yaitu :
0100 1110
1111 0111⊕
1011 1001


= 185 10 dalam tabel ASCII merupakan karakter “¹”.

Karakter “D”

Pada tahap ini nilai i = 1 dan j = 124, maka proses perhitungan nilai i dan j baru
adalah sebagai berikut :
i

= (i + 1) mod 256

= (1 + 1) mod 256

=2

a

= S[i]

= S[2]

= 11

j

= (j + a) mod 256

= (124 + 11) mod 256 = 135

Selanjutnya tukarkan nilai S[i] dan S[j] dengan cara sebagai berikut :
= S[135]

= 49

S[i] = b

= S[2]

= 49

S[j] = a

= S[135]

= 11

b

=S[j]

Dari perhitungan di atas didapatkan S[2] = 49 dan S[135] = 11. Selanjutnya hitung
nilai c dengan cara :
�=����(i≪5)⊕(j≫3)� mod 256� + ���(j≪5)⊕(i≫3)� mod 256�� mod 256

�=�S��(2≪5)⊕(135≫3)� mod 256�+S��(135≪5)⊕(2≫3)� mod 256�� mod 256

� = (S[(64 ⊕ 16) mod 256] + S[(4320 ⊕ 0) mod 256]) mod 256

Universitas Sumatera Utara

� = (S[(80) mod 256] + S[(4320) mod 256]) mod 256

� = (S[80] + S[224]) mod 256

� = (85+ 86) mod 256

c = 171 mod 256
c = 171

Setelah mendapatkan nilai c, selanjutnya hitung nilai z dengan cara sebagai berikut :
�= ��S[(a+b) mod 256]+S��(c⊕ 170 ) mod 256���⊕S[(j+b) mod 256]� mod 256

�= ��S[(11+49) mod 256]+S��(171 ⊕ 170 ) mod 256���⊕S[(135+49) mod 256]�
mod 256

�= ��S[(60) mod 256]+S��(1) mod 256���⊕S[(184) mod 256]� mod 256

� =�(S[60] + S[1])⊕S[184]� mod 256
�=�(7+3)⊕ 163� mod 256

�=�(10)⊕ 163� mod 256
�=169mod 256

z=169

Lalu lakukan operasi XOR pada nilai ASCII “D” = 68 dan nilai dari z = 169 yaitu :
0100 0100
1010 1001 ⊕
1110 1101


= 237 10 dalam tabel ASCII merupakan karakter “í”.

Karakter “I”

Pada tahap ini nilai i = 2 dan j = 135, maka proses perhitungan nilai i dan j baru
adalah sebagai berikut :
i

= (i + 1) mod 256

= (2 + 1) mod 256

=3

a

= S[i]

= S[3]

= 91

j

= (j + a) mod 256

= (135 + 91) mod 256 = 226

Selanjutnya tukarkan nilai S[i] dan S[j] dengan cara sebagai berikut :
= S[226]

= 195

S[i] = b

= S[3]

= 195

S[j] = a

= S[226]

= 91

b

=S[j]

Universitas Sumatera Utara

Dari perhitungan di atas didapatkan S[3] = 195 dan S[226] = 91. Selanjutnya hitung
nilai c dengan cara :
�=����(i≪5)⊕(j≫3)� mod 256� + ���(j≪5)⊕(i≫3)� mod 256�� mod 256

�=�S��(3≪5)⊕(226≫3)� mod 256�+S��(226≪5)⊕(3≫3)� mod 256�� mod 256
� = (S[(96 ⊕ 28) mod 256] + S[(7232 ⊕ 0) mod 256]) mod 256

� = (S[(124) mod 256] + S[(7232) mod 256]) mod 256

� = (S[124] + S[64]) mod 256

� = (124+ 175) mod 256
c = 299 mod 256
c = 43

Setelah mendapatkan nilai c, selanjutnya hitung nilai z dengan cara sebagai berikut :
�= ��S[(a+b) mod 256]+S��(c⊕ 170 ) mod 256���⊕S[(j+b) mod 256]� mod 256

�= ��S[(91+195) mod 256]+S��(43 ⊕ 170 ) mod 256���⊕S[(226+195) mod 256]�
mod 256

�= ��S[(286) mod 256]+S��(129) mod 256���⊕S[(421) mod 256]� mod 256

� =�(S[30] + S[129])⊕S[165]� mod 256
�=�(14 + 108)⊕ 240� mod 256
�=�(122)⊕ 240� mod 256

�=138mod 256

z=138

Lalu lakukan operasi XOR pada nilai ASCII “I” = 73 dan nilai dari z = 138 yaitu :
0100 1001
1000 1010 ⊕
1100 0011


= 195 10 dalam tabel ASCII merupakan karakter “Ô.

Karakter “A”

Pada tahap ini nilai i = 3 dan j = 226, maka proses perhitungan nilai i dan j baru
adalah sebagai berikut :
i

= (i + 1) mod 256

= (3 + 1) mod 256

=4

a

= S[i]

= S[4]

= 60

j

= (j + a) mod 256

= (226 + 60) mod 256 = 286 mod 256 = 30

Universitas Sumatera Utara

Selanjutnya tukarkan nilai S[i] dan S[j] dengan cara sebagai berikut :
= S[30]

= 14

S[i] = b

= S[4]

= 14

S[j] = a

= S[30]

= 60

b

=S[j]

Dari perhitungan di atas didapatkan S[4] = 14 dan S[30] = 60. Selanjutnya hitung nilai
c dengan cara :
�=����(i≪5)⊕(j≫3)� mod 256� + ���(j≪5)⊕(i≫3)� mod 256�� mod 256

�=�S��(4≪5)⊕(30≫3)� mod 256�+S��(30≪5)⊕(4≫3)� mod 256�� mod 256

� = (S[(128 ⊕ 3) mod 256] + S[(960 ⊕ 0) mod 256]) mod 256

� = (S[(131) mod 256] + S[(960) mod 256]) mod 256

� = (S[131] + S[192]) mod 256

� = (137+ 95) mod 256
c = 232 mod 256
c = 232

Setelah mendapatkan nilai c, selanjutnya hitung nilai z dengan cara sebagai berikut :
�= ��S[(a+b) mod 256]+S��(c⊕ 170 ) mod 256���⊕S[(j+b) mod 256]� mod 256

�= ��S[(60+14) mod 256]+S��(232 ⊕ 170 ) mod 256���⊕S[(30+14) mod 256]�
mod 256

�= ��S[(74) mod 256]+S��(66) mod 256���⊕S[(44) mod 256]� mod 256

� =�(S[74] + S[66])⊕S[44]� mod 256
�=�(208 + 71)⊕ 75� mod 256
�=�(279)⊕ 75� mod 256

�=348mod 256

z=92

Lalu lakukan operasi XOR pada nilai ASCII “A” = 65 dan nilai dari z = 92 yaitu :
0100 0001
0101 1100 ⊕
0001 1101

= 29 10 dalam tabel ASCII merupakan karakter “GS” tetapi pada

tabel ASCII program karakter “GS” diubah menjadi “Ċ”.
Ciphertext yang di dapat setelah perhitungan manual adalah “¹íÃĊ”. Ciphertext yang
dihasilkan dari proses tersebut adalah ciphertext 2 dimana nilai ciphertext tersebut

Universitas Sumatera Utara

sama dengan ciphertext pada proses perhitungan dengan program. Sehingga dengan
demikian dapat disimpulkan bahwa untuk proses enkripsi pada program sudah
berhasil diterapkan dan berjalan dengan baik. Adapun larik S atau State pada akhir
proses ditunjukkan pada tabel 4.4 dimana nilai i berada pada baris yang berwarna biru
dan nilai dari S[i] berada pada baris yang berwarna putih.
Tabel 4.4 Nilai Larik State Akhir Perhitungan
0
40
14
15
28
152
42
59
56
12
70
79
84
31
98
52
112
16
126
10
140
191
154
44
168
30
182
0
196
133
210

1
3
15
78
29
2
43
206
57
227
71
84
85
236
99
179
113
5
127
198
141
253
155
214
169
26
183
215
197
102
211

2
49
16
168
30
60
44
75
58
247
72
212
86
62
100
89
114
6
128
192
142
67
156
105
170
181
184
163
198
114
212

3
195
17
234
31
157
45
254
59
211
73
184
87
47
101
38
115
237
129
108
143
93
157
235
171
143
185
142
199
106
213

4
14
18
233
32
100
46
171
60
7
74
208
88
120
102
197
116
36
130
68
144
32
158
177
172
159
186
145
200
156
214

5
6
122
4
19
20
138 232
33
34
90 207
47
48
189 55
61
62
199 53
75
76
25
56
89
90
101 119
103 104
96 228
117 118
218 115
131 132
137 149
145 146
202 166
159 160
112 255
173 174
219 221
187 188
41 190
201 202
111 146
215 216

7
80
21
46
35
129
49
153
63
140
77
150
91
252
105
139
119
182
133
224
147
51
161
117
175
23
189
165
203
238
217

8
144
22
141
36
172
50
45
64
175
78
213
92
83
106
250
120
248
134
64
148
188
162
151
176
103
190
148
204
242
218

9
222
23
201
37
28
51
98
65
24
79
109
93
239
107
154
121
187
135
11
149
158
163
160
177
29
191
94
205
81
219

10
231
24
76
38
249
52
116
66
71
80
85
94
88
108
161
122
128
136
203
150
251
164
167
178
226
192
95
206
21
220

11
35
25
223
39
113
53
18
67
123
81
17
95
22
109
69
123
66
137
8
151
13
165
240
179
37
193
126
207
136
221

12
121
26
186
40
74
54
110
68
134
82
125
96
174
110
39
124
124
138
173
152
82
166
204
180
196
194
210
208
216
222

13
183
27
77
41
33
55
155
69
63
83
169
97
99
111
48
125
170
139
92
153
1
167
230
181
34
195
193
209
9
223

Universitas Sumatera Utara

97
224
86
238
42
252
162

220
225
209
239
127
253
185

65
226
91
240
244
254
180

27
227
176
241
130
255
61

73
228
19
242
164

107
229
194
243
147

217
230
72
244
245

178
231
229
245
241

200
232
43
246
70

131
233
246
247
57

20
234
104
248
135

255
235
132
249
54

243
236
205
250
58

87
237
118
251
50

4.2.2. Pengujian Hasil Dekripsi Algoritma Zig-zag Cipher dan Algoritma RC4+
Cipher
a. Pengujian Hasil Dekripsi Dengan Sistem
Proses dekripsi dimulai dengan melakukan dekripsi pada ciphertext kedua (ciphertext
2) oleh algoritma RC4+ Cipher dan akan menghasilkan ciphertext pertama (ciphertext
1). Kemudian ciphertext 1 tersebut akan didekripsi lagi dengan algoritma Zig-zag
Cipher sehingga menghasilkan plaintext awal. Penulis akan melakukan pengujian
sistem proses dekripsi dengan kriteria contoh sebagai berikut :
1. Pesan yang akan didekripsi dengan menginputkan file hasil enkripsi
sebelumnya, dengan nama file enkripsi.inda yang mempunyai ciphertext pada
ASCII 185 10 , 237 10 , 195 10 , dan 29 10 .
2. Kunci RC4+ Cipher yang akan digunakan adalah “J1”.
3. Kunci Zig-zag Cipher yang akan digunakan adalah “2 1” dengan metode
transposisi kolom.
4. File dekripsiakan disimpan dengan nama “hasil dekripsi.doc”.
Setelah kriteria contoh tersebut telah dilakukan, maka tampilan pengujian

Universitas Sumatera Utara

proses enkripsi dapat dilihat pada gambar 4.8.
Gambar 4.8 Tampilan Pengujian Proses Dekripsi
Isi dari file enkripsi.inda adalah ciphertext yang didapatkan dari proses
enkripsi sebelumnya. Kemudian kunci yang digunakan oleh kedua algoritma pada
proses dekripsi harus sama dengan kunci yang digunakan pada proses enkripsi. Kedua
kunci tersebut akan tersimpan secara otomatis pada file yang bernama enkripsia.dat.
Tidak hanya kunci tetapi metode transposisi Zig-zag Cipher yang digunakan juga
harus sama pada proses enkripsi dan dekripsi. Metode transposisi tersebut juga
tersimpan secara otomatis pada file berekstensi a.dat.
Pada gambar 4.8 dapat dilihat bahwa proses dekripsi dilakukan terlebih dahulu
oleh algoritma RC4+ Cipher. Ciphertext 2 akan didekripsi dengan kunci “J1” oleh
algortima RC4+ Cipher menghasilkan ciphertext 1, yaitu “NDIA”. Selanjutnya
ciphertext 1 tersebut akan didekripsi denga