Saran KESIMPULAN DAN SARAN

5.2 Saran

Pada penelitian ini, terdapat beberapa saran yang dapat dipertimbangkan untuk pengembangan sistem kedepannya, yakni : 1. Untuk pengembangan sistem selanjutnya karakter pada list dapat ditambahkan agar lebih banyak karakter yang bisa digunakan sebagai pesan plainteks. 2. Untuk pengembangannya diharapkan kombinasi ini dapat juga dilakukan terhadap Affine Cipher dan Beaufort Cipher. 3. Implementasi ini menghasilkan beberapa tampilan yang tidak user friendly. Untuk kedepannya menghindari kelemahan tampilan ini maka digunakan satu bahasa pemrograman saja. 4. Untuk pengembangan sistem selanjutnya dapat ditambahkan fungsi yang tidak hanya dapat mengambil file teks berekstensi doc. 5. Untuk menambah kualitas keamanan plainteks dan kecepatan proses kriptografi, maka dapat ditambahkan fungsi hash pada plainteks yang akan dilakukan kriptografi, sehingga karakter plainteks menjadi lebih sedikit tetapi tetap aman. Universitas Sumatera Utara DAFTAR PUSTAKA Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi. Edisi ke-1. Yogyakarta : Andi. Fauzana. 2013. Penerapan Sistem Kriptografi Rsa Banyak Kunci Untuk Prototipe Autentikasi Pengguna Pada Web . Skripsi.Universitas Sumatera Utara. Juliadi.et al. 2013. Kriptografi Klasik dengan Methode Modifikasi Affine Cipher yang diperkuat dengan Vigenère Cipher. Buletin Ilmiah Mat. Stat. dan Terapannya . 22 : 87-92. Kanamori, Y et al. 2009. Quantum three-pass protocol : key distribution using quantum superpotition states. International Journal of Network Security Its Application 12 : 64-70. Kester, Q A. 2012. a cryptosystem based on Vigenère cipher with varying key. International Journal of Advanced Research in Computer Engineering and Technologyi 110 : 108-113 Kromodimoeljo, Sentot. 2010. Teori dan Aplikasi Kriptografi. SPK IT Consulting. LPNK Cegah Kebocoran Informasi Melalui Persandian. 2011. http:bppt.go.id, 16 Juni 2011 diakses 1 Maret 2014. Mehta, KM et al. 2013. Encryption using Affine and One Time Pad AAOTP. International Journal of Advanced Research in Computer Science and Software Engineering 36 : 1003-1006. Mollin, R. A. 2007. An Introduction to Cryptography. Edisi ke-2. Florida: Chapman HallCRC. Munir, Rinaldi. 2006. Kriptografi. Bandung : INFORMATIKA. Oktaviana, Boni. 2012. Kombinasi Vigenère Cipher dan Caesar Cipher pada three -pass prorocol . Tesis.Universitas Sumatera Utara. Pramana, T.S. 2013. Implementasi Massey-Omura Cryptosystem dan lehmann prime generator untuk keamanan email pada Mozilla thunderbird . Skripsi. Universitas Sumatera Utara. Reza, Muhammad. 2012. Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura. Jurnal Dunia Teknologi Informasi 11 : 20-27. Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan. Yogyakarta: ANDI. Universitas Sumatera Utara Shukla, S et al. 2014. Implementation of Affine substitution cipher with keyed transposition cipher for enhancing data security. International Journal of Advanced Research in Computer Science and Software Engineering 41 : 236-241 Smart, N. 2004. Cryptography An Introductions. New York : McGraw-Hill. Winata G.R. 2012. Eksplorasi Kekuatan Kombinasi Dua Buah Teknik Cipher. Online http:informatika.stei.itb.ac.id~rinaldi-munirKriptografi2011- 2012Makalah-2012Makalah-Kripto-2012-027.pdf 1 Maret 2014. Whitthen, et al. 2004. Metode Desain Analisis Sistem. Edisi 6. New York : McGraw-Hill Universitas Sumatera Utara LISTING PROGRAM

1. Module tppba.py

