• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISIS DAN PERANCANGAN"

Copied!
49
0
0

Teks penuh

(1)

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Analisis sistem (systems analysis) adalah tahapan penelitian terhadap sistem untuk pemecahan masalah dimana sistem diuraikan kedalam bagian-bagian komponennya dengan tujuan untuk mempelajari kinerja masing-masing komponen tersebut dalam mencapai tujuan sistem (Whitten & Bentley, 2007). Analisis sistem juga mempelajari baik atau tidaknya bagian-bagian komponen tersebut bekerja dan saling berinteraksi untuk mencapai tujuan sistem (Fatta, 2007).

3.1.1 Analisis Masalah

Pada tahap analisis masalah akan diidentifikasi penyebab dari masalah yang akan diselesaikan oleh sistem. Masalah-masalah yang diperoleh tersebut kemudian digambarkan dalam sebuah diagram yang dikenal dengan sebutan Diagram Ishikawa atau disebut juga Fishbone Diagram. Diagram ini merupakan diagram yang banyak digunakan oleh para analis sistem untuk mengidentifikasi, menganalisa dan memecahkan masalah (Whitten & Bentley, 2007).

Diagram Ishikawa berbentuk seperti ikan yang strukturnya terdiri dari kepala ikan (fish’s head) dan tulang-tulang ikan (fish’s bones). Kepala ikan berisi nama atau judul dari masalah yang diidentifikasi. Sedangkan tulang-tulang ikan menunjukkan dampak dari permasalahan dengan berbagai penyebabanya (Whitten & Bentley, 2007). Diagram Ishikawa untuk masalah ini dapat dilihat pada gambar 3.1.

(2)

Gambar 3.1 Diagram Ishikawa Masalah Penelitian

Pada gambar 3.1 dapat dilihat bahwa masalah utama yang muncul pada segi empat paling kanan (kepala ikan) berkaitan dengan pengiriman dan penerimaan pesan yang bersifat aman dan rahasia.

Pada gambar 3.1 juga dapat dilihat bahwa terdapat empat kategori penyebab masalah pada penelitian Implementasi Kombinasi Algoritma Kriptografi Klasik dan Algoritma Kriptografi Modern dalam Skema Super Enkripsi yang digambarkan dengan tanda panah yang mengarah ke tulang utama, yaitu berkaitan dengan pengguna, media/alat yang terlibat atau material, metode dan mesin. Setiap detail penyebab masalah tersebut digambarkan dengan tanda panah yang mengarah ke masing-masing kategori.

Oleh karena itu dibutuhkan algoritma kriptografi yang dapat mengamankan pesan selama proses pengiriman berlangsung. Algoritma kriptografi merupakan langkah-langkah logis bagaimana menyembunyikan pesan agar aman sehingga terhindar dari orang-orang yang tidak berhak atas pesan yang dikirim tersebut (Ariyus, 2008).

Belum adanya aplikasi desktop yangmengkombinasikan algoritma kriptografi klasik dan kriptografi modern yang dipilih Pesan dan kunci dapat disadap oleh pihak ketiga pada saat pengiriman pesan

kurang amannya media pertukaran informasi antara pengirim dan penerima

Material

Algoritma kriptografi klasik yang mudah di kriptanalis.

Metode Mesin

Mengamankan pesan dan kunci yang akan dikirim dengan penyandian isi pesan secara rahasia dan aman. Pengguna

(3)

Algoritma kriptografi terdiri dari tiga fungsi dasar yaitu (Ariyus, 2008) :

1. Enkripsi merupakan proses pengamanan data yang dikirimkan oleh pengirim pesan agar pesan tersebut terjaga kerahasiannya. Pesan asli disebut plaintext kemudian pesan tersebut diubah menjadi kode-kode yang tidak dimengerti atau yang sering disebut dengan ciphertext. Untuk mengubah plaintext menjadi ciphertext maka diperlukan algoritma yang dapat mengubah plaintext menjadi ciphertext.

2. Dekripsimerupakan kebalikan dari proses enkripsidimana pesan yang telah di enkripsi kemudian dikembalikan kebentuk aslinya.

3. Kunci merupakan suatu informasi yang mengendalikan jalannya sebuah algoritma kriptografi yang mentransformasikan plaintext menjadi ciphertext ataupun sebaliknya.

3.1.2 Analisis Kebutuhan

Tahap analisis kebutuhan dilakukan setelah tahap analisis masalah. Tahap ini bertujuan untuk mengumpulkan informasi,model,dan spesifikasi tentang perangkat lunak yang diinginkan oleh pengguna(Simarmata, 2010). Analisis kebutuhan terbagi menjadi dua yaitu kebutuhan fungsional dan kebutuhan nonfungsional. Kebutuhan fungsional menjelaskan tentang aktivitas yang disediakan oleh sistem. Sedangkan kebutuhan nonfungsional menjelaskan tentang fitur, karakteristik, dan batasan lainnya (Whitten, 2004).

a. Kebutuhan Fungsional

Kebutuhan fungsional merupakan jenis kebutuhan yang berkaitan dengan proses yang akan dikerjakan oleh sistem dan juga berisi informasi tentang apa saja yang harus ada dan dihasilkan oleh sistem(Al Fatta, 2007). Kebutuhan fungsionaldari sistem yang mengimplementasikan kombinasi algoritma Beaufort dan Spritz dalam skema Super Enkripsiadalah sebagai berikut:

1. Menerima input plaintext

Sistem mencari dan membaca file yang berekstensi .docdan .pdfyang tersimpan pada perangkat yang digunakan. atau sistem menerima input plaintext dari pengguna secara manual. Sistem hanya membaca file berupa teks, tidak membaca gambar maupun tabel.

(4)

2. Menerima input kunci

Sistem menerima input kunci yang berasal dari pengguna atau sistem membangkitkan kunci secara acak untuk digunakan sebagai kunci Algoritma Beaufortdan Algoritma Spritz.

3. Mengenkripsi pesan

Sistem mengenkripsi pesan dengan menggunakan kunci Algoritma Beaufort kemudian menghasilkan ciphertext 1untuk pengguna pertama kemudian ciphertext yang didapat sebelumnya dienkripsi lagi dengan menggunakan kunci Algoritma Spritz dan menghasilkan ciphertext 2 untuk pengguna kedua. 4. Menyimpan hasil enkripsi pesan

Sistem akan menyimpan pesan yang telah dienkripsi sebelumnya. Setelah itu sistem akan membaca pesan yang disimpan tersebut untuk melakukan proses dekripsi.

5. Mendekripsi pesan

Sistem mendekripsi pesan dengan menggunakan kunci Algoritma Spritz kemudian menghasilkan ciphertext 1untuk pengguna pertama kemudian ciphertext yang didapat sebelumnya didekripsi lagi dengan menggunakan kunci Algoritma Beaufort dan menghasilkan plaintext untuk pengguna kedua.

b. Kebutuhan Nonfungsional

Kebutuhan nonfungsional berisi tentang perilaku yang dimiliki oleh sistem seperti operasional, kinerja, platform sistem, hukum, termasuk juga politik dan budaya (Al Fatta, 2007). Kebutuhan nonfungsionaldari sistem yang mengimplementasikan kombinasi algoritma Beaufort dan Spritz dalam skema Super Enkripsi adalah sebagai berikut:

1. Dokumentasi

Sistem yang akan dibangun memiliki panduan penggunaan sehingga pengguna dapat menggunakan sesuai panduan.

2. Cost Reduction

Sistem dibangun bersifat open sourceyang dapat digunakan dan disebarluaskan dengan bebas.

(5)

3. Pengendalian

Sistem yang akan dibangun akan menampilkan pesan error untuk setiap masukkan yang tidak sesuai.

4. Kinerja

Sistem melakukan proses enkripsi dan dekripsi pesan dengan waktu yang relatif singkat.

5. User Friendly

Sistem menggunakan tampilan yang mudah digunakan dan dipelajari.

3.1.3 Arsitektur Umum Sistem

Arsitektur umum sistem merupakan skema perancangan sistem yang mendekripsikan alur sistem secara keseluruhan. Arsitektur umum sistem juga dapat menjadi pedoman untuk pembuatan pemodelan sistem. Arsitektur umum sistem dapat dilihat pada gambar 3.2.

Gambar 3.2 Arsitekur Umum Sistem

Dapat dilihat pada gambar 3.2 menjelaskan bahwa proses enkripsi antara plaintext dan kunci algoritma Beaufort yang dilakukan oleh pengirim pesan akan menghasilkan ciphertext 1.Selanjutnya pengirim pesan akan melakukan proses enkripsi antara ciphertext 1 yang dihasilkan dengan kunci algoritmaSpritz yang kemudian menghasilkan ciphertext 2. Proses selanjutnya adalah proses dekripsi oleh penerima pesan antara ciphertext 2 dengan kunci algoritma Spritz yang menghasilkan kembali ciphertext 1. Proses yang terakhir adalah proses dekripsi yang dilakukan oleh

(6)

penerima pesan antara ciphertext 1 dengankunci algoritma Beaufort yang menghasilkan plaintextsemula yang dikirimkan oleh pengirim pesan.

