LISTING PROGRAM. 1. Bahasa Python Modulegate.py. Universitas Sumatera Utara. import sys sys.path.append("c:\skrip")

Ukuran: px
Mulai penontonan dengan halaman:

Download "LISTING PROGRAM. 1. Bahasa Python Modulegate.py. Universitas Sumatera Utara. import sys sys.path.append("c:\skrip")"

Transkripsi

1 67 1. Bahasa Python LISTING PROGRAM 1.1. Modulegate.py import sys sys.path.append("c:\skrip") import pythona def gerbang(fungsi): if(fungsi == "bangkitkunci"): from pythona import bangkitkankunci p, q, n = bangkitkankunci() print(p, q, n) elif(fungsi == "cekkunci"): from pythona import cekkunci hasil = cekkunci(b,c) print(hasil) elif(fungsi == "enkripsi"): from pythona import programenkripsi C = programenkripsi(d, b) for i in range(len(c)): print(c[i], end = " ") elif(fungsi == "dek"): from pythona import decryptciphertext cetak = decryptciphertext(d, b, c) for i in range(len(cetak)): print(cetak[i], end = " ") elif(fungsi == "dek2"): from pythona import decryptciphertext2 cetak = decryptciphertext2(d, b, c) for i in range(len(cetak)): print(cetak[i], end = " ") elif(fungsi == "cari"): from pythona import carihitamdaripath hasil = carihitamdaripath(d, b) for i in range(len(hasil)): print(hasil[i], end = '') if(i < len(hasil)-1): print(',', end = '') elif(fungsi == "embed"): from pythona import jalankansisip stroutput = jalankansisip(d, e, b) print(stroutput) elif(fungsi == "ekstrak"): from pythona import jalankanekstrak stroutput = jalankanekstrak(d) print(stroutput) global a a = str(sys.argv[1]) global b b = int(sys.argv[2]) global c c = int(sys.argv[3]) global d d = str(sys.argv[4])

2 68 global e e = str(sys.argv[5]) gerbang(a) 1.2. ModulepythonA.py import random, time class Timer(object): ''' timer starts with class initialisation ''' def init (self): self.t1= time.time() self.t2= time.time() def getelapsedltime(self): # gets total elapsed from class initialsation self.delta=time.time()-self.t1 return '{0:.3f'.format(self.delta) def gettimedifference(self): # gets time elapsed from previous reading (for first reading this is equal to total time elapsed getelapsedltime() self.delta=time.time()-self.t2 self.t2 = time.time() return '{0:.3f'.format(self.delta) def differentrandom(n): x = [] for i in range(0, len(str(n))): a = random.randint(2,n-1) while a in x: a = random.randint(2,n-1) x.append(a) return x def tobin(x): return "{0:b".format(x) def ntobin(n): return tobin(n-1) def modexpsam(x, y, z): b = tobin(y) t = len(b) result = 1 for i in range(0, t): result = (result * result) % z if(b[i] == "1"): result = (result * x) % z return result

3 69 def moduloeks(acak, y, bil): z = 1 for j in range (1, y + 1): z = (acak * z) % bil return z def fermatprime(x): y = x - 1 # panjang digit untuk pengetesan iterasi = len(str(x)) * 2 if(iterasi < 3): iterasi = 3 for i in range (0, iterasi): acak = random.randint(1, y) if(moduloeks(acak, y, x)!= 1): return False return True def isprime(x): lowprimes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,15 7,163,167,173,179,181,191,193,197,199,211,223,227,229,233,2 39,241,251,257,263,269,271,277,281,283,293,307,311,313,317, 331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,50 3,509,521,523,541,547,557,563,569,571,577,587,593,599,601,6 07,613,617,619,631,641,643,647,653,659,661,673,677,683,691, 701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,90 7,911,919,929,937,941,947,953,967,971,977,983,991,997] if x in lowprimes: return True elif x & 1!= 0: return fermatprime(x) return False def bangkitkankunci(): syarat_tdk_terpenuhi = True while syarat_tdk_terpenuhi: p = random.randint(3,10000) if (p % 4 == 3) and isprime(p): syarat_tdk_terpenuhi = False syarat_tdk_terpenuhi = True while syarat_tdk_terpenuhi: q = random.randint(3,10000) if (q!= p) and (q % 4 == 3) and isprime(q): syarat_tdk_terpenuhi = False n = p * q return p, q, n def cekkunci(key1, key2): if (key1 % 4 == 3) and isprime(key1) and (key2 % 4 == 3) and isprime(key2) and (key1!= key2): return "T" else: return "F"

4 70 def enkripsi(p, n): if P < n: C = modexpsam(p,2,n) return C return False def encryptall(p, n): C = [] for i in range(0, len(p)): C.append(enkripsi(ord(P[i]),n)) if C[i] == False: break; return C def programenkripsi(plaintext, kuncipublik): measure=timer() P = str(plaintext) n = int(kuncipublik) C = encryptall(p, n) C.append(measure.getElapsedlTime()) return C def exteuclid(a,b): A, B, x, lastx, y, lasty = a, b, 1, 0, 0, 1 while (B > 0): hasilbagi = A//B sisabagi = A - hasilbagi * B A, B = B, sisabagi S = x - hasilbagi * lastx x, lastx = lastx, S T = y - hasilbagi * lasty y, lasty = lasty, T return A, x, y def CRT(mp, mq, p, q): n = p * q M1 = n // p M2 = n // q gcd, y1, y2 = exteuclid(m1,m2) return mp*m1*y1, mq*m2*y2, n def autodekripsi(c, p, q): mp = modexpsam(c, (p+1)//4, p) mq = modexpsam(c, (q+1)//4, q) x, y, n = CRT(mp,mq,p,q) P1 = (x + y) % n P2 = (x - y) % n P3 = (-x + y) % n P4 = (-x - y) % n return min(p1, P2, P3, P4) def autodekripsirabin(c, p, q): mp = modexpsam(c, (p+1)//4, p) mq = modexpsam(c, (q+1)//4, q) x, y, n = CRT(mp,mq,p,q)

5 71 P1 = (x + y) % n P2 = (x - y) % n P3 = (-x + y) % n P4 = (-x - y) % n return min(p1, P2, P3, P4), P1, P2, P3, P4 def convertliststringctoint(c): hasil = [] c = C.split(',') for i in c: hasil.append(int(i)) return hasil def decryptciphertext2(c, p, q): measure=timer() C = convertliststringctoint(c) P = [] for i in range(0, len(c)): minp = autodekripsi(c[i], p, q) P.append(chr(minP)) stringp = ''.join(p) et = measure.getelapsedltime() cetak = [] cetak.append(stringp) cetak.append(et) temp = tulishasildekripsi(stringp) return cetak def decryptciphertext(c, p, q): measure=timer() C = list(c) ordo = [] for i in range(len(c)): ordo.append(ord(c[i])) C = ordo P = [] for i in range(0, len(c)): minp = autodekripsi(c[i], p, q) P.append(chr(minP)) stringp = ''.join(p) et = measure.getelapsedltime() cetak = [] cetak.append(stringp) cetak.append(et) temp = tulishasildekripsi(stringp) return cetak class Convert: def toli(self, string): temp = string.split(',') temp2 = [] for e in temp: temp2.append(int(e)) return temp2 def tosi(self, L): temp = ""

