BAB 3 ANALISIS DAN PERANCANGAN

dokumen-dokumen yang mirip
BAB 3 ANALISIS DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB IV PERANCANGAN SISTEM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 3 METODOLOGI PENELITIAN

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN. pengamanan file teks dengan menggunakan algoritma triangle chain dan rivest cipher (RC4).

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM. KriptoSMS akan mengenkripsi pesan yang akan dikirim menjadi ciphertext dan

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM. telah dijelaskan pada bab sebelumnya. Analisis yang dilakukan bertujuan untuk

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB IV HASIL DAN PEMBAHASAN

BAB III BAB III METODE PENELITIAN

Menggunakan Algoritma Kriptografi Blowfish

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN. 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan:

ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN


BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

IMPLEMENTASI KOMBINASI ALGORITMA BEAUFORT DAN ALGORITMA SPRITZ DALAM SKEMA SUPER ENKRIPSI UNTUK PENGAMANAN TEKS SKRIPSI TIA RAHMADIANTI

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN DESAIN SISTEM

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III METODE PENELITIAN


BAB III ANALISIS DAN RANCANGAN

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012

BAB IV PERANCANGAN Perancangan Proses Kriptanalisis

BAB III ANALISA DAN PERANCANGAN

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN SISTEM. permasalahan-permasalahan dan kebutuhan-kebutuhan yang diharapkan sehingga dapat

Bab 1 PENDAHULUAN Latar Belakang

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA SISTEM

Bab 3. Metode dan Perancangan Sistem

BAB III ANALISA MASALAH DAN PERANCANGAN PROGRAM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

Bab 3. Metode dan Perancangan Sistem

BAB III PERANCANGAN SISTEM. Shipping Direktorat Jenderal Imigrasi menunjukkan bahwasanya dalam akses


BAB III ANALISIS DAN DESAIN SISTEM

BAB 1 PENDAHULUAN Latar belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN. yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB I PENDAHULUAN , 1.1. Latar Belakang

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM. Analisa yang dilakukan bertujuan untuk menentukan solusi dari

BAB I PENDAHULUAN Latar Belakang

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 1 PENDAHULUAN Latar Belakang

BAB IV. ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

BAB I PENDAHULUAN. Pengiriman informasi yang dilakukan dengan mengirimkan data tanpa melakukan

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB IV HASIL DAN UJI COBA

Transkripsi:

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.

Pengguna Material kurang amannya media pertukaran informasi antara pengirim dan penerima Algoritma kriptografi klasik yang mudah di kriptanalis. Pesan dan kunci dapat disadap oleh pihak ketiga pada saat pengiriman pesan Belum adanya aplikasi desktop yangmengkombinasikan algoritma kriptografi klasik dan kriptografi modern yang dipilih Mengamankan pesan dan kunci yang akan dikirim dengan penyandian isi pesan secara rahasia dan aman. Metode Mesin 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).

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.

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.

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

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, enkripsi algoritma Spritz serta menyimpan file yang telah di enkripsi sedangkan

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.

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

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.

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. Gambar 3.7 Sequence Diagram Proses Dekripsi

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 Gambar 3.8 Flowchart Sistem

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.

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.

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. 1 2 3 4 5 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.

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. Tentan Enkrips Dekrips Petunju 1 Tentang Aplikasi 2 Tentang Algoritma 4 Tentang Metode 6 3 5 7 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.

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. 2 Tentang Enkripsi Dekrips Petunju Masukkan File : 1 3 Car 4 5 6 9 Enkripsi Beaufort 7 Buka Hitung 8 Enkripsi Spritz Acak 1 21 14 ms Acak 16 10 Kunci Enkripsi 12 15 Kunci Enkripsi 17 13 18 22 ms 19 Simpan Reset 20 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. 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. 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

Tentang Enkripsi Dekrips Petunju 1 2 Masukkan File : 3 4 Car 5 6 7 8 Buka Hitung 9 Dekripsi Spritz 13 10 11 Dekripsi Dekripsi Beaufort 14 Dekripsi 15 16 12 17 Reset 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. 9. Label digunakan untuk menunjukkan proses dekripsi Spritz.

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. Gambar 3.15 Perancangan Antarmuka Halaman Petunjuk

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.

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.

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. 4.1.2 Tampilan Halaman Tentang Gambar 4.2 Tampilan Halaman Tentang

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.

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.

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.

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.