3.1.4 Pemodelan Sistem

Pemodelan sistem ini menggunakan diagram UML (Unified Modelling Language) untuk menggambarkan bagaimana sistem akan bekerja khususnya sistem yang berorientasi objek. Diagram UML yang digunakan adalah Use Case Diagram, Activity Diagram dan Sequence Diagram.

a. Use Case Diagram

Diagram use case mendekripsikan sebuah interaksi antara satu atau lebih pengguna dengan sistem yang akan dibuat. Diagram ini menggambarkan kebutuhan fungsional yang telah dirincikan sebelumnya. Diagram use case untuk kebutuhan fungsional dapat dilihat pada gambar 3.3.

Gambar 3.3 Diagram Use Case

Gambar 3.3 menggambarkan diagram use case. Sistem digunakan oleh dua orang aktor yaitu pengirim dan penerima. Pengirim dapat melakukan proses enkripsi yang di dalam nya meliputi proses input file, input kunci, enkripsi algoritma Beaufort,

(7)

penerima dapat melakukan proses dekripsi yang didalam nya meliputi proses input file yang telah di enkripsi dan disimpan sebelumnya, input kunci, dekripsi algoritma Spritz serta dekripsi algoritma Beaufort.

b. Activity Diagram

Activity Diagram menggambarkan alir aktivitas antara pengguna dan sistem yang dibuat secara detail dan berurut sesuai dengan interaksi antara pengguna dan sistem yang akan dibangun.

(8)

Gambar 3.4 Activity Diagram untuk Proses Enkripsi

Pada gambar 3.4 terdapat 2 kotak dimana kotak paling kiri pada gambar menunjukkan aktivitas yang dilakukan oleh pengirim pesan, sedangkan kotak sebelah

(9)

kanan adalah respon yang diberikan sistem terhadap aktivitas yang dilakukan pengirim pesan terhadap sistem.

Gambar 3.5 Activity Diagram untuk Proses Dekripsi

Pada gambar 3.5 terdapat 2 kotak dimana kotak paling kiri pada gambar menunjukkan aktivitas yang dilakukan oleh penerima pesan, sedangkan kotak sebelah kanan adalah respon yang diberikan sistem terhadap aktivitas yang dilakukan penerima pesan terhadap sistem.

c. Sequence Diagram

Sequencediagram merupakan diagram yang memperlihatkan atau menampilkan interaksi-interaksi antar objek di dalam sistem yang disusun pada sebuah urutan atau rangkaian waktu.

(10)

Gambar 3.6 Sequence Diagram untuk Proses Enkripsi

Pada gambar 3.6 dapat dilihat interaksi antara sistem dengan pengirim pesan secara berurutan. Aksi pengirim pesan terhadap sistem ditunjukkan dengan tanda panah garis penuh, sedangkan respon sistem terhadap pengirim pesan ditunjukkan dengan tanda panah garis putus-putus.

(11)

Pada gambar 3.7 dapat dilihat interaksi antara sistem dengan penerima pesan secara berurutan. Aksi penerima pesan terhadap sistem ditunjukkan dengan tanda panah garis penuh, sedangkan respon sistem terhadap penerima pesan ditunjukkan dengan tanda panah garis putus-putus.

3.1.5 Flowchart

a. Flowchart Sistem

(12)

Flowchart sistem menunjukkan alur kerja sistem secara sistematis digambarkan pada gambar 3.8. Secara umum, sistem memiliki empat halaman utama yang dapat dipilih oleh pengguna, yaitu halaman tentang yang menjelaskan tentang algoritma yang digunakan serta metode super enkripsi, halaman enkripsi digunakan untuk proses enkripsi kedua algoritma, halaman dekripsi digunakan untuk proses dekripsi kedua algoritma dan halaman petunjuk menjelaskan bagaimana cara menggunakan aplikasi.

b. Flowchart Algoritma Beaufort

Gambar 3.9 Flowchart Algoritma Beaufort

Pada gambar 3.9 menunjukkan diagram alir algoritma Beaufort. Gambar tersebut menunjukkan bahwa proses enkripsi dimulai dengan input plaintext dan kunci Beaufort kemudian plaintext dan kunci tersebut diproses dengan fungsi enkripsi Beaufort, dimana dari hasil enkripsi tersebut diperoleh ciphertext. Proses selanjutnya pendekripsian ciphertext dengan fungsi dekripsi untuk mendapatkan plaintext awal.

(13)

c. Flowchart Algoritma Spritz

Gambar 3.10 Flowchart Algoritma Spritz

Pada gambar 3.10 dapat dilihat bagaimana algoritma spritz akan bekerja. Pada bagian flowchart sebelah kiri terdapat dua kali perulangan dimana kedua perulangan ini merupakan proses Key SchedulingAlgorithm(KSA) sedang bagian kanan merupakan bagian dari Pseudo-Random Generation Algorithm(PRGA). Pada algoritma spritz, flowchart yang digunakan untuk enkripsi maupun dekripsi adalah sama.

3.2 Perancangan Antarmuka

Proses perancangan antarmuka sistem merupakan hal yang sangat penting karena berpengaruh pada saat pengguna menggunakan sistem atau berkomunikasi dengan sistem. Apabila suatu sistem menggunakan perancangan antarmuka yang sulit untuk dimengerti pengguna, maka pengguna akan melakukan kesalahan pada saat menjalankan sistem tersebut. Sehingga diperlukan perancangan yang sederhana dan efisien sehingga pengguna tidak sulit pada saat menjalanka sistem. Sistem dirancang memiliki lima bagian utama, yaitu halaman awal, tentang, enkripsi, dekripsi dan petunjuk.

(14)

a. Halaman Awal

Halaman awal adalah halaman yang pertama kali muncul saat sistem dijalankan. Halaman ini berisi nama sistem, nama dan nim pembuat sistem, logo universitas, nama fakultas dan sebuah tombol untuk masuk ke dalam sistem. Halaman awal ini dapat dilihat pada gambar 3.11.

Gambar 3.11 Perancangan Antarmuka Halaman Awal Keterangan gambar:

1. Label digunakan untuk judul sistem.

2. Label digunakan untuk identitas nama dan nim 3. Picturebox digunakan untuk logo universitas.

4. Label digunakan untuk nama fakultas dan program studi 5. Button digunakan untuk masuk ke dalam sistem.

1

5 2

3

(15)

b. Halaman Tentang

Halaman tentang berisi penjelasan mengenai algoritma Beaufort dan Spritz serta mekanisme Super Enkripsi. Halaman teori singkat dapat dilihat pada gambar 3.12.

Gambar 3.12 Perancangan Antarmuka Halaman Tentang Keterangan gambar:

1. TabControl berfungsi untuk menunjukkan halaman-halaman yang tersedia pada sistem.

2. Label digunakan untuk judul Tentang Aplikasi.

3. Rich Text Box digunakan untuk menjelaskan tentang kegunaan aplikasi. 4. Label digunakan untuk judul Tentang Algoritma.

5. Rich Text Box digunakan untuk menjelaskan tentang algoritma yang digunakan.

6. Label digunakan untuk judul TentangMetode.

7. Rich Text Box digunakan untuk menjelaskan tentang metode yang digunakan.

Tentan Enkrips Dekrips

Tentang Aplikasi 2 3

Petunju 1

Tentang Algoritma 4 Tentang Metode 5

6

(16)

c. Halaman Enkripsi

Halaman enkripsi merupakan halaman yang digunakan untuk melakukan proses enkripsi pesan dengan menggunakan algoritma Beaufort dan Spritz yang diimplementasikan pada mekanismeSuper Enkripsi. Gambar 3.13 merupakan rancangan antarmuka halaman enkripsi.

Gambar 3.13 Perancangan Antarmuka Halaman Enkripsi

Keterangan gambar:

1. TabControl berfungsi untuk menunjukkan halaman-halaman yang tersedia pada sistem.

2. Label digunakan untuk tulisan masukkan file.

3. Textbox digunakan untuk menampilkan nama file yang digunakan untuk proses enkripsi.

Tentang Enkripsi Dekrips Petunju

Masukkan File : Car

Buka Hitung Enkripsi Beaufort Enkripsi Acak Kunci Enkripsi Acak Kunci Simpan 2 3 4 5 6 7 8 9 1 12 15 16 17 Enkripsi Spritz 14 19 1 10 13 18 20 Reset ms ms 21 22

(17)

5. Rich Text Box digunakan untuk menampilkan isi file yang digunakan atau input plaintext secara manual.

6. Text Box digunakan untuk menampilkan jumlah karakter(plaintext) pada file. 7. Button digunakna untuk membuka file yang akan digunakan.

8. Buttondigunakan untuk menghitung jumlah karakter yang digunakan. 9. Label digunakan untuk menunjukkan proses enkripsi Beaufort. 10. Rich Text Box untuk menampung kunci Beaufort.

11. Button digunakan untuk mengacak kunci Beaufort.