import random import time z=[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q ,R,S,T,U,V,W,X,Y,Z,0,1,2,3,4,5,6,7 ,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o, p,q,r,s,t,u,v,w,x,y,z,.,,,,,,, ,,,,,{,},[,],+,-,=,,,,:, ;, _, ?, |, `, ~, \\, , ] 93 lz = lenz def Lehmannp: trial = 10 for i in range 0, trial: BilRand = random.randint2, p - 1 temp = p - 12 L = powBilRand, temp, p if L = 1 L - p = -1: return False return True def genPrimex: BilRand = random.randintpow10, x - 1, pow10, x - 1 p = BilRand 2 2 + 1 while not Lehmannp: BilRand = random.randintpow10, x - 1, pow10, x - 1 p = BilRand 2 2 + 1 return p Universitas Sumatera Utara def keyk: ky = for x in rangelenk: BilRand_Key = random.randint10, 99 temp = z.indexk[x] + BilRand_Key lz ky = ky + z[temp] return ky def EnkBeaufort Plainteks, kunci: hasil1 = for x in rangelenPlainteks: temp = z.indexkunci[x] - z.indexPlainteks[x] lz hasil1 = hasil1 + z[temp] return hasil1 def EnkAffm, b, data: hasil2 = for x in rangelendata: temp = m z.indexdata[x] + b lz hasil2 = hasil2 + z[temp] return hasil2 def DekBeaufort data, kunci: hasil3 = for x in rangelendata: temp = z.indexkunci[x] - z.indexdata[x] lz hasil3 = hasil3 + z[temp] Universitas Sumatera Utara return hasil3 t0 = time.time def DekAffm, b, data, data2: hasil4 = for x in rangelendata: temp = z.indexdata[x] + m - 1 z.indexdata2[x] + b lz hasil4 = hasil4 + z[temp] return hasil4 def gesery : b = random.randint0, pow10,y return b def karakterc: kr = lenc return kr def waktuAlgot0,t1: tot_waktu = t1 - t0 return tot_waktu

2. Modul pintu.py

import sys sys.path.appendd:\kode\program def pintu fungsi: if fungsi == BilPrima: import tppba Universitas Sumatera Utara from tppba import genPrime hasil = genPrimec printhasil, end = elif fungsi == shiff: import tppba from tppba import geser hasil1 = geserc printhasil1, end = elif fungsi == EnkripBeaufort: import tppba from tppba import EnkBeaufort C1 = EnkBeaufortd,e printC1, end = elif fungsi == EnkripAffine: import tppba from tppba import EnkAff C2 = EnkAffb,c,d printC2, end = elif fungsi == DekripBeaufort: import tppba from tppba import DekBeaufort C3 = DekBeaufortd,e printC3, end = elif fungsi == DekripAffine: import tppba from tppba import DekAff Pl = DekAffb,c,d,e printPl, end = elif fungsi == KunciBeau: import tppba Universitas Sumatera Utara from tppba import key kunci = keyd printkunci, end = elif fungsi == HtgKarakter: import tppba from tppba import karakter kar = karakterd printkar, end = global a a = strsys.argv[1] global b b = intsys.argv[2] global c c = intsys.argv[3] global d d = strsys.argv[4] global e e = strsys.argv[5] pintua Universitas Sumatera Utara

3. Header pada SharpDevelop

using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using System.Linq; using System.Text; using System.Diagnostics; using System.IO; using System.Dynamic;

4. Fungsi Membuka Directory File Teks .doc

void Button1Clickobject sender, EventArgs e { OpenFileDialog dialog = new OpenFileDialog; dialog.Filter = Document MsWord|.doc; dialog.Title = Open file doc : ; dialog.RestoreDirectory = true; ifdialog.ShowDialog == DialogResult.OK{ string dirName = System.IO.Path.GetDirectoryNamedialog.FileName; string drive = dirName.SplitSystem.IO.Path.VolumeSeparatorChar[1]; textBoxCari.Text = dirName + \\ + dialog.SafeFileName.ToString; } }

5. Fungsi Membaca Directory File Teks .doc

void ButtonBukaClickobject sender, EventArgs e { Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.ApplicationClass; object filenameO = textBoxCari.Text.ToString; object objFalse = false; object objTrue = true; object missing = System.Reflection.Missing.Value; object emptyData = string.Empty; try{ Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Openref filenameO, ref objFalse, ref objTrue, r ef missing, ref missing, ref missing, ref missing, ref missing, ref m issing, ref missing, ref objTrue, ref missing, ref missing, ref missi ng, ref missing; aDoc.ActiveWindow.Selection.WholeStory; Universitas Sumatera Utara aDoc.ActiveWindow.Selection.Copy; IDataObject data = System.Windows.Forms.Clipboard.GetDataObject; String fileText = data.GetDataSystem.Windows.Forms.DataFormats.Text.ToString; System.Windows.Forms.Clipboard.SetDataObjectstring.E mpty; textBoxBuka.Text = fileText; } catchException err{ MessageBox.Showerr.Message; } finally{ MessageBox.ShowFile berhasil dibaca; } }

6. Fungsi Kunci Beaufort

void Button3Clickobject sender, EventArgs e { string Plainteks1 = textBoxBuka.Text.ToString; ProcessStartInfo p = new ProcessStartInfo; p.RedirectStandardOutput = true; p.FileName = c:\\python31\\python.exe;