Tabel 4.1 Hasil Enkripsi Algoritma Beaufort Plaintext (Pi) Kunci (Ki) Ciphertext (Ci) Karakter Indeks Karakter Indeks CCCC KKKK PPPP (mmmmmm 100) Karakter t 45 i 34 89 _ i 34 n 39 5 F a 26 i 34 8 I 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

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 ÿ 36 $ 80 P 124 168 212 Ô 37 % 81 Q 125 } 169 213 Õ

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

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

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 = 6410 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 = S[124 +174] mod 256

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

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 Selanjutnya simpan hasil enkripsi tersebut yang terdiri dari kunci algoritma Beaufort dan algoritma Spritz, ciphertext 2, Key Scheduling Algorithm(KSA), dan nilai w. Gambar 4.7 Penyimpanan Hasil Enkripsi

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. 3. Kunci yang digunakan pada algoritma Beaufort yaitu ini.

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 modulo dengan 256. Kemudian dilakukan perhitungan dengan cara sebagai berikut :

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

= 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 = 7010 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 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 = 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 = 7310 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 Ciphertext(Ci) Kunci (Ki) Ciphertext (Ci) Karakter Indeks Karakter Indeks PPPP KKKK CCCC (mmmmmm 100) Karakter _ 89 i 34 45 t F 5 n 39 34 i I 8 i 34 26 a Pada tabel 4.6 menunjukkan bahwa hasil pengujian perhitungan manual dengan pengujian oleh sistem menghasilkan dekripsi yang sama yaitu tia dengan cara

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 CC # CC xx # 1. void Btn_EnkBeauClick(object sender, EventArgs e) { 2. string cipher = ""; C1 1 C 1 3. int k,p; C2 1 C 2 4. for(int i=0; i<txtplaintext.text.length; i++) C3 nn C 3 nn 5. { 6. if(kar.contains(txtplaintext.text[i])) C4 nn C 4 nn 7. { 8. p = Array.IndexOf(kar, txtplaintext.text[i]); C5 nn C 5 nn 9. k=array.indexof(kar, txtkuncibeau.text[i]); C5 nn C 5 nn 10. if(k-p<0) C4 nn C 4 nn 11 cipher +=kar[(k-p+kar.length)%kar.length]; C6 nn C 6 nn 12 else 13 cipher += kar[(k-p)%kar.length]; C6 nn C 6 nn 14 } 15 else{ 16 cipher += txtplaintext.text[i]; } C6 nn C 6 nn 19 } 20 txthasilenk_1.text += cipher; } C 1 7 C 7

TT (nn) = ΣCC ii # ii = CC 1 + CC 2 + CC 3 nn + CC 4 nn + CC 5 nn + CC 5 nn + CC 4 nn + CC 6 nn + CC 6 nn + CC 6 nn + CC 7 = (CC 1 + CC 2 + CC 7 )nn 0 + (CC 3 + CC 4 + CC 5 + CC 5 + CC 4 + CC 6 + CC 6 + CC 6 )nn 1 = θ(nn) Tabel 4.7 menunjukkan hasil perhitungan kompleksitas algoritma Beaufort pada proses enkripsi. Kolom CC pada tabel 4.7 merupakan kolom yang menunjukkan berapa kali processor melakukan komputasi. Kolom # sebagai variabel untuk menghitung pengerjaan satu baris program. Kolom CC xx # menghitung hasil perkalian kolom CC dengan #. Hasil dari kolom CC xx # dijumlahkan, sehingga diperoleh hasil kompleksitas algoritma Beaufort pada proses enkripsi, yaitu θ(nn). 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 CC # CC xx # 1. public void SetKey(string key) { 2. S = new int[256]; C 1 1 C 1 3. int keylength = key.length; C 1 2 C 2 4. for (int i = 0; i <= 255; i++) C 256 3 256 C 3 5. S[i] = (byte)i; C 256 2 256 C 2 6. int j = 0; C 1 2 C 2 7. for (int i = 0; i <= 255; i++) { C 256 3 256 C 3 8. j = (j + S[i] + key[i % keylength]) % 256; C 256 2 256 C 2 9. int itmp = S[i]; C 256 2 256 C 2 10. S[i] = S[j]; C 256 2 256 C 2 11. S[j] = itmp; } } C 256 2 256 C 2 TT (nn) = ΣCC ii # ii = CC 1 + CC 2 + 256CC 3 + 256CC 2 + CC 2 + 256CC 3 + 256CC 2 + 256CC 2 + 256CC 2 + 256CC 2 = (CC 1 + CC 2 + CC 2 )nn 0 + (256CC 3 + 256CC 2 + 256CC 3 + 256CC 2 + 256CC 2 + 256CC 2 + 256CC 2 )nn 0 = θ(1). Tabel 4.8 menunjukkan hasil perhitungan kompleksitas algoritma Spritz pada proses Key Scheduling Algorithm (KSA). Kolom CC pada tabel 4.8 merupakan kolom yang menunjukkan berapa kali processor melakukan komputasi. Kolom # sebagai variabel