12. Button digunakan untuk memulai proses enkripsi dengan algoritma Beaufort. 13. Rich Text Box untuk menampung karakter hasil enkripsi algoritma Beaufort. 14. Label digunakan untuk menunjukkan proses enkripsi Spritz.

15. Rich Text Box untuk menampung kunci Spritz. 16. Button digunakan untuk mengacak kunci Spritz.

17. Button digunakan untuk memulai proses enkripsi algoritmaSpritz.

18. Rich Text Box untuk menampung karakter hasil enkripsi dengan algoritmaSpritz.

19. Button digunakan untuk menyimpan hasil enkripsi.

20. Button digunakan untuk mereset kembali halaman enkripsi.

21. Textbox digunakan untuk menampilkan waktu proses ketikamembaca isi file yang digunakan.

22. Textbox digunakan untuk menampilkan waktu proses enkripsi.

d. Halaman Dekripsi

Halaman dekripsi merupakan halaman yang digunakan untuk melakukan proses dekripsi pesan dengan menggunakan algoritma Beaufort dan Spritz yang diimplementasikan pada mekanismeSuper Enkripsi. Gambar 3.14 merupakan rancangan antarmuka halaman dekripsi

(18)

Gambar 3.14 Perancangan Antarmuka Halaman Dekripsi

Keterangan gambar:

1. TabControl berfungsi untuk menunjukkan halaman-halaman yang tersedia pada sistem.

2. Label digunakan untuk tulisan masukkan file.

3. Textbox digunakan untuk menampilkan nama file yang digunakan untuk proses enkripsi.

4. Button digunakan untuk mencari file yang akan digunakan.

5. Rich Text Box digunakan untuk menampilkan isi file yang digunakan atau input plaintext secara manual.

6. Text Box digunakan untuk menampilkan jumlah karakter(plaintext) pada file. 7. Button digunakna untuk membuka file yang akan digunakan.

8. Buttondigunakan untuk menghitung jumlah karakter yang digunakan.

Tentang Enkripsi Dekrips Petunju

Masukkan File : Car

Buka Hitung Dekripsi Spritz Dekripsi Dekripsi Reset Dekripsi Beaufort 1 2 3 4 5 6 7 8 10 11 14 15 9 13 17 12 16

(19)

10. Rich Text Box untuk menampung kunci Spritz.

11. Button digunakan untuk memulai proses dekripsi dengan algoritma Spritz. 12. Rich Text Box untuk menampung karakter hasil dekripsi algoritma Spritz. 13. Label digunakan untuk menunjukkan proses dekripsi Beaufort.

14. Rich Text Box untuk menampung kunci Beaufort.

15. Button digunakan untuk memulai proses dekripsi algoritmaBeaufort.

16. Rich Text Box untuk menampung karakter hasil dekripsi dengan algoritmaBeaufort.

17. Button digunakan untuk mereset kembali halaman dekripsi.

e. Halaman Petunjuk

Halaman petunjuk memberikan petunjuk bagaimana menggunakan sistem ini. Gambar 3.12 merupakan rancangan antarmuka halaman tentang sistem.

(20)

Keterangan gambar:

1. TabControl berfungsi untuk menunjukkan halaman-halaman yang tersedia pada sistem.

2. Label berfungsi untuk tulisan petunjuk aplikasi.

3. Rich Text Box berfungsi untuk menampilkan informasi petunjuk bagimana menjalankan proses enkripsi.

4. Rich Text Box berfungsi untuk menampilkan informasi petunjuk bagimana menjalankan proses dekripsi.

(21)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem

Implementasi sistem merupakan tahapan yang dilakukan setelah melewati tahapan analisis dan perancangan.Setelah melewati proses analisis dan perancangan maka selanjutnya sistem dapat di implementasikan sesuai dengan apa yang telah dianalisis dan dirancang sebelumnya. Sistem ini berbasis desktop dan dirancang menggunakan bahasa C#. Pada sistem ini terdapat lima halaman, yaitu: halaman awal, halaman tentang, halaman enkripsi, halaman dekripsi, halaman petunjuk.

4.1.1 Tampilan Halaman Awal

Tampilan halaman awal merupakan halaman yang pertama kali muncul saat sistem dijalankan. Halaman ini berisi nama sistem, nama dan nim pembuat sistem, logo universitas, nama fakultas. Tampilan halaman awal dapat dilihat pada gambar 4.1.

(22)

Gambar 4.1 Tampilan Halaman Awal

Pada gambar 4.1 dapat dilihat tampilan halaman awal dimana untuk masuk ke halaman selanjutnya harus menekan tombol masuk.

(23)

Dapat dilihat pada gambar 4.2 berisi penjelasan teori singkat mengenai algoritma Beaufort, algoritma Spritz serta metode yang digunakan untuk pengkombinasian kedua algoritma tersebut yaitu metode Super Enkripsi.

4.1.3 Tampilan Halaman Enkripsi

Gambar 4.3 Tampilan Halaman Enkripsi

Pada Gambar 4.3 menunjukkan form untuk proses enkripsi dimana terdapat proses untuk menginputkan file kemudian buka file untuk membaca isi dari file yang telah diinputkan dan terdapat textbox untuk menampilkan waktu proses membaca isi file kemudian terdapat textbox untuk memasukkan kunci, baik kunci algoritma beaufort maupun algoritma spritz selanjutnya terdapat tombol enkripsi dimana jika menekan tombol enkripsi maka terjadi proses pengenkripsian antara plaintext atau ciphertext dengan kunci dan terdapat textbox untuk menghitung waktu proses enkripsi kedua algoritma serta terdapat tombol simpan untuk menyimpan hasil enkripsi.

(24)

4.1.4 Tampilan Halaman Dekripsi

Gambar 4.4 Tampilan Halaman Dekripsi

Pada Gambar 4.4 menunjukkan form untuk proses dekripsi dimana terdapat tombol cari, yaitu untuk menginputkan file yang telah dienkripsi dan disimpan sebelumnya. Kemudian ketika menekan tombol buka file maka otomatis hasil enkripsi sebelumnya dan kunci yang sama pada kedua algoritma yang telah digunakan dan disimpan sebelumnya akan muncul di textbox. Kemudian jika menekan tombol dekripsi maka akan terjadi proses dekripsi antara ciphertext dengan kunci kemudian akan menghasilkan plaintext seperti semula.

4.1.5 Tampilan Halaman Petunjuk

Halaman Petunjuk berisikan panduan singkat dalam melakukan proses enkripsi dan dekripsi menggunakan algoritma Beaufort dan algoritma Spritz dalam skema super enkripsi. Tampilan halaman Petunjuk dapat dilihat pada gambar 4.5.

(25)

Gambar 4.5 Tampilan Halaman Petunjuk 4.2 Pengujian

Pengujian sistem dilakukan untuk membuktikan bahwa sistem yang dibangun berjalan dengan baik serta sesuai dengan analisis dan perancangan sistem yang telah dibuat sebelumnya. Sistem ini dibangun menggunakan bahasa C#. Pada tahap ini, penulis melakukan pengujian dengan cara membandingkan hasil dari proses enkripsi dan dekripsi yang dilakukan oleh sistem dengan perhitungan manual yang dilakukan penulis.

4.2.1 Pengujian Hasil Enkripsi

4.2.1.1 Pengujian Hasil Enkripsi Pada Sistem

Pengujian enkripsi antara plaintext dan kunci algoritma Beaufort akan menghasilkan ciphertext 1 dan ciphertext 1 dienkripsi dengan kunci dari algoritma Spritz akan menghasilkan ciphertext2. Pengujian dimulai dengan melakukan input karakter melalui file berekstensi .doc atau .pdf dan dapat juga melakukan input langsung melalui textbox yang tersedia. Selanjutnya pengguna menginputkan kunci untuk algoritma Beaufort atau menekan tombol acak kunci . Setelah itu tekan tombol enkripsi maka sistem akan melakukan proses enkripsi untuk algoritma Beaufort.

(26)

Proses yang sama juga berlaku untuk enkripsi algoritma Spritz. Penulis akan melakukan pengujian dengan contoh sebagai berikut :

1. Plaintext yang akan dienkripsi yaitu “tia”.

2. Kunci yang digunakan pada algoritma Beaufort yaitu “ini”. 3. Kunci yang digunakan pada algoritma Spritz “itu”.

Gambar 4.6 Hasil Enkripsi

Pada gambar 4.6 menunjukkan bahwa enkripsi antara plaintext dan kunci algoritma Beaufort menghasilkan ciphertext 1 yaitu “_FI” dan hasil enkripsi antara ciphertext 1 dengan kunci algoritma Spritz menghasilkan ciphertext 2 yaitu “m@>”.

4.2.1.2 Pengujian Hasil Enkripsi dengan Perhitungan Manual 1. Enkripsi Algoritma Beaufort

Proses enkripsi yang pertama dilakukan dengan menggunakan algoritma Beaufort. Plaintext yang diinputkan dienkripsi dengan menggunakan kunci algoritma Beaufort. Proses ini menghasilkan ciphertext 1.

(27)

Tabel 4.1 Hasil Enkripsi Algoritma Beaufort

