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;