6 72 for i in range(len(l)): temp += str(l[i]) if(i < len(l)-1): temp += ',' return temp def todec(self, P): temp = [] for i in range(len(p)): temp.append(ord(p[i])) return temp def toascii(self, string): string = self.toli(string) temp = "" for e in string: temp += chr(e) return temp #hasil = isprime(100) #print(hasil) 2. Bahasa C# 2.1. Fungsi Pembangkit Kunci pada FormPembangkitKunci.cs public void runpythonbangkitkunci(){ ProcessStartInfo p = new ProcessStartInfo(); p.filename = "c:\\python33\\python.exe"; p.redirectstandardoutput = true; p.useshellexecute = false; p.arguments = "c:\\skrip\\gate.py "+ "bangkitkunci 0 0 'x' 'x'"; // start the python program with two parameters try{ using(process exeproc = Process.Start(p)){ StreamReader s = exeproc.standardoutput; String output = s.readtoend(); '); string []r = output.split(new char[]{' textboxkuncip.text = r[0].tostring(); textboxkunciq.text = r[1].tostring(); textboxkuncin.text = r[2].tostring();

7 73 catch{ MessageBox.Show("Gagal melakukan pembangkit kunci.", "Kesalahan Proses Pembangkit Kunci", MessageBoxButtons.OK, MessageBoxIcon.Error); void ButtonGenerateClick(object sender, EventArgs e) { if(!string.isnullorwhitespace(textboxkuncip.text) &!string.isnullorwhitespace(textboxkunciq.text)){ if(messagebox.show("kunci yang anda tulis sebelumnya akan terhapus. Yakin untuk melanjutkan?", "Peringatan: Pembangkitan Kunci", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK){ else{ runpythonbangkitkunci(); runpythonbangkitkunci(); 2.2.Fungsi Cek Kunci pada FormPembangkitKunci.cs void ButtonCekKunciClick(object sender, EventArgs e){ if(string.isnullorwhitespace(textboxkuncip.text) string.isnullorwhitespace(textboxkunciq.text)){ MessageBox.Show("Pasangan kunci tidak boleh ada yang kosong.", "Kesalahan Kunci", MessageBoxButtons.OK, MessageBoxIcon.Error);

8 74 textboxkuncin.text = ""; else if(!string.isnullorwhitespace(textboxkuncip.text) &!string.isnullorwhitespace(textboxkunciq.text)){ string hasil = runpythoncekkunci(); if(string.equals(hasil, "T")){ else{ int a = int.parse(textboxkuncip.text); int b = int.parse(textboxkunciq.text); int c = a*b; textboxkuncin.text = c.tostring(); MessageBox.Show("Kunci tidak memenuhi syarat.", "Kesalahan Kunci", MessageBoxButtons.OK, MessageBoxIcon.Error); textboxkuncin.text = ""; public string runpythoncekkunci(){ string hasil; int kunci1 = int.parse(textboxkuncip.text); int kunci2 = int.parse(textboxkunciq.text); ProcessStartInfo p = new ProcessStartInfo(); p.filename = "c:\\python33\\python.exe"; p.redirectstandardoutput = true; p.useshellexecute = false; p.arguments = "c:\\skrip\\gate.py "+ "cekkunci " + kunci1 + " " + kunci2 + " 'x' 'x'"; try{ using(process exeproc = Process.Start(p)){

9 75 StreamReader s = exeproc.standardoutput; String output = s.readtoend(); string []r = output.split(new char[]{' '); hasil = r[0][0].tostring(); catch{ MessageBox.Show("Gagal dalam melakukan cek kunci.", "Kesalahan Cek Kunci", MessageBoxButtons.OK, MessageBoxIcon.Error); hasil = ""; return hasil; 2.3.Fungsi Enkrip Pesan void Button1EnkripsiClick(object sender, EventArgse) { if(string.isnullorwhitespace(textbox1plaintext.text) stri ng.isnullorwhitespace(textbox1keyotp.text)){ MessageBox.Show("Kunci OTP atau Pesan tidak boleh kosong.", "Kesalahan Dekripsi", MessageBoxButtons.OK, MessageBoxIcon.Error); else{ textbox2chiphertext.text=""; //ambilplainteks string plain=textbox1plaintext.text; //ambilpanjangplainteks int panjangplain=textbox1plaintext.text.length; //ambilkunci string kunci=textbox1keyotp.text; //ambilpanjangkunci

10 76 int pk=kunci.length; string cipher=""; //cekpanjangkuncidgnplain kunciotp= ""; if(pk<panjangplain){ //contohkunci=abc //plain:farid //kunciotp=abc kunciotp +=kunci; string ""); int pjgtempplain=tempplain.length; for(int i = 0; i<(panjangplain-pjgtempplain);i++){ //kunciotp=abcfa tempplain+= (char)tempplain[i]; //MessageBox.Show(tempplain); //proses menyamakan kunci == plain //perulangan sesuai kurangnya kunci for(int i = 0; i<(panjangplain-pk);i++){ //kunciotp=abcfa kunciotp+= (char)tempplain[i]; else{ kunciotp = kunci; DateTime starttime = DateTime.Now; MessageBox.Show("panjang karakter : "+panjangplain.tostring()); //algoritma otp for(int i=0; i<panjangplain;i++){ cipher+=(char) (plain[i] + kunciotp[i]); 2.4. Program Enkripsi Kunci Pesan

11 77 void Button1EnkripkeyClick(object sender, EventArgs e) { //cek kunci if(string.isnullorwhitespace(textboxkeyrabin.text)){ MessageBox.Show("Kunci publik belum ada.", "Kesalahan Enkripsi", MessageBoxButtons.OK, MessageBoxIcon.Error); //cek plain else if(string.isnullorempty(textbox1keyotp.text)){ MessageBox.Show("Tidak ada pesan (plaintext) yang terdeteksi.", "Kesalahan Enkripsi", MessageBoxButtons.OK, MessageBoxIcon.Error); else{ //jika ada string ciphertext = runpythonenkripsi(); textbox1cipherkey.copy(); public string runpythonenkripsi(){ string hasil; string hasil2; //ambil kunci int n = int.parse(textboxkeyrabin.text); //ambil pesan string plaintext =kunciotp; //ambil pnjang kunci int pjgplaintext = kunciotp.length; // string pltxt1 = plaintext.replace("\"","\\\""); int temporary = 0; ProcessStartInfo p = new ProcessStartInfo(); p.filename = "c:\\python33\\python.exe"; p.redirectstandardoutput = true; p.useshellexecute = false; // make sure we can read the output from stdout p.arguments = "c:\\skrip\\gate.py "+ "enkripsi " + n + " " + temporary + " \"" + pltxt1 + "\" 'x'"; try{ using(process exeproc = Process.Start(p)){ StreamReader s = exeproc.standardoutput; String output = s.readtoend(); string r = output; // get the parameter hasil = r.tostring(); hasil2 = hasil.replace(" ",","); hasil2 = hasil2.remove(hasil2.length-1,1);

12 78 string elapsedtime = hasil2.split(',').last(); hasil2 = hasil2.remove((hasil2.length - elapsedtime.length), elapsedtime.length); hasil2 = hasil2.remove(hasil2.length-1,1); if(hasil2 == "False"){ MessageBox.Show("Kunci publik tidak memenuhi syarat.", "Kesalahan Melakukan Enkripsi", MessageBoxButtons.OK, MessageBoxIcon.Error); hasil2 = ""; else{ textbox1cipherkey.text = hasil2.tostring(); //Untuk menampilkan ASCII try{ string kode = textbox1cipherkey.text.tostring(); List<string> listhasilsplit = new List<string>(kode.Split(',')); List<Int32> ci = listhasilsplit.convertall(x => Convert.ToInt32(x)); List<char> lichar = new List<char>(ci.ConvertAll(x => Convert.ToChar(x))); string chartostring = string.join("", lichar.toarray()); catch{ kode = chartostring; //End Tampil ASCII MessageBox.Show("Berhasil melakukan enkripsi (" + elapsedtime + " detik)", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information); 2.5. Program dekripsi Kunci Pesan void Button1dekripkeyotpClick(object sender, EventArgs e) { if(string.isnullorwhitespace(kp.text) string.isnullorwhitespace(kq.text)){ MessageBox.Show("Kunci private tidak boleh kosong.", "Kesalahan Dekripsi", MessageBoxButtons.OK, MessageBoxIcon.Error);

13 79 else if(string.isnullorempty(ctotp.text)){ MessageBox.Show("Tidak ada ciphertext terdeteksi.", "Kesalahan Dekripsi", MessageBoxButtons.OK, MessageBoxIcon.Error); else{ try{ string ciphertext = ctotp.text.tostring(); string[] buffers = new string[ctotp.text.tostring().length]; buffers = ubahkeint(); string result = ConvertStringArrayToStringJoin(bufferS); List<string> listhasilsplit = new List<string>(ciphertext.Split(',')); List<Int32> ci = listhasilsplit.convertall(x => Convert.ToInt32(x)); List<char> lichar = new List<char>(ci.ConvertAll(x => Convert.ToChar(x))); string chartostring = string.join("", lichar.toarray()); ciphertext = chartostring; string plaintext = runpythondekripsi(ciphertext); catch{ //MessageBox.Show("Ciphertext harus berupa angka yang dipisah dengan koma.", "Kesalahan melakukan dekripsi", MessageBoxButtons.OK, MessageBoxIcon.Error); string ciphertext = ctotp.text.tostring(); string plaintext = runpythondekripsi(ciphertext); public string ConvertStringArrayToStringJoin(string[] array){ string result = string.join(",", array); return result; string[] ubahkeint(){ string C = ctotp.text.tostring(); char[] chararr = C.ToCharArray(); int val; string[] buffers = new string[chararr.length]; for(int i = 0; i < chararr.length; i++){ val = Convert.ToInt32(charArr[i]); buffers[i] = Convert.ToString(val);

14 80 return buffers; public string runpythondekripsi(string strintc){ string hasil; string hasil2; int kuncip = int.parse(kp.text); int kunciq = int.parse(kq.text); ProcessStartInfo p = new ProcessStartInfo(); p.filename = "c:\\python33\\python.exe"; p.redirectstandardoutput = true; p.useshellexecute = false; // make sure we can read the output from stdout p.arguments = "c:\\skrip\\gate.py "+ "dek " + kuncip + " " + kunciq + " " + "\"" + strintc + "\" 'x'"; // start the python program with two parameters try{ using(process exeproc = Process.Start(p)){ StreamReader s = exeproc.standardoutput; String output = s.readtoend(); string r = output; // get the parameter hasil = r.tostring(); string[] parts = hasil.split(' '); parts[parts.length - 2]; string elapsedtime = hasil2 = hasil.remove((hasil.length - elapsedtime.length), elapsedtime.length); hasil2 = hasil2.remove(hasil2.length-1,1); hasil2 = hasil2.remove(hasil2.length-1,1); // menghilangkan spasi di akhir kalimat kotp.text = hasil2.tostring(); int pjgpesanasli = hasil2.length; MessageBox.Show("Berhasil melakukan dekripsi (" + elapsedtime + " detik)", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information);

15 81 catch{ //throw; strintc = ctotp.text.tostring(); p.filename = "c:\\python33\\python.exe"; p.redirectstandardoutput = true; p.useshellexecute = false; // make sure we can read the output from stdout p.arguments = "c:\\skrip\\gate.py "+ "dek2 " + kuncip + " " + kunciq + " " + "\"" + strintc + "\" 'x'"; // start the python program with two parameters try{ using(process exeproc = Process.Start(p)){ StreamReader s = exeproc.standardoutput; String output = s.readtoend(); string r = output; // get the parameter hasil = r.tostring(); '); parts[parts.length - 2]; string[] parts = hasil.split(' string elapsedtime = hasil2 = hasil.remove((hasil.length - elapsedtime.length), elapsedtime.length); hasil2 = hasil2.remove(hasil2.length-1,1); hasil2 = hasil2.remove(hasil2.length-1,1); // menghilangkan spasi di akhir kalimat hasil2.length; kotp.text = hasil2; int pjgpesanasli = MessageBox.Show("Berhasil melakukan dekripsi (" + elapsedtime + " detik)", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information); catch{ //throw; strintc = kotp.text.tostring();

16 82 p.filename = "c:\\python33\\python.exe"; p.redirectstandardoutput = true; p.useshellexecute = false; // make sure we can read the output from stdout p.arguments = "c:\\skrip\\gate.py "+ "dek2 " + kuncip + " " + kunciq + " " + "\"" + strintc + "\" 'x'"; // start the python program with two parameters try{ using(process exeproc = Process.Start(p)){ StreamReader s = exeproc.standardoutput; String output = s.readtoend(); string r = output; // get the parameter hasil = r.tostring(); hasil.split(' '); parts[parts.length - 2]; string[] parts = string elapsedtime = hasil2 = hasil.remove((hasil.length - elapsedtime.length), elapsedtime.length); hasil2 = hasil2.remove(hasil2.length-1,1); hasil2 = hasil2.remove(hasil2.length-1,1); // menghilangkan spasi di akhir kalimat hasil2.length; kotp.text = hasil2; int pjgpesanasli = MessageBox.Show("Berhasil melakukan dekripsi (" + elapsedtime + " detik)", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information); catch{ //throw;

17 83 MessageBox.Show("Kesalahan melakukan dekripsi.", "Kesalahan", MessageBoxButtons.OK, MessageBoxIcon.Error); hasil2 = ""; return hasil2; 2.6. Perogram dekripsi pesan void Button2dekripsiClick(object sender, EventArgs e) { if(string.isnullorwhitespace(textbox1cipher.text) string.isnullorwhitespace(textbox1cipherkey.text)){ MessageBox.Show("Kunci OTP dan Pesan Cipher tidak boleh kosong.", "Kesalahan Dekripsi", MessageBoxButtons.OK, MessageBoxIcon.Error); else{ //ambil cipher string cipher=textbox1cipher.text; //panjang cipher int panjang= textbox1cipher.text.length; //ambil kunci string kunci = kotp.text; string pesan=""; DateTime waktuawal = DateTime.Now; //algoritma otp for(int i=0; i<panjang;i++){ pesan += (char)(cipher[i]-kunci[i]); //MessageBox.Show(pesan.ToString()); MessageBox.Show("panjang : "+panjang.tostring()); MessageBox.Show("tes"); DateTime waktuakhir = DateTime.Now; /*MessageBox.Show("Time : " + elapsed.hours.tostring("00") + ":" +elapsed.minutes.tostring("00") + ":" + elapsed.seconds.tostring("00") + "." +elapsed.milliseconds.tostring("000"));*/ pesanbox.text=pesan; TimeSpan selisihwaktu = waktuakhir.subtract(waktuawal); MessageBox.Show("Time : " +selisihwaktu.hours.tostring()+" :"+selisihwaktu.minutes.tostring()+" : " + selisihwaktu.seconds.tostring()+" : " +selisihwaktu.milliseconds.tostring());

18 84 CURRICULUM VITAE Nama : Alfrid Iskandar Ramadhany Panggabean Alamat Sekarang : Jln. Umar Said No.1C Binjai Alamat Orang Tua : Jln. Umar Said No.1C Binjai Telp/ Hp : [email protected] Riwayat Pendidikan : S-1 Ilmu Komputer, Medan : SMA Negeri 1, Binjai : SMP Negeri 2, Binjai : SD , Binjai Keahlian Bahasa : Indonesia, Inggris Bahasa Pemrograman : C#.NET, Python. Database : Microsoft Access. Design : Photoshop, Corel Draw, Ilustrator Pengalaman Organisasi [ ] OSIS SMA Negeri 1 Binjai [ ] Paskibraka SMA Negeri 1 Binjai [ ] Anggota Kemahasiswaan IMILKOM [ ] Kepala Bidang Kemahasiswaan IMILKOM

19 85 Pengalaman Kepanitiaan [2010] Anggota Dokumentasi Seminar Teknologi Informasi The Development Of Modern Operating System Technology [2012] Ketua Bidang Dana dan Usaha PORSENI IMILKOM 2012 [2012] Ketua Bidang Acara PMB IMILKOM 2012

LISTING PROGRAM. namespace NTRUEOF { public class parameterenkripsi { public static readonly parameterenkripsi parameterenkripsi(401, 2048, 113, 60);

LISTING PROGRAM. namespace NTRUEOF { public class parameterenkripsi { public static readonly parameterenkripsi parameterenkripsi(401, 2048, 113, 60); A-1 LISTING PROGRAM 1. parameterenkripsi.cs System; System.Collections.Generic; System.Linq; System.Text; System.Threading.Tasks; namespace NTRUEOF public class parameterenkripsi parameterenkripsi(401,

Lebih terperinci

LISTING PROGRAM. public static BigInteger gcd(biginteger m, BigInteger n){ BigInteger r = m % n; while (r!= 0){ return gcd(n,r); } return n; }

LISTING PROGRAM. public static BigInteger gcd(biginteger m, BigInteger n){ BigInteger r = m % n; while (r!= 0){ return gcd(n,r); } return n; } LISTING PROGRAM 1. Class keygen.cs using System; using System.Numerics; namespace Program_Skripsi /// /// Description of keygen. /// public class keygen private int prima; public keygen(int

Lebih terperinci

LAMPIRAN A : LISTING PROGRAM

LAMPIRAN A : LISTING PROGRAM LAMPIRAN A : LISTING PROGRAM Basic.java package ferluleapp; /** * * @author Ratna */ public class basic { //fungsi untuk menghitung modulus dalam pangkat yang besar public static int modexp(int a, int

Lebih terperinci

LISTING PROGRAM. private void pemecahankuncibutton_click(object sender, EventArgs e) { PemecahanForm form = new PemecahanForm(); form.

LISTING PROGRAM. private void pemecahankuncibutton_click(object sender, EventArgs e) { PemecahanForm form = new PemecahanForm(); form. A-1 LISTING PROGRAM Form Halaman Utama using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using

Lebih terperinci

LISTING PROGRAM. using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms;

LISTING PROGRAM. using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; A-1 LISTING PROGRAM 1. Mainform using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; namespace Skripsi_1 /// /// Description of MainForm. ///

Lebih terperinci

Vigenere Minimum-Prime Key-Adding Cipher

Vigenere Minimum-Prime Key-Adding Cipher Vigenere Minimum-Prime Key-Adding Cipher Zakka Fauzan Muhammad 1) 1) Teknik Informatika ITB, Bandung, email: [email protected] Abstraksi Akhir-akhir ini, keamanan data dan berkas yang dikirimkan

Lebih terperinci

LAMPIRAN LISTING PROGRAM

LAMPIRAN LISTING PROGRAM LAMPIRAN Kode Program Algoritma Brute-Force: LISTING PROGRAM public class Bruteforce { List semuanode; Node nodetujuan, nodeasal; public float jarakminimum; public List hasil; public TimeSpan

Lebih terperinci

LISTING PROGRAM. Public m, n, i, j, result1, cocok1, mpnext(0 To 255) As Integer

LISTING PROGRAM. Public m, n, i, j, result1, cocok1, mpnext(0 To 255) As Integer A-1 LISTING PROGRAM Imports MySql.Data.MySqlClient Public Class Algoritma Public x(), y() As Char Public p, t As String Public m, n, i, j, result1, cocok1, mpnext(0 To 255) As Integer Public result2, state,

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN 3.1 Analisis Sistem Analisis sistem merupakan uraian dari sebuah sistem kedalam bentuk yang lebih sederhana dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan

Lebih terperinci

LAMPIRAN LISTING PROGRAM

LAMPIRAN LISTING PROGRAM A-1 LAMPIRAN LISTING PROGRAM 1. Kode Program RC4A using System; using System.IO; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using System.Text; namespace Sistem

Lebih terperinci

Perulangan, Percabangan, dan Studi Kasus

Perulangan, Percabangan, dan Studi Kasus Perulangan, Percabangan, dan Studi Kasus Perulangan dan percabangan merupakan hal yang sangat penting dalam menyusun suatu program Pada pertemuan kali ini akan dibahas secara detail tentang perulangan

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN BAB III ANALISA DAN PERANCANGAN III.1. Analisa Masalah Handphone merupakan salah satu bentuk teknologi yang perkembangannya cukup tinggi dan merupakan suatu media elektronik yang memegang peranan sangat

Lebih terperinci

Pertemuan2 Percabangan & Perulangan pada Python

Pertemuan2 Percabangan & Perulangan pada Python Pertemuan2 Percabangan & Perulangan pada Python Objektif: 1. Mahasiswa mengetahui percabangan dan perulangan pada Python. 2. Mahasiswa mengetahui bentuk umum dari percabangan dan perulangan pada Python.

Lebih terperinci

Teorema Fermat Dalam Menentukan Keprimaan Bilangan

Teorema Fermat Dalam Menentukan Keprimaan Bilangan Teorema Fermat Dalam Menentukan Keprimaan Bilangan Jauhar Arifin 13515049 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

APLIKASI MENGELOLA DATA ACCESS LOG MENGGUNAKAN C# Melihat LOG berdasar Hari, Jam, dan URL Terbanyak diakses

APLIKASI MENGELOLA DATA ACCESS LOG MENGGUNAKAN C# Melihat LOG berdasar Hari, Jam, dan URL Terbanyak diakses APLIKASI MENGELOLA DATA ACCESS LOG MENGGUNAKAN C# Melihat LOG berdasar Hari, Jam, dan URL Terbanyak diakses Disusun oleh Bayu Pratama RN [M0507011] S1 TEKNIK INFORMATIKA UNS FAKULTAS MIPA Batasan Aplikasi

Lebih terperinci

AP2B Dini Triasanti STRUKTUR PEMROGRAMAN PYTHON

AP2B Dini Triasanti STRUKTUR PEMROGRAMAN PYTHON STRUKTUR PEMROGRAMAN PYTHON 1. Aturan Penulisan Program-program yang ditulis dalam Python secara khas jauh lebih pendek dibandingkan dengan program-program C atau C++, karena beberapa pertimbangan: tipe

Lebih terperinci

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Perkembangan jaringan komputer di masa kini memungkinan kita untuk melakukan pengiriman pesan melalui jaringan komputer. Untuk menjaga kerahasiaan dan keutuhan pesan

Lebih terperinci

Percabangan & Perulangan

Percabangan & Perulangan Struktur Dasar Java Percabangan & Perulangan Object-oriented Programming (OOP) with JAVA 2011/2012 Macam-macam Percabangan if (...) if ( ) else ( ) if ( ) else if ( ) else ( ) switch ( ) Percabangan :

Lebih terperinci

BAB IV. HASIL PENELITIAN DAN PEMBAHASAN

BAB IV. HASIL PENELITIAN DAN PEMBAHASAN BAB IV. HASIL PENELITIAN DAN PEMBAHASAN Dalam bab ini penulis akan membahas tahap-tahap pembuatan sistem menggunakan model waterfall yang sudah dijelaskan pada bab sebelumnya.tahap-tahap pembuatan sistem,

Lebih terperinci

Badiyanto, S.Kom., M.Kom. PBO java

Badiyanto, S.Kom., M.Kom. PBO java Badiyanto, S.Kom., M.Kom PBO java Apa yang Disebut Java? Bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan kemampuankemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, Simula).

Lebih terperinci

STRUKTUR PEMROGRAMAN PYTHON

STRUKTUR PEMROGRAMAN PYTHON I. ATURAN PENULISAN II. STRUKTUR PEMROGRAMAN PYTHON program program yang ditulis dalam Python secara khas jauh lebih pendek dibandingkan dengan program-program C atau C++, karena : Tipe data tingkat tinggi

Lebih terperinci

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1)

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1) MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1) Deskripsi Singkat Struktur data array memang sederhana namun unsur-unsur pada array terkait rapat sehingga proses menggeser data di dalam

Lebih terperinci

BAB IV IMPLEMENTASI DAN PEMBAHASAN. Dengan Metode Vigenere Cipher Untuk Pengamanan Sms Pada

BAB IV IMPLEMENTASI DAN PEMBAHASAN. Dengan Metode Vigenere Cipher Untuk Pengamanan Sms Pada BAB IV IMPLEMENTASI DAN PEMBAHASAN 4.1. Pembahasan Aplikasi dengan judul Implementasi Algoritma Kriptografi Dengan Metode Vigenere Cipher Untuk Pengamanan Sms Pada Android dibangun dengan menggunakan bahasa

Lebih terperinci

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK Deskripsi Singkat merupakan bentuk struktur data seperti tumpukan yang memiliki konsep Last In First Out (LIFO). Bermakna data yang terakhir masuk merupakan

Lebih terperinci

Algoritma Kriptografi Kunci-publik RSA menggunakan Chinese Remainder Theorem

Algoritma Kriptografi Kunci-publik RSA menggunakan Chinese Remainder Theorem Algoritma Kriptografi Kunci-publik RSA menggunakan Chinese Remainder Theorem Muhamad Reza Firdaus Zen NIM : 13504048 Sekolah Teknik Elektro dan Informatika ITB, Bandung, email: [email protected]

Lebih terperinci

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch.

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch. Modul 2 Percabangan dan Loop Tujuan : 1. Praktikan mengetahui macam macam percabangan pada Java 2. Praktikan mengetahui macam macam loop pada Java 3. Praktikan mampu memahami logika percabangan dan loop

Lebih terperinci

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom BAB III DASAR-DASAR PEMROGRAMAN Tipe Data Data adalah sekumpulan kejadian/fakta yang dipresentasikan dengan huruf, angka,

Lebih terperinci

LISTING PROGRAM. System.IO.File.WriteAllText(direktoriawal + "/Pengirim/" + filename,

LISTING PROGRAM. System.IO.File.WriteAllText(direktoriawal + /Pengirim/ + filename, 100 LISTING PROGRAM Kode Program Class Enkrip using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Numerics; using System.IO;

Lebih terperinci

HASIL DAN PEMBAHASAN. Algoritma Modular Exponentiation mempunyai kompleksitas sebesar O((lg n) 3 ) (Menezes et al. 1996).

HASIL DAN PEMBAHASAN. Algoritma Modular Exponentiation mempunyai kompleksitas sebesar O((lg n) 3 ) (Menezes et al. 1996). pengukuran running time dari setiap perlakuan. Ulangan setiap perlakuan dilakukan sebanyak 10 kali untuk masing-masing RSA dan RSA-. Lingkungan Penelitian Perangkat keras dan perangkat lunak yang digunakan

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisa Masalah Kebutuhan manusia akan perangkat informasi dan komunikasi seakan menjadi kebutuhan yang tidak terpisahkan dalam kehidupan. Dengan banyaknya aplikasi

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis Masalah Data yang disimpan dalam database perlu dilindungi dari akses yang tidak diizinkan, kerusakan/perubahan yang merugikan, serta timbulnya inkonsistensi

Lebih terperinci

LISTING PROGRAM. Private Sub MDIParent1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

LISTING PROGRAM. Private Sub MDIParent1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load A-1 LISTING PROGRAM TAMPILAN UTAMA Public Class FormUtama Public lokasilsb As String Public lokasi2lsb As String Public besarfilelsb As Long Public besarfile2lsb As Long Public lokasieof As String Public

Lebih terperinci

PENERAPAN TEKNIK ENSKRIPSI EL GAMAL PADA APLIKASI JASA PENGIRIMAN MENGGUNAKAN BAHASA PEMROGRAMAN C#

PENERAPAN TEKNIK ENSKRIPSI EL GAMAL PADA APLIKASI JASA PENGIRIMAN MENGGUNAKAN BAHASA PEMROGRAMAN C# PENERAPAN TEKNIK ENSKRIPSI EL GAMAL PADA APLIKASI JASA PENGIRIMAN MENGGUNAKAN BAHASA PEMROGRAMAN C# Yoyon Arie Budi 1* Teknik Informatika, Sekolah Tinggi Ilmu Komputer PGRI, Banyuwangi, Indonesia 1* [email protected]

Lebih terperinci

Bab 3. Metode dan Perancangan Sistem

Bab 3. Metode dan Perancangan Sistem Bab 3 Metode dan Perancangan Sistem 3.1 Tahapan Penelitian Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi dalam empat tahapan, yaitu: (1) Analisis kebutuhan dan pengumpulan

Lebih terperinci

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009 SOAL C++ 1. Penulisan Preprocessor yang benar di awali dengan tanda pound atau tanda : a. # c. @ b. & d. = 2. Contoh penulisan file header yang benar yaitu : a. &include c. =include

Lebih terperinci

BAB III BAB III METODE PENELITIAN

BAB III BAB III METODE PENELITIAN BAB III BAB III METODE PENELITIAN Sesuai dengan tujuan penelitian yaitu membangun model perangkat lunak algoritma Pohlig-Hellman multiple-key berdasarkan algoritma RSA multiple-key, maka pada bab ini dimulai

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM Pada bab ini akan dibahas mengenai Aplikasi Keamanan Database Menggunakan Metode elgamal yang meliputi analisa sistem dan desain sistem. III.1. Analisis Masalah Adapun

Lebih terperinci

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN Obektif: Praktikan mengetahui arra, percabangan, dan perulangan pada Java. Praktikan mengetahui bentuk umum

Lebih terperinci

LAMPIRAN A : LISTING PROGRAM

LAMPIRAN A : LISTING PROGRAM 57 LAMPIRAN A : LISTING PROGRAM /* * Source Code Program Algoritma Kombinasi RSA dan ElGamal * oleh : * Nama : Hasnan Aulia Haq * NIM : 100823019 * Prodi : Ekstensi Matematika * Jurusan : Matematika FMIPA

Lebih terperinci

Metode Binnary Searching di Java Console

Metode Binnary Searching di Java Console Metode Binnary Searching di Java Console Oleh: Yudi Setiawan Dalam pemrograman, pencarian data merupakan suatu hal yang sangat gampang dilakukan. Anda sebagai programmer bisa menggunakan beberapa teknik

Lebih terperinci

Selamat Mengerjakan. 2. Keluaran dari baris 10 adalah? a. 1 b. 4 c. 2.5 d. 2 e Keluaran dari baris 11 adalah? a. 1 b. 4 c. 2.5 d. 2 e.

Selamat Mengerjakan. 2. Keluaran dari baris 10 adalah? a. 1 b. 4 c. 2.5 d. 2 e Keluaran dari baris 11 adalah? a. 1 b. 4 c. 2.5 d. 2 e. LAT SOAL ALGORITMA DAN PEMROGRAMAN Selamat Mengerjakan Perhatikan kode program berikut ini untuk soal 1 hingga 3 1. : 2. a, b : integer 3. d, e : real 4. 5. a 15 6. b 6 7. d 5 8. e 2 9. output(a % b) 10.

Lebih terperinci

Gambar 1. Ilustrasi Stack

Gambar 1. Ilustrasi Stack PRAKTIKUM 22 STACK (TUMPUKAN) A. TUJUAN PEMBELAJARAN 1. Memahami konsep penyimpanan data dengan stack (tumpukan) 2. Memahami operasi pada stack 3. Mampu mengimplementasikan struktur data stack pada pemrograman

Lebih terperinci

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

BAB III ANALISA DAN PERANCANGAN. pengamanan file teks dengan menggunakan algoritma triangle chain dan rivest cipher (RC4). BAB III ANALISA DAN PERANCANGAN III.1. Analisa Sistem Analisa masalah yang didapat dari penelitian ini adalah membuat implementasi pengamanan file teks dengan menggunakan algoritma triangle chain dan rivest

Lebih terperinci

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

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM. KriptoSMS akan mengenkripsi pesan yang akan dikirim menjadi ciphertext dan BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM 3.1 Analisis Kebutuhan Aplikasi KriptoSMS ini digunakan untuk mengirim dan menerima pesan. KriptoSMS akan mengenkripsi pesan yang akan dikirim menjadi

Lebih terperinci

Streamed Key Vigenere Cipher : Vigenere Cipher Menggunakan Penerapan Metode Pembangkitan Aliran Kunci

Streamed Key Vigenere Cipher : Vigenere Cipher Menggunakan Penerapan Metode Pembangkitan Aliran Kunci Streamed Key Vigenere Cipher : Vigenere Cipher Menggunakan Penerapan Metode Pembangkitan Aliran Kunci Faradina Ardiyana Program Studi Teknik Informatika Institut Teknologi Bandung, Jl.Ganesha 10 Bandung

Lebih terperinci

BAB Argument Command-Line dan System Properties

BAB Argument Command-Line dan System Properties BAB 5 Aplikasi Berbasis Teks 5.1 Tujuan Pembahasan kali ini akan menitikberatkan pada bahasan penggunaan argument command-line. Selebihnya, Anda akan mempelajari mengenai penggunaan streams untuk mendapatkan

Lebih terperinci

LAMPIRAN I LISTING PROGRAM

LAMPIRAN I LISTING PROGRAM A-1 LAMPIRAN I LISTING PROGRAM 1. Main form. Cs public partial class MainForm :Form public MainForm() InitializeComponent(); TODO: void Button1Click(object sender, System.EventArgs e) Artikata tampil =

Lebih terperinci

ShortHand If Else di Java

ShortHand If Else di Java ShortHand If Else di Java Oleh: Yudi Setiawan Maksud dari Short Hand di sini ialah penulisan singkat dari statement If Else di java. Tidak hanya di Java, di PHP pun Anda juga bisa menerapkannya hanya saja

Lebih terperinci

Integrasi Kriptografi Kunci Publik dan Kriptografi Kunci Simetri

Integrasi Kriptografi Kunci Publik dan Kriptografi Kunci Simetri Integrasi Kriptografi Kunci Publik dan Kriptografi Kunci Simetri Andrei Dharma Kusuma / 13508009 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

BAHASA PEMROGRAMAN JAVA

BAHASA PEMROGRAMAN JAVA MI1274 Algoritma & Pemrograman Lanjut Genap 2015-2016 BAHASA PEMROGRAMAN JAVA Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran

Lebih terperinci

BAB III PEMBAHASAN. Informasi rahasia yang dikirim ke pihak penerima, jika tidak disandikan bisa

BAB III PEMBAHASAN. Informasi rahasia yang dikirim ke pihak penerima, jika tidak disandikan bisa BAB III PEMBAHASAN A. Permasalahan Nyata Keamanan Informasi Informasi rahasia tidak boleh bocor ke publik, jika informasi bocor maka akan merugikan pihak yang berkepentingan dalam informasi tersebut. Informasi

Lebih terperinci

DASAR PEMOGRAMAN JAVA

DASAR PEMOGRAMAN JAVA DASAR PEMOGRAMAN JAVA Pertemuan ke-2 Oleh: Winda Aprianti Tipe Data Bilangan Karakter Kata atau Kalimat Boolean Literal merepresentasikan nilai suatu tipe, dimana tipe itu sendiri menjelaskan bagaimana

Lebih terperinci

BAB V IMPLEMENTASI DAN PENGUJIAN 5.1. Implementasi Pada tahapan ini dilakukan proses implementasi dan pengujian. Dimana proses ini dilakukan setelah proses analisis dan perancangan dari sistem yang dibahas

Lebih terperinci

Perulangan / Looping

Perulangan / Looping PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2013/2014 Perulangan / Looping Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya 7 Aspek Dasar

Lebih terperinci

Bab 4 Hasil dan Pembahasan

Bab 4 Hasil dan Pembahasan Bab 4 Hasil dan Pembahasan 4.1 Implementasi Sistem berikut. Hasil implementasi sistem berdasarkan perancangan yang telah dibuat, dijelaskan sebagai Gambar 4.1. Form Voting Gambar 4.1 merupakan antarmuka

Lebih terperinci

Enkripsi Teks dengan Algoritma Affine Cipher

Enkripsi Teks dengan Algoritma Affine Cipher Konferensi Nasional Sistem Informasi dan Komputer-1520 1 Enkripsi Teks dengan Algoritma Affine Cipher Text Encryption using Affine Cipher Algorithm Andysah Putera Utama Siahaan Fakultas Ilmu Komputer,

Lebih terperinci

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar? 1 of 14 2/21/2008 2:34 PM Waktu Sisa : 0:43:58 1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar? 2 of 14 2/21/2008 2:34 PM 2. Pernyataan manakah yang benar mengenai

Lebih terperinci

BAB II VARIABEL DAN TIPE DATA

BAB II VARIABEL DAN TIPE DATA BAB II VARIABEL DAN TIPE DATA Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman dengan

Lebih terperinci

Percabangan dan Perulangan

Percabangan dan Perulangan Percabangan dan Perulangan uliana Setiowati Politeknik Elektronika egeri Surabaya 2011 1 Topik Percabangan switch Perulangan Special Loop Control 2 Flowchart Bagan-bagan yang mempunyai arus yang menggambarkan

Lebih terperinci

LAMPIRAN A. Universitas Sumatera Utara

LAMPIRAN A. Universitas Sumatera Utara 69 LAMPIRAN A 70 LAMPIRAN. LISTING PROGRAM 1. Listing program untuk membuat papan dan random huruf package robert.simanjuntak; import java.util.arraylist; import java.util.random; import android.graphics.color;

Lebih terperinci

Membuat Program Kriptografi dengan VB.Net 2010

Membuat Program Kriptografi dengan VB.Net 2010 Membuat Program Kriptografi dengan VB.Net 2010 M. Rhifky Wayahdi [email protected] [email protected] Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi

Lebih terperinci

MODUL PRAKTIKUM BASIS DATA PENGENALAN STRUKTUR DATA DAN KOMPLEKSITAS WAKTU

MODUL PRAKTIKUM BASIS DATA PENGENALAN STRUKTUR DATA DAN KOMPLEKSITAS WAKTU Deskripsi Singkat MODUL PRAKTIKUM BASIS DATA PENGENALAN STRUKTUR DATA DAN KOMPLEKSITAS WAKTU Praktikum struktur data dan algoritma adalah praktikum yang mendukung mata kuliah struktur data dan algoritma.

Lebih terperinci

2 TIPE DATA DAN VARIABEL

2 TIPE DATA DAN VARIABEL BAB 2 TIPE DATA DAN VARIABEL Kompetensi Dasar dan Indikator : Setelah mengikuti materi kuliah ini mahasiswa mampu menggunakan tipe data dan variable yang ada dalam Java, dengan indikator mahasiswa mampu:

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN 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

Lebih terperinci

Kriptografi untuk Huruf Hiragana

Kriptografi untuk Huruf Hiragana Kriptografi untuk Huruf Hiragana Nabilah Shabrina Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia [email protected]

Lebih terperinci

MODUL III ARRAYLIST TUGAS PENDAHULUAN

MODUL III ARRAYLIST TUGAS PENDAHULUAN MODUL III ARRAYLIST TUGAS PENDAHULUAN 1. Jelaskan pengertian ArrayList? 2. Jelaskan perbedaan Array dan ArrayList? 3. Tuliskan contoh sintak ArrayList! 1. TUJUAN Mahasiswa dapat memahami konsep ArrayList

Lebih terperinci

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI E-MAIL Satya Fajar Pratama NIM : 13506021 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : [email protected]

Lebih terperinci

1. Latar Belakang masalah Pemakaian teknologi komputer sebagai salah satu aplikasi dari teknologi informasi sudah menjadi suatu kebutuhan, karena

1. Latar Belakang masalah Pemakaian teknologi komputer sebagai salah satu aplikasi dari teknologi informasi sudah menjadi suatu kebutuhan, karena 1. Latar Belakang masalah Pemakaian teknologi komputer sebagai salah satu aplikasi dari teknologi informasi sudah menjadi suatu kebutuhan, karena banyak pekerjaan yang dapat diselesaikan dengan cepat,

Lebih terperinci

BAB III ANALISIS DAN RANCANGAN

BAB III ANALISIS DAN RANCANGAN BAB III ANALISIS DAN RANCANGAN Sebelum merancang sebuah sistem, perlu dilakukan analisis terlebih dahulu. Analisis sistem adalah proses menentukan kebutuhan sistem, apa yang harus dilakukan sistem untuk

Lebih terperinci

Pencarian (Searching)

Pencarian (Searching) Praktikum 11 Pencarian (Searching) POKOK BAHASAN: Konsep pencarian dengan sequential search dan binary search Struktur data proses pencarian Implementasi algoritma pencarian sequential search dan binary

Lebih terperinci

BAB IV HASIL DAN PEMBAHASAN

BAB IV HASIL DAN PEMBAHASAN 37 BAB IV HASIL DAN PEMBAHASAN 4.1 Sistem Admisi Non Pemamik di UKSW Sistem Admisi Non Pemamik di Universitas Kristen Satya Wacana saat ini akan dijelaskan melalui Gambar 4.1. Gambar 4.1 Sistem Admisi

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis Masalah Handphone merupakan salah satu teknologi yang sangat diminati masyarakat dalam membantu pekerjaan, pendidikan yang memberikan informasi secara

Lebih terperinci

SKRIPSI BILQIS

SKRIPSI BILQIS ANALISIS DAN PERANCANGAN APLIKASI PESAN RAHASIA MENGGUNAKAN ALGORITMA ONE TIME PAD (OTP) DENGAN PEMBANGKIT BILANGAN ACAK LINEAR CONGRUENTIAL GENERATOR (LCG) SKRIPSI BILQIS 081401072 PROGRAM STUDI S1 ILMU

Lebih terperinci

BAB 1 PENDAHULUAN Latar belakang

BAB 1 PENDAHULUAN Latar belakang BAB 1 PENDAHULUAN 1.1. Latar belakang Seiring berkembangnya zaman, diikuti juga dengan perkembangan teknologi sampai saat ini, sebagian besar masyarakat melakukan pertukaran atau saling membagi informasi

Lebih terperinci

Bab 3. Metode dan Perancangan Sistem

Bab 3. Metode dan Perancangan Sistem Bab 3 Metode dan Perancangan Sistem Dalam perancangan dan pengimplementasian perangkat lunak diperlukan perancangan sistem terlebih dahulu yang bertujuan untuk memberikan gambaran kepada pengguna tentang

Lebih terperinci

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Keamanan informasi merupakan hal yang sangat penting dalam menjaga kerahasiaan informasi terutama yang berisi informasi sensitif yang hanya boleh diketahui

Lebih terperinci

BAB III METODOLOGI PENELITIAN. ditemukan oleh Rivest, Shamir dan Adleman (RSA) pada tahun

BAB III METODOLOGI PENELITIAN. ditemukan oleh Rivest, Shamir dan Adleman (RSA) pada tahun BAB III METODOLOGI PENELITIAN 3.1 Analisis Algoritma Kriptografi RSA Algoritma kriptografi RSA adalah algoritma untuk keamanan data yang ditemukan oleh Rivest, Shamir dan Adleman (RSA) pada tahun 1977-1978.

Lebih terperinci

Penyamaran Plainteks pada Algoritma Vigenere Chiper StegaVig Makalah IF5054 Kriptografi

Penyamaran Plainteks pada Algoritma Vigenere Chiper StegaVig Makalah IF5054 Kriptografi Penyamaran Plainteks pada Algoritma Vigenere Chiper StegaVig Makalah IF5054 Kriptografi Dyah Saptanti Perwitasari Teknik Informatika ITB, Bandung 40135, email: [email protected] Abstract Permasalahan

Lebih terperinci

PERULANGAN PADA PYTHON

PERULANGAN PADA PYTHON AP2B DINI TRIASANTI 1 PERULANGAN PADA PYTHON Perintah perulangan di gunakan untuk mengulang pengeksekusian statemen-statemen hingga berkali-kali sesuai dengan iterasi yang diinginkan. Dalam python, perintah

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM BAB III PERANCANGAN SISTEM 3.1. Analisis Sistem Analisis sistem adalah salah satu tahap perancangan sebuah sistem yang bertujuan agar sistem yang dirancang menjadi tepat guna dan ketahanan sistem tersebut

Lebih terperinci

ENKRIPSI DENGAN MENGGUNAKAN METODE ELGAMAL PADA PERANGKAT MOBILE

ENKRIPSI  DENGAN MENGGUNAKAN METODE ELGAMAL PADA PERANGKAT MOBILE ENKRIPSI EMAIL DENGAN MENGGUNAKAN METODE ELGAMAL PADA PERANGKAT MOBILE Yudhistira Taufan A. 1, Idris Winarno, S.ST., M.Kom², Kholid Fathoni, S.Kom. 2 Mahasiswa 1, Dosen 2 Politeknik Elektronika Negeri

Lebih terperinci

Pertemuan III [STRUKTUR KONTROL] CariGrade.java Program mencari grade nilai menggunakan struktur control if-else

Pertemuan III [STRUKTUR KONTROL] CariGrade.java Program mencari grade nilai menggunakan struktur control if-else Pertemuan III [STRUKTUR KONTROL] Materi : 1. Struktur kontrol if 2. Struktur kontrol if-else 3. Operator kondisi (?:) 4. Struktur kontrol switch 5. Struktur kontrol for 6. Struktur kontrol while 7. Struktur

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis III.1.1 Analisis Masalah Secara umum data dikategorikan menjadi dua, yaitu data yang bersifat rahasia dan data yang bersifat tidak rahasia. Data yang

Lebih terperinci

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom Tipe Data dan Variabel Dosen Pengampu Muhammad Zidny Naf an, M.Kom Format Pseudocode Lengkap Judul program/algoritma PROGRAM Euclidean Program untuk mencari GCD dari dua buah bilangan bulat positif m dan

Lebih terperinci

Penerapan ECC untuk Enkripsi Pesan Berjangka Waktu

Penerapan ECC untuk Enkripsi Pesan Berjangka Waktu Penerapan ECC untuk Enkripsi Pesan Berjangka Waktu Dinah Kamilah Ulfa-13511087 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE Deskripsi Singkat merupakan bentuk struktur data seperti antrian yang memiliki konsep First In First Out (FIFO). Bermakna data yang pertama masuk merupakan

Lebih terperinci

Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah

Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah Junita Sinambela (13512023) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Rancangan Algoritma Kriptografi Boink2 Berbasis Subtitusi Karakter

Rancangan Algoritma Kriptografi Boink2 Berbasis Subtitusi Karakter Rancangan Algoritma Kriptografi Boink2 Berbasis Subtitusi Karakter Tessa Ramsky - NIM : 13504124 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10 Bandung Email: [email protected]

Lebih terperinci

Latar Belakang Masalah Landasan Teori

Latar Belakang Masalah Landasan Teori 1 Muhammad hasanudin hidayat 2 Entik insanudin E-mail:[email protected], [email protected] APLIKASI KRIPTOGRAFI DENGAN METODE HILL CHIPER BERBASIS DESKTOP. Banyak jenis algoritma atau

Lebih terperinci

1. BAB III ANALISA DAN PERANCANGAN SISTEM

1. BAB III ANALISA DAN PERANCANGAN SISTEM 1. BAB III ANALISA DAN PERANCANGAN SISTEM Pada bab ini akan membahas tentang analisa dan perancangan sistem. Analisa sistem meliputi deskripsi produk, analisa kebutuhan dan use case, sedangkan perancangan

Lebih terperinci

Analisis dan Perbandingan Kecepatan Algoritma RSA dan Algoritma ElGamal

Analisis dan Perbandingan Kecepatan Algoritma RSA dan Algoritma ElGamal Analisis dan Perbandingan Kecepatan Algoritma RSA dan Algoritma ElGamal Nikolaus Indra - 13508039 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN SEKOLAH TINGGI MANAJEMEN INFORMAA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN Mata Kuliah : KAPITA SELEKTA BAHASA PEMROGRAMAN Kode Mata Kuliah : MI - 15310 Jurusan / Jenjang : S1 SISTEM INFORMASI

Lebih terperinci

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM BAB III ANALISA DAN DESAIN SISTEM III.1. Analisis Sistem Yang Berjalan Penggunaan komputer untuk mengelola informasi sudah dipakai di kalangan dunia bisnis, pelajar dan lain sebagainya. Informasi yang

Lebih terperinci

Security Chatting Berbasis Desktop dengan Enkripsi Caesar Cipher Key Random

Security Chatting Berbasis Desktop dengan Enkripsi Caesar Cipher Key Random Security Chatting Berbasis Desktop dengan Enkripsi Caesar Cipher Key Random Gratia Vintana #1, Mardi Hardjianto #2 # Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Budi Luhur

Lebih terperinci