Pada tabel 4.1 menunjukkan bahwa hasil pengujian perhitungan manual dengan pengujian oleh sistem menghasilkan enkripsi yang sama yaitu “_FI” dengan cara melakukan operasi pengurangan indeks kunci dengan indeks plaintext sehingga menghasilkan indeks ciphertext 1. Untuk melihat urutan indeks karakter dapat dilihat pada tabel 2.2.

2. Enkripsi Algoritma Spritz

2.1 Tahap Key Scheduling Algorithm (KSA)

Langkah key scheduling dimulai dengan menginisialisasikan state awal berupa larik yang terdiri dari 256 elemen. larik state awal berbentuk seperti tabel 4.2.

Tabel 4.2 Larik S awal

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

Plaintext (Pi) Kunci (Ki) Ciphertext (Ci)

Karakter Indeks Karakter Indeks 𝐶𝐶𝐶𝐶 ≡ 𝐾𝐾𝐶𝐶 − 𝑃𝑃𝐶𝐶 (𝑚𝑚𝑚𝑚𝑚𝑚 100) Karakter

t 45 i 34 89 _

i 34 n 39 5 F

(28)

Selanjutnya akan dilakukan perhitungan untuk nilai j. Untuk melakukan perhitungan nilai j maka kunci yang digunakan harus diubah ke dalam kode ASCII. Dimana kode ASCII ditunjukkan oleh tabel 4.3.

Tabel 4.3 Kode ASCII

Dec Char Dec Char Dec Char Dec Char Dec Char Dec Char