untuk menghitung pengerjaan satu baris program. Kolom CC xx # menghitung hasil perkalian kolom CC dengan #. Hasil dari kolom CC xx # 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 CC # CC xx # 1 public int GCD(int a, int b) { 2 while (a!= 0 && b!= 0) { C1 nn C 1 3 if (a > b) C2 nn C 2 4 a %= b; C3 nn C 3 5 else 6 b %= a; } C3 nn C 3 7 if (a == 0) C2 nn C 2 8 return b; C4 nn C 4 9 else 10 return a; C4 nn C 4 11 void BtnEnkSpritzClick(object sender, EventArgs e) { 12 string plain = txthasilenk_1.text; C5 1 C 5 13 SetKey(txtKunciSpritz.Text); C6 1 C 6 14 int i = 0, k = 0, j=0, w=0, z= 0; C7 1 C 7 15 Ascii tbl = new Ascii(); C7 1 C 7 16 Random r = new Random(); C7 1 C 7 17 while(gcd(w,256)!=1) { C1 256 256 C 1 18 w = r.next()%256; } C8 256 256 C 8 19 w1 = w; C9 256 256 C 9 20 string cipher = ""; C10 1 C 10 21 for (int a = 0; a < plain.length; a++) { C11 nn C 11 nn 22 i = (i + w) % 256; C9 nn C 9 nn 23 j = (k + S[(j + S[i])%256]) % 256; C9 nn C 9 nn 24 k = (k + i + S[j]) % 256; C9 nn C 9 nn 25 int itmp = S[i]; C9 nn C 9 nn 26 S[i] = S[j]; C9 nn C 9 nn 27 S[j] = itmp; C9 nn C 9 nn

28 z = S[(j + S[(i + S[(z + k)%256])%256])%256]; C9 nn C 9 nn 29 cipher +=tbl.getchar((tbl.getdesimal(plain[a]) ^ z)%256); } C12 nn C 12 nn 30 txthasilenk_2.text = cipher; } C 1 13 C 13 TT (nn) = ΣCC ii # ii = CC 1 + CC 2 + CC 3 + CC 3 + CC 2 + CC 4 + CC 4 + CC 5 + CC 6 +CC 7 + CC 7 + CC 7 + 256CC 1 + 256CC 8 + 256CC 9 + CC 10 + CC 11 nn + CC 9 nn + CC 9 nn + CC 9 nn + CC 9 nn + CC 9 nn + CC 9 nn + CC 9 nn + CC 12 nn + CC 13 = (CC 1 + CC 2 + CC 3 + CC 3 + CC 2 + CC 4 + CC 4 + CC 5 + CC 6 +CC 7 + CC 7 + CC 7 + CC 10 + CC 13 )nn 0 + (256CC 1 + 256CC 8 + 256CC 9 )nn 0 + (CC 11 + CC 9 + CC 9 + CC 9 + CC 9 + CC 9 + CC 9 + CC 9 + CC 12 )nn 1 = θ(nn) Tabel 4.9 menunjukkan hasil perhitungan kompleksitas algoritma Spritz pada proses Pseudo-Random Generation Algorithm(PRGA). Kolom CC pada tabel 4.9 merupakan kolom yang menunjukkan berapa kali processor melakukan komputasi. Kolom # sebagai variabel untuk menghitung pengerjaan satu baris program. Kolom CC xx # menghitung hasil perkalian kolom CC dengan #. Hasil dari kolom CC xx # dijumlahkan, sehingga diperoleh hasil kompleksitas algoritma Spritz pada proses Pseudo-Random Generation Algorithm(PRGA), yaitu θ(nn). 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.

Tabel 4.10 Waktu Proses Algoritma Beaufort untuk Jumlah 2.000 Karakter Jumlah Karakter Pengujian Waktu Proses 340,218 2.000 karakter 384,365 333,8081 Rata-Rata 352,7970333 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 Jumlah Karakter Pengujian Waktu Proses 727,253 8.000 karakter 660,2634 603,752 Rata-Rata 663,7561333 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 953,9293 14.000 karakter 753,7285 745,5373 Rata-Rata 817,7317

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 Jumlah Karakter Pengujian Waktu Proses 51,7681 2.000 karakter 41,9458 47,3904 Rata-Rata 47,03476667 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 217,1493 8.000 karakter 210,6098 214,2179 Rata-Rata 213,992333

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 Jumlah Karakter Pengujian Waktu Proses 419,8325 14.000 karakter 431,9099 423,8244 Rata-Rata 425,1887667 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. waktu proses(ms) 900 800 700 600 500 400 300 200 100 0 Grafik Panjang Karakter terhadap Waktu Proses 2.000 karakter 8.000 karakter 14.000 karakter Panjang Karakter Waktu Proses Algoritma Beaufort Waktu Proses Algoritma Spritz

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.