0 Ā 44 , 88 X 132 Ē 176 ° 220 Ü 1 ā 45 - 89 Y 133 ē 177 ± 221 Ý 2 Ă 46 . 90 Z 134 Ĕ 178 ² 222 Þ 3 ă 47 / 91 [ 135 ĕ 179 ³ 223 ß 4 Ą 48 0 92 \ 136 Ė 180 ´ 224 à 5 ą 49 1 93 ] 137 ė 181 µ 225 á 6 Ć 50 2 94 ^ 138 Ę 182 ¶ 226 â 7 ć 51 3 95 _ 139 ę 183 · 227 ã 8 Ĉ 52 4 96 ` 140 Ě 184 ¸ 228 ä 9 ĉ 53 5 97 a 141 ě 185 ¹ 229 å 10 Ċ 54 6 98 b 142 Ĝ 186 º 230 æ 11 ċ 55 7 99 c 143 ĝ 187 » 231 ç 12 Č 56 8 100 d 144 Ğ 188 ¼ 232 è 13 į 57 9 101 e 145 ğ 189 ½ 233 é 14 İ 58 : 102 f 146 Ġ 190 ¾ 234 ê 15 ı 59 ; 103 g 147 ġ 191 ¿ 235 ë 16 IJ 60 < 104 h 148 Ģ 192 À 236 ì 17 ij 61 = 105 i 149 ģ 193 Á 237 í 18 Ĵ 62 > 106 j 150 Ĥ 194 Â 238 î 19 Ķ 63 ? 107 k 151 ĥ 195 Ã 239 ï 20 ķ 64 @ 108 l 152 Ħ 196 Ä 240 ð 21 ĸ 65 A 109 m 153 ħ 197 Å 241 ñ 22 Ĺ 66 B 110 n 154 Ĩ 198 Æ 242 ò 23 ĺ 67 C 111 o 155 ĩ 199 Ç 243 ó 24 Ļ 68 D 112 p 156 Ī 200 È 244 ô 25 ļ 69 E 113 q 157 ī 201 É 245 õ 26 Ľ 70 F 114 r 158 Ĭ 202 Ê 246 ö 27 ľ 71 G 115 s 159 ĭ 203 Ë 247 ÷ 28 Ŀ 72 H 116 t 160 Į 204 Ì 248 ø 29 ŀ 73 I 117 u 161 ¡ 205 Í 249 ù 30 Ł 74 J 118 v 162 ¢ 206 Î 250 ú 31 ł 75 K 119 w 163 £ 207 Ï 251 û 32 SPACE 76 L 120 x 164 ¤ 208 Ð 252 ü 33 ! 77 M 121 y 165 ¥ 209 Ñ 253 ý 34 " 78 N 122 z 166 ¦ 210 Ò 254 þ 35 # 79 O 123 { 167 § 211 Ó 255 ÿ

(29)

Nilai ASCII untuk kunci “itu” yaitu : i = 105

t = 116 u = 117

Kemudian dilakukan perhitungan nilai j yang pertama dengan nilai awal i = 0 dan j = 0 sebagai berikut :

j = (j + S[i] + key[i mod keylength]) mod 256 j = (0 + 0 + 105) mod 256 = 105

Tukarkan nilai S[0] dengan S[105]. Kemudian dilakukan perhitungan kembali untuk nilai j yang kedua dengan nilai i = 1 dan j = 105 sebagai berikut :

j = (j + S[i] + key[i mod keylength]) mod 256 j = (105 + 1 + 116) mod 256 = 222

Tukarkan nilai S[1] dengan S[222]. Langkah ini diulangi hingga i mencapai nilai 255 dan hasil dari tahap key scheduling dapat dilihat pada tabel 4.4 dimana nilai i berada pada baris yang berwarna biru.

Tabel 4.4 Hasil Key Scheduling Algorithm(KSA)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 18 86 155 14 202 122 50 157 125 64 215 138 33 100 14 15 16 17 18 19 20 21 22 23 24 25 26 27 223 7 83 22 166 169 12 142 197 243 35 62 88 177 28 29 30 31 32 33 34 35 36 37 38 39 40 41 198 11 59 175 227 42 194 56 117 159 207 98 234 156 42 43 44 45 46 47 48 49 50 51 52 53 54 55 119 206 6 224 32 255 186 27 170 162 74 99 147 141 56 57 58 59 60 61 62 63 64 65 66 67 68 69 217 70 249 23 73 250 91 46 140 75 69 252 203 107 70 71 72 73 74 75 76 77 78 79 80 81 82 83 171 148 150 52 36 137 105 136 97 104 112 19 9 151 38 & 82 R 126 ~ 170 ª 214 Ö 39 ' 83 S 127 Ɗ 171 « 215 × 40 ( 84 T 128 Ď 172 ¬ 216 Ø 41 ) 85 U 129 ď 173 217 Ù 42 * 86 V 130 Đ 174 ® 218 Ú 43 + 87 W 131 đ 175 ¯ 219 Û

(30)

84 85 86 87 88 89 90 91 92 93 94 95 96 97 20 195 21 199 45 232 17 173 123 115 167 212 94 81 98 99 100 101 102 103 104 105 106 107 108 109 110 111 153 244 13 161 172 145 110 40 208 189 103 114 163 214 112 113 114 115 116 117 118 119 120 121 122 123 124 125 48 160 218 213 216 158 253 131 38 204 174 144 24 26 126 127 128 129 130 131 132 133 134 135 136 137 138 139 239 226 101 102 240 89 54 44 132 168 49 82 121 8 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 111 5 109 39 1 229 93 106 245 96 84 248 0 154 155 156 157 158 159 160 161 162 163 164 165 166 167 242 85 3 190 184 192 165 183 79 139 90 66 68 146 168 169 170 171 172 173 174 175 176 177 178 179 180 181 126 80 34 116 182 25 67 237 176 95 221 196 238 43 182 183 184 185 186 187 188 189 190 191 192 193 194 195 219 187 149 241 135 28 72 77 30 211 55 2 29 210 196 197 198 199 200 201 202 203 204 205 206 207 208 209 209 58 201 178 127 65 57 181 191 129 180 15 220 228 210 211 212 213 214 215 216 217 218 219 220 221 222 223 31 251 188 233 92 10 113 133 118 78 200 230 231 193 224 225 226 227 228 229 230 231 232 233 234 235 236 237 87 37 41 130 222 152 51 128 236 225 254 61 4 124 238 239 240 241 242 243 244 245 246 247 248 249 250 251 76 246 71 47 247 164 16 179 235 108 185 53 205 134 252 253 254 255 143 60 63 120

2.2 Tahap Pseudo-Random Generation Algorithm(PRGA) untuk Enkripsi

Setelah melakukan tahap key scheduling maka akan dilakukan proses enkripsi pesan “_FI” dengan proses per karakter. Pada tahap awal inisialisasikan nilai i = 0 , j = 0, k= 0, z = 0, dan w adalah bilangan acak yang merupakan bilangan GCD atau relatif prima dengan panjang S yaitu 256. Selanjutnya lakukan prosesseperti berikut:

• Karakter “_”

Tahap awal dilakukan inisialisasi i = 0 , j = 0, k= 0 dan z = 0 dan setiap baris di modulo dengan 256. Kemudian dilakukan perhitungan dengan cara sebagai berikut : i = i + w = 0+221 mod 256 = 221

(31)

= S[ 230] = 51

k = i + k + S[j] = 221 + 0 + S[51] mod 256 = 221 + 162 mod 256 = 127

S[i] , S[j] = S[i] = S[221] = 230, S[j] = S[ 51] = 162 SwapS[i] withS[j] = S[i] = S[221] = 162, S[j] = S[51] = 230 z = S[j + S[i + S[z + k]]] = S[51 + S[221 + S[0 + 127]]] mod 256

= S[51 + S[221 + 226]] mod 256 = S[51 + S[191] mod 256 = S[51 + 211] mod 256 = S[6] = 50

Kemudian lakukan operasi XOR pada karakter pertama ciphertext 1 yang dihasilkan sebelumya yaitu karakter “ _” yang bernilai 95 dengan output z yang dihasilkan adalah 50. Dengan cara sebagai berikut :

95 = 01011111 50 = 00110010

= 01101101 = 109 ⊕

10 dalam tabel ASCII merupakan karakter “m”.

• Karakter “F”

Pada tahap ini nilai i = 221 , j = 51, k= 127 dan z = 50. Kemudian dilakukan perhitungan nilai i dan j baru dengan cara :

i = i + w = 221+221 mod 256 = 186 j = k + S[j + S[i]] = 127+ S[51 + S[186]] mod 256 = 127 + S[51 + 135] mod 256 = 127 + S[186] mod 256 = 127 + 135 mod 256 = 262 mod 256 = 6 k = i + k + S[j] = 186 + 127 + S[6] mod 256 = 57 + 50 mod 256 = 107 S[i],S[j] = S[i] = S[186] = 135, S[j] = S[6] = 50 SwapS[i] with S[j] = S[i] = S[186] = 50, S[j] = S[6] = 135

(32)

z = S[j + S[i + S[z + k]]] = S[6 + S[186 + S[50 + 107]]] mod 256 = S[6 + S[186 + S[157]]] mod 256 = S[6 + S[186+190]] mod 256 = S[6 +S[120]] mod 256 =S[6+38] = S[44] = 6

Kemudian lakukan operasi XOR pada karakter kedua ciphertext 1 yang dihasilkan sebelumya yaitu karakter “F” yang bernilai 70 dengan output z yang dihasilkan adalah 6. Dengan cara sebagai berikut :

70 = 01000110 6 = 00000110

= 01000000 = 64 ⊕

10 dalam tabel ASCII merupakan karakter “@”.

• Karakter “I”

Pada tahap ini nilai i = 186 , j = 6, k= 107 dan z = 6. Kemudian dilakukan perhitungan nilai i dan j baru dengan cara :

i = i + w = 186+221 mod 256 = 151 j = k + S[j + S[i]] = 107+ S[6 + S[151]] mod 256 = 107 + S[6 + 84] mod 256 = 107 + S[90] mod 256 = 107 + 17 mod 256 = 124 k = i + k + S[j] = 151 + 107 + S[124] mod 256 = 2 + 24 mod 256 = 26 S[i] ,S[j] = S[i] = S[151] = 84, S[j] = S[124] = 24 Swap S[i] with S[j] = S[i] = S[151] = 24, S[j] = S[124] = 84 z = S[j + S[i + S[z + k]]] = S[124 + S[151 + S[6 + 26]]] mod 256

= S[124 + S[151 + S[32]]] mod 256 = S[124 + S[151+227]] mod 256 = S[124 +S[122]] mod 256

(33)

=S[42] = 119

Kemudian lakukan operasi XOR pada karakter ketiga ciphertext 1 yang dihasilkan sebelumya yaitu karakter “I” yang bernilai 73 dengan output z yang dihasilkan adalah 119. Dengan cara sebagai berikut :

73 = 01001001 119= 01110111

= 00111110 = 62 ⊕

10 dalam tabel ASCII merupakan karakter “>”.

Setelah dilakukan perhitungan secara manual diperoleh ciphertext 2 yaitu “m@>”. Ciphertext tersebut memiliki nilai yang sama dengan pengujian hasil enkripsi dengan sisitem . Sehingga dapat disimpulkan untuk proses enkripsi, pada program sudah berhasil diterapkan dan berjalan baik dan benar. Larik S pada akhir perhitungan ditunjukkan oleh tabel 4.5.

Tabel 4.5 Nilai Larik S akhir

0 1 2 3 4 5 6 7 8 9 10 11 12 13 18 86 155 14 202 122 135 157 125 64 215 138 33 100 14 15 16 17 18 19 20 21 22 23 24 25 26 27 223 7 83 22 166 169 12 142 197 243 35 62 88 177 28 29 30 31 32 33 34 35 36 37 38 39 40 41 198 11 59 175 227 42 194 56 117 159 207 98 234 156 42 43 44 45 46 47 48 49 50 51 52 53 54 55 119 206 6 224 32 255 186 27 170 230 74 99 147 141 56 57 58 59 60 61 62 63 64 65 66 67 68 69 217 70 249 23 73 250 91 46 140 75 69 252 203 107 70 71 72 73 74 75 76 77 78 79 80 81 82 83 171 148 150 52 36 137 105 136 97 104 112 19 9 151 84 85 86 87 88 89 90 91 92 93 94 95 96 97 20 195 21 199 45 232 17 173 123 115 167 212 94 81 98 99 100 101 102 103 104 105 106 107 108 109 110 111 153 244 13 161 172 145 110 40 208 189 103 114 163 214 112 113 114 115 116 117 118 119 120 121 122 123 124 125 48 160 218 213 216 158 253 131 38 204 174 144 84 26 126 127 128 129 130 131 132 133 134 135 136 137 138 139

(34)

Selanjutnya simpan hasil enkripsi tersebut yang terdiri dari kunci algoritma Beaufort dan algoritma Spritz, ciphertext 2, Key Scheduling Algorithm(KSA), dan nilai w. 239 226 101 102 240 89 54 44 132 168 49 82 121 8 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 111 5 109 39 1 229 93 106 245 96 24 248 0 154 155 156 157 158 159 160 161 162 163 164 165 166 167 242 85 3 190 184 192 165 183 79 139 90 66 68 146 168 169 170 171 172 173 174 175 176 177 178 179 180 181 126 80 34 116 182 25 67 237 176 95 221 196 238 43 182 183 184 185 186 187 188 189 190 191 192 193 194 195 219 187 149 241 50 28 72 77 30 211 55 2 29 210 196 197 198 199 200 201 202 203 204 205 206 207 208 209 209 58 201 178 127 65 57 181 191 129 180 15 220 228 210 211 212 213 214 215 216 217 218 219 220 221 222 223 31 251 188 233 92 10 113 133 118 78 200 162 231 193 224 225 226 227 228 229 230 231 232 233 234 235 236 237 87 37 41 130 222 152 51 128 236 225 254 61 4 124 238 239 240 241 242 243 244 245 246 247 248 249 250 251 76 246 71 47 247 164 16 179 235 108 185 53 205 134 252 253 254 255 143 60 63 120

(35)

Pada gambar 4.7 dapat dilihat hasil pada saat tombol simpan di tekan maka akan ada kotak dialog penyimpanan untuk menyimpan file yg menghasilkan file berekstensi .tia. Pada saat menyimpan file tersebut maka akan otomatis ada dua file yang tersimpan yaitu file yang berekstensi .tia dan .key.

4.2.2 Pengujian Hasil Dekripsi

4.2.2.1 Pengujian Hasil Dekripsi Pada Sistem

Pengujian dekripsi antara ciphertext 2 dengan kunci algoritma Spritz akan menghasilkan kembali ciphertext 1 dan ciphertext 1 didekripsi dengan kunci dari algoritma Beaufort akan menghasilkan plaintext semula. Proses dekripsi dimulai dengan melakukan input file yangberekstensi .tia. Selanjutnya tekan tombol buka file maka hasil dari enkripsi sebelumnya atau ciphertext 2 beserta kunci dari algoritma Beaufort dan algoritma Spritz akan muncul dan sesuai dengan kunci pada saat proses enkripsi. Setelah itu tekan tombol dekripsi maka sistem akan melakukan proses dekripsi untuk algoritma Spritz. Proses yang sama juga berlaku untuk dekrispi algoritma Beaufort. Penulis akan melakukan pengujian dekripsi dengan contoh sebagai berikut:

1. Ciphertext yang akan didekripsi yaitu “m@>”. 2. Kunci yang digunakan pada algoritma Spritz “itu”.

(36)

Gambar 4.8 Hasil Dekripsi

Pada gambar 4.8 menunjukkan bahwa dekripsi antara ciphertext 2 dan kunci algoritma Spritz menghasilkan ciphertext 1 yaitu “_FI” dan hasil dekripsi antara ciphertext 1 dengan kunci algoritma Beaufort menghasilkan plaintext yaitu “tia”.

4.2.2.2 Pengujian Hasil Dekripsi dengan Perhitungan Manual 1. Dekripsi Algoritma Spritz

Pada proses dekripsi, algoritma Spritz mempunyai proses yang sama pada saat proses enkripsi. Perbedaan antara kedua proses ini terdapat pada tahap

Pseudo-Random Generation Algorithm(PRGA) dimana pada tahap ini terdapat perbedaan pada nilai yang akan dilakukan operasi XOR. Pada proses dekripsi, ciphertext 2 akan di XOR-kan dengan perhitungan yang sama pada tahap Pseudo-Random Generation Algorithm(PRGA) sebelumya dan menggunakan tabel yang sama pada tahap Key Scheduling Algorithm(KSA) yang ditunjukkan pada tabel 4.4 di halaman 44.

Ciphertext yang akan didekripsi adalah “m@>” dimana akan dilakukan operasi XOR pada setiap karakter dengan cara sebagai berikut:

• Karakter “m”

Tahap awal dilakukan inisialisasi i = 0 , j = 0, k= 0, z = 0 dan w adalah bilangan acak yang merupakan bilangan GCD atau relatif prima dengan 256 dan setiap baris di

(37)

i = i + w = 0+221 mod 256 = 221 j = k + S[j + S[i]] = 0 + S[0 + S[221]] mod 256 = 0 + S[0 + 230] mod 256 = S[ 230] = 51 k = i + k + S[j] = 221 + 0 + S[51] mod 256 = 221 + 162 mod 256 = 127 S[i] , S[j] = S[i] = S[221] = 230, S[j] = S[ 51] = 162 SwapS[i] withS[j] = S[i] = S[221] = 162, S[j] = S[51] = 230 z = S[j + S[i + S[z + k]]] = S[51 + S[221 + S[0 + 127]]] mod 256

= S[51 + S[221 + 226]] mod 256 = S[51 + S[191] mod 256

= S[51 + 211] mod 256 = S[6] = 50

Kemudian lakukan operasi XOR pada karakter pertama ciphertext 2 yang dihasilkan sebelumya yaitu karakter “m” yang bernilai 109 dengan output z yang dihasilkan adalah 50. Dengan cara sebagai berikut :

109 = 01101101 50 = 00110010

= 01011111 = 95 ⊕

10 dalam tabel ASCII merupakan karakter “_”.

• Karakter “@”

Pada tahap ini nilai i = 221 , j = 51, k= 127 dan z = 50. Kemudian dilakukan perhitungan nilai i dan j baru dengan cara :

i = i + w = 221+221 mod 256 = 186 j = k + S[j + S[i]] = 127+ S[51 + S[186]] mod 256 = 127 + S[51 + 135] mod 256 = 127 + S[186] mod 256 = 127 + 135 mod 256 = 262 mod 256 = 6 k = i + k + S[j] = 186 + 127 + S[6] mod 256

(38)

= 57 + 50 mod 256 = 107

S[i],S[j] = S[i] = S[186] = 135, S[j] = S[6] = 50 SwapS[i] with S[j] = S[i] = S[186] = 50, S[j] = S[6] = 135 z = S[j + S[i + S[z + k]]] = S[6 + S[186 + S[50 + 107]]] mod 256 = S[6 + S[186 + S[157]]] mod 256 = S[6 + S[186+190]] mod 256 = S[6 +S[120]] mod 256 =S[6+38] = S[44] = 6

Kemudian lakukan operasi XOR pada karakter kedua ciphertext 2 yang dihasilkan sebelumya yaitu karakter “@” yang bernilai 64 dengan output z yang dihasilkan adalah 6. Dengan cara sebagai berikut :

64 = 01000000 6 = 00000110

= 01000110 = 70

10 dalam tabel ASCII merupakan karakter “F”.

• Karakter “>”

Pada tahap ini nilai i = 186 , j = 6, k= 107 dan z = 6. Kemudian dilakukan perhitungan nilai i dan j baru dengan cara :

i = i + w = 186+221 mod 256 = 151 j = k + S[j + S[i]] = 107+ S[6 + S[151]] mod 256 = 107 + S[6 + 84] mod 256 = 107 + S[90] mod 256 = 107 + 17 mod 256 = 124 k = i + k + S[j] = 151 + 107 + S[124] mod 256 = 2 + 24 mod 256 = 26 S[i] ,S[j] = S[i] = S[151] = 84, S[j] = S[124] = 24

(39)

z = S[j + S[i + S[z + k]]] = S[124 + S[151 + S[6 + 26]]] mod 256 = S[124 + S[151 + S[32]]] mod 256 = S[124 + S[151+227]] mod 256 = S[124 +S[122]] mod 256 = S[124 +174] mod 256 =S[42] = 119

Kemudian lakukan operasi XOR pada karakter ketiga ciphertext 2 yang dihasilkan sebelumya yaitu karakter “>” yang bernilai 62 dengan output z yang dihasilkan adalah 119. Dengan cara sebagai berikut :

62 = 00111110 119= 01110111

= 01001001 = 73 ⊕

10 dalam tabel ASCII merupakan karakter “I”.

Setelah dilakukan perhitungan secara manual diperoleh kembali ciphertext 1 yaitu “_FI”. Ciphertext tersebut memiliki nilai yang sama dengan pengujian hasil dekripsi dengan sistem . Sehingga dapat disimpulkan untuk proses dekripsi, pada program sudah berhasil diterapkan dan berjalan baik dan benar.

2. Dekripsi Algoritma Beaufort

Proses dekripsi yang kedua dilakukan dengan menggunakan algoritma

Beaufort. Ciphertext 1 yang diperoleh pada saat proses dekripsi sebelumnya didekripsi dengan menggunakan kunci yang sama pada saat enkripsi algoritma Beaufort. Proses ini menghasilkan plaintext semula.

Tabel 4.6 Hasil Dekripsi Algoritma Beaufort

Pada tabel 4.6 menunjukkan bahwa hasil pengujian perhitungan manual dengan pengujian oleh sistem menghasilkan dekripsi yang sama yaitu “tia” dengan cara

Ciphertext(Ci) Kunci (Ki) Ciphertext (Ci)

Karakter Indeks Karakter Indeks 𝑃𝑃𝐶𝐶 ≡ 𝐾𝐾𝐶𝐶 − 𝐶𝐶𝐶𝐶 (𝑚𝑚𝑚𝑚𝑚𝑚 100) Karakter

_ 89 i 34 45 t

F 5 n 39 34 i

(40)

melakukan operasi pengurangan indeks kunci dengan indeks ciphertext sehingga menghasilkan indeks plaintext seperti semula . Untuk melihat urutan indeks karakter dapat dilihat pada tabel 2.2.

Hasil perhitungan keseluruhan proses enkripsi dan dekripsi baik pengujian oleh sistem maupun pengujian secara manual dengan karakter plaintext “tia” dalam skema Super Enkripsi menggunakan kombinasi algoritma Beaufort dan algoritma Spritz menunjukkan hasil yang sesuai .

4.2.3 Kompleksitas Algoritma

Kompleksitas algoritma dapat dihitung dari kode program yang digunakan. Kompleksitas prosess enkripsi pada algoritma Beaufort dapat dilihat pada tabel 4.7.

Tabel 4.7 Kompleksitas Proses Enkripsi Algoritma Beaufort

No. Kode Program 𝑪𝑪 # 𝑪𝑪 𝒙𝒙 #

1. void Btn_EnkBeauClick(object sender, EventArgs e) {

2. string cipher = ""; C1 1 C1

3. int k,p; C2 1 C2

4. for(int i=0; i<txtPlaintext.Text.Length; i++) C3 𝑛𝑛 C3𝑛𝑛

5. { 6. if(kar.Contains(txtPlaintext.Text[i])) C4 𝑛𝑛 C4𝑛𝑛 7. { 8. p = Array.IndexOf(kar, txtPlaintext.Text[i]); C5 𝑛𝑛 C5𝑛𝑛 9. k=Array.IndexOf(kar, txtKunciBeau.Text[i]); C5 𝑛𝑛 C5𝑛𝑛 10. if(k-p<0) C4 𝑛𝑛 C4𝑛𝑛 11 cipher +=kar[(k-p+kar.Length)%kar.Length]; C6 𝑛𝑛 C6𝑛𝑛 12 else 13 cipher += kar[(k-p)%kar.Length]; C6 𝑛𝑛 C6𝑛𝑛 14 } 15 else{ 16 cipher += txtPlaintext.Text[i]; } C6 𝑛𝑛 C6𝑛𝑛 19 }

(41)

𝑇𝑇 (𝑛𝑛) = Σ𝐶𝐶𝐶𝐶#𝐶𝐶

= 𝐶𝐶1+ 𝐶𝐶2 + 𝐶𝐶3𝑛𝑛 + 𝐶𝐶4𝑛𝑛 + 𝐶𝐶5𝑛𝑛 + 𝐶𝐶5𝑛𝑛 + 𝐶𝐶4𝑛𝑛 + 𝐶𝐶6𝑛𝑛 + 𝐶𝐶6𝑛𝑛 + 𝐶𝐶6𝑛𝑛 + 𝐶𝐶7 = (𝐶𝐶1+ 𝐶𝐶2+ 𝐶𝐶7)𝑛𝑛0+ (𝐶𝐶3+ 𝐶𝐶4+ 𝐶𝐶5+ 𝐶𝐶5+ 𝐶𝐶4+ 𝐶𝐶6+ 𝐶𝐶6+ 𝐶𝐶6)𝑛𝑛1 = θ(𝑛𝑛)

Tabel 4.7 menunjukkan hasil perhitungan kompleksitas algoritma Beaufort pada proses enkripsi. Kolom 𝐶𝐶 pada tabel 4.7 merupakan kolom yang menunjukkan berapa kali processor melakukan komputasi. Kolom # sebagai variabel untuk menghitung pengerjaan satu baris program. Kolom 𝐶𝐶 𝑥𝑥 # menghitung hasil perkalian kolom 𝐶𝐶 dengan #. Hasil dari kolom 𝐶𝐶 𝑥𝑥 # dijumlahkan, sehingga diperoleh hasil kompleksitas algoritma Beaufort pada proses enkripsi, yaitu θ(𝑛𝑛). Selanjutnya kompleksitas algoritma Spritz pada proses enkripsi dapat dilihat pada tabel 4.8 dan 4.9.

Tabel 4.8 Kompleksitas Key Scheduling Algorithm(KSA) Algoritma Spritz

No. Kode Program 𝑪𝑪 # 𝑪𝑪 𝒙𝒙 #

1. public void SetKey(string key) {

2. S = new int[256]; C1 1 C1

3. int keyLength = key.Length; C2 1 C2

4. for (int i = 0; i <= 255; i++) C3 256 256 C3

5. S[i] = (byte)i; C2 256 256 C2

6. int j = 0; C2 1 C2

7. for (int i = 0; i <= 255; i++) { C3 256 256 C3

8. j = (j + S[i] + key[i % keyLength]) % 256; C2 256 256 C2

9. int iTmp = S[i]; C2 256 256 C2

10. S[i] = S[j]; C2 256 256 C2 11. S[j] = iTmp; } } C2 256 256 C2 𝑇𝑇 (𝑛𝑛) = Σ𝐶𝐶𝐶𝐶#𝐶𝐶 = 𝐶𝐶1+ 𝐶𝐶2+ 256𝐶𝐶3+ 256𝐶𝐶2+ 𝐶𝐶2+ 256𝐶𝐶3+ 256𝐶𝐶2+ 256𝐶𝐶2+ 256𝐶𝐶2 + 256𝐶𝐶2 = (𝐶𝐶1+ 𝐶𝐶2+ 𝐶𝐶2)𝑛𝑛0+ (256𝐶𝐶3+ 256𝐶𝐶2+ 256𝐶𝐶3+ 256𝐶𝐶2+ 256𝐶𝐶2+ 256𝐶𝐶2 + 256𝐶𝐶2)𝑛𝑛0 = θ(1).

Tabel 4.8 menunjukkan hasil perhitungan kompleksitas algoritma Spritz pada proses Key Scheduling Algorithm (KSA). Kolom 𝐶𝐶 pada tabel 4.8 merupakan kolom yang menunjukkan berapa kali processor melakukan komputasi. Kolom # sebagai variabel

(42)

untuk menghitung pengerjaan satu baris program. Kolom 𝐶𝐶 𝑥𝑥 # menghitung hasil perkalian kolom 𝐶𝐶 dengan #. Hasil dari kolom 𝐶𝐶 𝑥𝑥 # dijumlahkan, sehingga diperoleh hasil kompleksitas algoritma Spritz pada proses Key Scheduling Algorithm (KSA) , yaitu θ(1).

Tabel 4.9 Kompleksitas Pseudo-Random Generation Algorithm(PRGA) Algoritma Spritz

No. Kode Program 𝑪𝑪 # 𝑪𝑪 𝒙𝒙 #

1 public int GCD(int a, int b) {

2 while (a != 0 && b != 0) { C1 𝑛𝑛 C1 3 if (a > b) C2 𝑛𝑛 C2 4 a %= b; C3 𝑛𝑛 C3 5 else 6 b %= a; } C3 𝑛𝑛 C3 7 if (a == 0) C2 𝑛𝑛 C2 8 return b; C4 𝑛𝑛 C4 9 else 10 return a; C4 𝑛𝑛 C4

11 void BtnEnkSpritzClick(object sender, EventArgs e) {

12 string plain = txtHasilEnk_1.Text; C5 1 C5

13 SetKey(txtKunciSpritz.Text); C6 1 C6

14 int i = 0, k = 0, j=0, w=0, z= 0; C7 1 C7

15 Ascii tbl = new Ascii(); C7 1 C7

16 Random r = new Random(); C7 1 C7

17 while(GCD(w,256)!=1) { C1 256 256 C1

18 w = r.Next()%256; } C8 256 256 C8

19 w1 = w; C9 256 256 C9

20 string cipher = ""; C10 1 C10

21 for (int a = 0; a < plain.Length; a++) { C11 𝑛𝑛 C11𝑛𝑛

22 i = (i + w) % 256; C9 𝑛𝑛 C9𝑛𝑛

23 j = (k + S[(j + S[i])%256]) % 256; C9 𝑛𝑛 C9𝑛𝑛

24 k = (k + i + S[j]) % 256; C9 𝑛𝑛 C9𝑛𝑛

25 int iTmp = S[i]; C9 𝑛𝑛 C9𝑛𝑛

(43)

28 z = S[(j + S[(i + S[(z + k)%256])%256])%256]; C9 𝑛𝑛 C9𝑛𝑛 29 cipher +=tbl.getChar((tbl.getDesimal(plain[a]) ^ z)%256); } C12 𝑛𝑛 C12𝑛𝑛 30 txtHasilEnk_2.Text = cipher; } C13 1 C13 𝑇𝑇 (𝑛𝑛) = Σ𝐶𝐶𝐶𝐶#𝐶𝐶 = 𝐶𝐶1+ 𝐶𝐶2 + 𝐶𝐶3+ 𝐶𝐶3+ 𝐶𝐶2+ 𝐶𝐶4+ 𝐶𝐶4+ 𝐶𝐶5+ 𝐶𝐶6+𝐶𝐶7 + 𝐶𝐶7+ 𝐶𝐶7+ 256𝐶𝐶1 + 256𝐶𝐶8+ 256𝐶𝐶9+ 𝐶𝐶10 + 𝐶𝐶11𝑛𝑛 + 𝐶𝐶9𝑛𝑛 + 𝐶𝐶9𝑛𝑛 + 𝐶𝐶9𝑛𝑛 + 𝐶𝐶9𝑛𝑛 + 𝐶𝐶9𝑛𝑛 + 𝐶𝐶9𝑛𝑛 + 𝐶𝐶9𝑛𝑛 + 𝐶𝐶12𝑛𝑛 + 𝐶𝐶13 = (𝐶𝐶1+ 𝐶𝐶2+ 𝐶𝐶3+ 𝐶𝐶3+ 𝐶𝐶2+ 𝐶𝐶4 + 𝐶𝐶4+ 𝐶𝐶5+ 𝐶𝐶6+𝐶𝐶7 + 𝐶𝐶7+ 𝐶𝐶7+ 𝐶𝐶10 + 𝐶𝐶13)𝑛𝑛0+ (256𝐶𝐶1+ 256𝐶𝐶8+ 256𝐶𝐶9)𝑛𝑛0+ (𝐶𝐶11+ 𝐶𝐶9+ 𝐶𝐶9 + 𝐶𝐶9+ 𝐶𝐶9+ 𝐶𝐶9+ 𝐶𝐶9+ 𝐶𝐶9+ 𝐶𝐶12)𝑛𝑛1 = θ(𝑛𝑛)

Tabel 4.9 menunjukkan hasil perhitungan kompleksitas algoritma Spritz pada proses Pseudo-Random Generation Algorithm(PRGA). Kolom 𝐶𝐶 pada tabel 4.9 merupakan kolom yang menunjukkan berapa kali processor melakukan komputasi. Kolom # sebagai variabel untuk menghitung pengerjaan satu baris program. Kolom 𝐶𝐶 𝑥𝑥 # menghitung hasil perkalian kolom 𝐶𝐶 dengan #. Hasil dari kolom 𝐶𝐶 𝑥𝑥 # dijumlahkan, sehingga diperoleh hasil kompleksitas algoritma Spritz pada proses Pseudo-Random Generation Algorithm(PRGA), yaitu θ(𝑛𝑛).

4.2.4 Waktu Proses

a. Waktu Proses Algoritma Beaufort

Pengujian terhadap waktu proses dilakukan untuk mengetahui pengaruh panjang karakter uji dengan waktu proses algoritma Beaufort proses dihitung dalam mili second(ms). Pengujian dilakukan terhadap karakter dengan jumlah 2.000, 8.000, dan 14.000 karakter. Masing-masing karakter diuji sebanyak tiga kali kemudian dihitung nilai rata-rata waktu proses yang diperoleh. Hasil pengujian untuk jumlah 2.000 karakter dapat dilihat pada tabel 4.10.

(44)

Tabel 4.10 Waktu Proses Algoritma Beaufort untuk Jumlah 2.000 Karakter

Pada tabel 4.10 menunjukkan bahwa waktu proses yang digunakan untuk proses enkripsi algoritma Beaufort sebanyak 2.000 karakter diperoleh rata-rata waktu adalah 352,7970333 ms. Selanjutnya untuk hasil pengujian dengan jumlah 8.000 karakter dapat dilihat pada tabel 4.11.

Tabel 4.11 Waktu Proses Algoritma Beaufort untuk Jumlah 8.000 Karakter

Pada tabel 4.11 menunjukkan bahwa waktu proses yang digunakan untuk proses enkripsi algoritma Beaufort sebanyak 8.000 karakter diperoleh rata-rata waktu adalah 663,7561333ms. Selanjutnya untuk hasil pengujian dengan jumlah 14.000 karakter dapat dilihat pada tabel 4.12.

Tabel 4.12 Waktu Proses Algoritma Beaufort untuk Jumlah 14.000 Karakter Jumlah Karakter Pengujian Waktu Proses

2.000 karakter

340,218 384,365 333,8081

Rata-Rata 352,7970333

Jumlah Karakter Pengujian Waktu Proses

8.000 karakter

727,253 660,2634

603,752

Rata-Rata 663,7561333

Jumlah Karakter Pengujian Waktu Proses

14.000 karakter

953,9293 753,7285 745,5373

(45)

Pada tabel 4.12 menunjukkan bahwa waktu proses yang digunakan untuk proses enkripsi algoritma Beaufort sebanyak 14.000 karakter diperoleh rata-rata waktu adalah 817,7317ms.

b. Waktu Proses Algoritma Spritz

Pengujian terhadap waktu proses dilakukan untuk mengetahui pengaruh panjang karakter uji dengan waktu proses algoritma Spritz proses dihitung dalam mili second(ms). Pengujian dilakukan terhadap karakter dengan jumlah 2.000, 8.000, dan 14.000 karakter. Masing-masing karakter diuji sebanyak tiga kali kemudian dihitung nilai rata-rata waktu proses yang diperoleh. Hasil pengujian untuk jumlah 2.000 karakter dapat dilihat pada tabel 4.13.

Tabel 4.13 Waktu Proses Algoritma Spritz untuk Jumlah 2.000 Karakter

Pada tabel 4.13 menunjukkan bahwa waktu proses yang digunakan untuk proses enkripsi algoritma Spritz sebanyak 2.000 karakter diperoleh rata-rata waktu adalah 47,03476667ms. Selanjutnya untuk hasil pengujian dengan jumlah 8.000 karakter dapat dilihat pada tabel 4.14.

Tabel 4.14 Waktu Proses Algoritma Spritz untuk Jumlah 8.000 Karakter Jumlah Karakter Pengujian Waktu Proses

2.000 karakter

51,7681 41,9458 47,3904

Rata-Rata 47,03476667

Jumlah Karakter Pengujian Waktu Proses

8.000 karakter

217,1493 210,6098 214,2179

(46)

Pada tabel 4.14 menunjukkan bahwa waktu proses yang digunakan untuk proses enkripsi algoritma Spritz sebanyak 8.000 karakter diperoleh rata-rata waktu adalah 213,992333 ms. Selanjutnya untuk hasil pengujian dengan jumlah 14.000 karakter dapat dilihat pada tabel 4.15.

Tabel 4.15 Waktu Proses Algoritma Spritz untuk Jumlah 14.000 Karakter

Pada tabel 4.15 menunjukkan bahwa waktu proses yang digunakan untuk proses enkripsi algoritma Spritz sebanyak 14.000 karakter diperoleh rata-rata waktu adalah 425,1887667ms.

Hasil pengujian rata-rata waktu proses padaalgoritma Beaufort dengan jumlah karakter 2.000, 8.000 dan 14.000 yaitu 352,7970333 ms, 663,7561333 ms dan 817,7317 ms sedangkan hasil pengujian rata-rata waktu proses padaalgoritma Spritz dengan jumlah karakter 2.000, 8.000 dan 14.000 yaitu 47,03476667 ms, 213,9923333 ms dan 425,1887667 ms Hasil tersebut dapat diillustrasikan dengan grafik seperti pada gambar 4.9.

Jumlah Karakter Pengujian Waktu Proses

14.000 karakter 419,8325 431,9099 423,8244 Rata-Rata 425,1887667 100 200 300 400 500 600 700 800 900 w ak tu p ro se s( m s)

(47)

Gambar 4.9 Grafik Panjang Karakter terhadap Waktu Proses Pada gambar 4.9 dapat dilihat bahwa panjang karakter berbanding lurus dengan waktu proses. Semakin panjang karakter yang akan diproses, maka waktu proses yang dibutuhkan juga akan semakin lama.

(48)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil analisis dalam perancangan dan pengujian implementasi kombinasi algoritma Beaufort dan algoritma Spritz dalam skema super enkripsi untuk pengamanan teks dapat disimpulkan bahwa:

1. Kombinasi algoritma Beaufort dan Spritzpada skema super enkripsiberhasil diterapkan walaupun pada saat proses dekripsi terdapat karakter pada plaintext yang tidak sesuai dengan aslinya tetapi masih dapat dimengerti maksud dari kata tersebut.

2. Hasil proses enkripsi dan dekripsi pada pengujian algoritma Spritz menunjukkan bahwa larik state akhir dari proses enkripsi dan dekripsi adalah sama.

3. Pada proses enkripsi algoritma Spritz jika dilakukan percobaan mengenkripsi secara berulang menggunakan plaintext dan kunci yang sama akan menghasilkan ciphertext yang berbeda-beda.

4. Nilai kompleksitas kedua algoritma yang digunakan yaitu algoritma Beaufortdan algoritma Spritz yang terdiri dari proses Key Scheduling Algorithm(KSA) dan Pseudo-Random Generation Algorithm(PRGA) menghasilkan nilaiθ(𝑛𝑛). Kompleksitas ini berbanding lurus dengan input pengguna sehingga grafik yang terbentuk adalah grafik linear.

5. Hasil pengujian waktu proses pada algoritma Beaufort dan algoritma Spritz menunjukkan bahwa waktu proses algoritma Spritz lebih cepat dari pada algoritma Beaufort meskipun kedua algoritma menghasilkan θ(𝑛𝑛).

6. Hasil pengujian pada waktu proses diperoleh bahwa waktu proses algoritma berbanding lurus dengan panjang karakter plaintext. Artinya semakin panjang

(49)

plaintext yang digunakan maka akan semakin lama juga waktu yang dibutuhkan untuk melakukan enkripsi dan dekripsi plaintext.

5.2 Saran

Pada penelitian ini, terdapat beberapa saran yang dapat dipertimbangkan untuk penelitian selanjutnya, yaitu:

1. Untuk penelitian selanjutnya diharapkan penggunaan list karakter pada algoritma beaufort tidak hanya 100 karakter.

2. Dalam penelitian ini, proses dekripsi masih belum sempurna karena ada kata yang dihasilkan tidak sesuai dengan plaintext aslinya hal ini disebabkan karena jika menggunakan tabel ASCII asli 0-255 makajumlah karakter pada plaintext tidak dapat kembali secara utuh setelah proses dekripsi sedangkan jika menggunakan tabel ASCII 0-255 yang dimodifikasi maka akan terdapat karakter pada plaintext yang tidak sesuai dengan aslinya, untuk penelitian selanjutnya diharapkan mampu mendekripsi plaintext seperti aslinya.

3. Untuk penelitian selanjutnya diharapkan tipe fileyang digunakan yaitu semua ekstensi file tidak hanya file yang berekstensi .doc dan .pdf.

4. Untuk penelitian selanjutnya diharapkan dapat membangun Aplikasi yang dapat diterapkan pada perangkat Android, iOS atau yang lainnya.

Gambar

Gambar 3.1 Diagram Ishikawa Masalah Penelitian
Gambar 3.2 Arsitekur Umum Sistem
Diagram  use case  mendekripsikan sebuah interaksi antara satu atau lebih pengguna  dengan sistem yang akan dibuat
Gambar 3.4 Activity Diagram untuk Proses Enkripsi
+7

Referensi

Dokumen terkait

suatu merek akan mengecewakan konsumen bahkan konsumen yang paling loyal sekalipun, begitu juga dengan perubahan harga. Karena itu pihak perusahaan harus mengontrol merek beserta

Peserta mampu mancari cara untuk menghilangkan atau mengurangi ancaman-ancaman yang ditimbulkan oleh masalah internal maupun eksternal dan menyesuaikan dengan

Puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat serta hidayahnya sehingga penulis dapat menyelesaikan penulisan skripsi yang berjudul

Melalui pembelajaran bahasa yang inte- gratif dengan didasari pemahaman historis-filosofis tentang Indonesia yang berlandaskan kearifan lokal, semangat nasional, dan

Penyampaian SPT Tahunan dapat dilakukan secara langsung di Kantor Pelayanan Pajak tempat Wajib Pajak terdaftar atau dikukuhkan atau tempat lain yang ditetapkan

Skripsi ini juga mencakup beberapa fitur baru untuk Services Binusmaya yang terletak pada bagian Home dari Binusmaya versi 3 yaitu fitur Most Visited Services , yaitu

(wawancara dengan pegawai Dinas Pertanian dan Peternakan Provinsi Riau 5 November 2015). Berdasarkan hasil wawancara diatas diambil kesimpulan bahwa kerjasama yang