LISTING PROGRAM. 1. Form Menu Utama. Universitas Sumatera Utara
|
|
- Fanny Kusumo
- 6 tahun lalu
- Tontonan:
Transkripsi
1 LISTING PROGRAM 1. Form Menu Utama using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using hybrid.controller; namespace KriptografiHybrid.Controller public partial class mainform : Form #region VAR ############ private Boolean bisexit = false; #endregion #region KONSTRUKTOR ################### public mainform() InitializeComponent(); #endregion #region PROPERTIES public Boolean isexit get return bisexit; #endregion private void enkripsitoolstripmenuitem_click(object sender, EventArgs e) encryptform oform2 = new encryptform(); oform2.showdialog(); if (oform2.isaccessible) this.close(); private void dekripsitoolstripmenuitem_click(object sender, EventArgs e) decryptform oform3 = new decryptform(); oform3.showdialog(); if (oform3.isaccessible) this.close();
2 e) private void exittoolstripmenuitem_click(object sender, EventArgs bisexit = true; this.close(); private void bantuantoolstripmenuitem_click(object sender, EventArgs e) private void tentangprogrammertoolstripmenuitem_click(object sender, EventArgs e) programmerform oform4 = new programmerform(); oform4.showdialog(); private void menggunakanaplikasitoolstripmenuitem_click(object sender, EventArgs e) HelpForm oform5 = new HelpForm(); oform5.showdialog(); 2. Form Enkripsi using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using hybrid.lib; using System.Diagnostics; namespace KriptografiHybrid.Controller public partial class encryptform : Form long jum; int nckey; int n = 0; long[] nil_w = new long[1000]; int[,] tempval = new int[4, 4]; int a; int[,] kunci = new int[4, 4]; private String fileext; DoubleMatrix k = null;
3 #region VAR ############ // private Boolean bisexit = false; // private Boolean pembangkitkuncivalid = false; #endregion #region KONSTRUKTOR ################### public encryptform() InitializeComponent(); #endregion #region SUDAH DIRAPIKAN /// <summary> /// Set default /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void encryptform_load(object sender, EventArgs e) cbmatrixkunci.selectedindex = 0; /// <summary> /// Cari file yang akan di enkripsi /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnpilihsumberfile_click(object sender, EventArgs e) OpenFileDialog FileDialog = new OpenFileDialog(); if (FileDialog.ShowDialog() == DialogResult.OK) txtsumberfile.text = FileDialog.FileName.ToString(); fileext = Path.GetExtension(FileDialog.FileName).Substring(1); txtextensisumberfile.text = fileext; /// <summary> /// Generate matrix kunci /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btngeneratekunci_click(object sender, EventArgs e) cbjumlahw.items.clear(); if (cbmatrixkunci.text == "2x2") a = 2; for (int i = 2; i < ((32 / 2) + 1); i++) if (32 % i == 0) cbjumlahw.items.add(i.tostring()); if (cbmatrixkunci.text == "3x3")
4 a = 3; for (int i = 2; i < ((72 / 2) + 1); i++) if (72 % i == 0) cbjumlahw.items.add(i.tostring()); if (cbmatrixkunci.text == "4x4") a = 4; for (int i = 2; i < ((128 / 2) + 1); i++) if (128 % i == 0) cbjumlahw.items.add(i.tostring()); MessageBox.Show("Secara Otomatis 2x2"); a = 2; for (int i = 2; i < 17; i++) if (32 % i == 0) cbjumlahw.items.add(i.tostring()); Random rand = new Random(); int b = rand.next(1, 256); richtextbox1.text = ""; bool kondisi = false; while (!kondisi) for (int i = 0; i < a; i++) for (int j = 0; j < a; j++) "; kunci[0, 1]); kunci[i, j] = rand.next(0, 255); //richtextbox1.text += kunci[i,j].tostring() + " richtextbox1.text += "\n"; int det = 0; if (a == 2) det = (kunci[0, 0] * kunci[1, 1]) - (kunci[1, 0] * // MessageBox.Show("hasi determinanan" + det); if (a == 3)
5 kunci[1, 0])) * kunci[2, 3])) - kunci[2, 1])) * kunci[0, 3])) det = ((kunci[0, 0] * kunci[1, 1] * kunci[2, 2]) + (kunci[0, 1] * kunci[1, 2] * kunci[2, 0]) + (kunci[0, 2] * kunci[1, 0] * kunci[2, 1])) - ((kunci[2, 0] * kunci[1, 1] * kunci[0, 2]) + (kunci[2, 1] * kunci[1, 2] * kunci[0, 0]) + (kunci[2, 2] * kunci[1, 0] * kunci[0, 1])); if (a == 4) det = ( ((kunci[0, 0] * kunci[1, 1]) - (kunci[0, 1] * ); while (det < 0) det += 256; if (det % 2!= 0) ((kunci[2, 2] * kunci[3, 3]) - (kunci[3, 2] * ((kunci[2, 0] * kunci[3, 1]) - (kunci[3, 0] * ((kunci[0, 2] * kunci[1, 3]) - (kunci[1, 2] * "; while (((256 * b) + 1) % det == 0) b = rand.next(1, 256); richtextbox1.text = ""; for (int i = 0; i < a; i++) for (int j = 0; j < a; j++) richtextbox1.text += kunci[i, j].tostring() + " richtextbox1.text += "\n"; detinv.text = b.tostring(); kondisi = true; // Knoversi dari array kunci ke class DoubleMatrix // (nilai byte = 1 2x2,23x3,34x4) int selectedindexkeymatrix = cbmatrixkunci.selectedindex + 1; if (selectedindexkeymatrix == 1) // 2x2 k = new DoubleMatrix(2, 2); // baris dan kolom pada DoubleMatrix terbalik // baris 0 k[0, 0] = kunci[0, 0]; k[1, 0] = kunci[0, 1]; // baris 1 k[0, 1] = kunci[1, 0]; k[1, 1] = kunci[1, 1];
6 if (selectedindexkeymatrix == 2) // 3x3 k = new DoubleMatrix(3, 3); // baris 0 k[0, 0] = kunci[0, 0]; k[1, 0] = kunci[0, 1]; k[2, 0] = kunci[0, 2]; // baris 1 k[0, 1] = kunci[1, 0]; k[1, 1] = kunci[1, 1]; k[2, 1] = kunci[1, 2]; // baris 2 k[0, 2] = kunci[2, 0]; k[1, 2] = kunci[2, 1]; k[2, 2] = kunci[2, 2]; if (selectedindexkeymatrix == 3) // 4x4 k = new DoubleMatrix(4, 4); // baris 0 k[0, 0] = kunci[0, 0]; k[1, 0] = kunci[0, 1]; k[2, 0] = kunci[0, 2]; k[3, 0] = kunci[0, 3]; // baris 1 k[0, 1] = kunci[1, 0]; k[1, 1] = kunci[1, 1]; k[2, 1] = kunci[1, 2]; k[3, 1] = kunci[1, 3]; // baris 2 k[0, 2] = kunci[2, 0]; k[1, 2] = kunci[2, 1]; k[2, 2] = kunci[2, 2]; k[3, 2] = kunci[2, 3]; // baris 3 k[0, 3] = kunci[3, 0]; k[1, 3] = kunci[3, 1]; k[2, 3] = kunci[3, 2]; k[3, 3] = kunci[3, 3]; Console.WriteLine(k); /// <summary> /// Ambil tujuan file enkripsi /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnpilihtujuanfile_click(object sender, EventArgs e) SaveFileDialog savedialog = new SaveFileDialog(); savedialog.defaultext = fileext; savedialog.addextension = true; savedialog.filter = fileext + " (*." + fileext + ") " + fileext; if (savedialog.showdialog() == DialogResult.OK)
7 txttujuanfile.text = savedialog.filename.tostring(); /// <summary> /// Lakukan enkripsi cipher hill /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnenkripsi_click(object sender, EventArgs e) Stopwatch stopwatch = new Stopwatch(); stopwatch.start(); //DateTime awal, akhir; //awal = DateTime.Now; FileBitReader reader = new FileBitReader(txtSumberFile.Text); FileBitWriter writer = new FileBitWriter(txtTujuanFile.Text); // 1. Simpan pengenal personal writer.writebyte("hanna"); // 2. Simpan ukuran file int filesize = (int)reader.getfilesize(); int bytefilesize1 = filesize >> 24; int bytefilesize2 = (filesize >> 16) % 256; int bytefilesize3 = (filesize >> 8) % 256; int bytefilesize4 = filesize % 256; writer.writebyte(bytefilesize1); writer.writebyte(bytefilesize2); writer.writebyte(bytefilesize3); writer.writebyte(bytefilesize4); // 3. Simpan ukuran key matrix cipher hill (nilai byte = 1 2x2,23x3,34x4) int selectedindexkey = cbmatrixkunci.selectedindex + 1; writer.writebyte(selectedindexkey); HillCipher.encrypt(reader, writer, k); this.timer1.start(); reader.close(); writer.close(); stopwatch.stop(); MessageBox.Show("Enkripsi File Berhasil! (" + txttujuanfile.text + ")"); //lama enkripsi textbox4.text = stopwatch.elapsedmilliseconds + " ms ".ToString(); //ukuran file FileBitReader fileasli = new FileBitReader(txtSumberFile.Text); textbox6.text = fileasli.getfilesize() + " byte ".ToString(); fileasli.close(); //ukuran cipherfile FileBitReader fileterenkrip = new FileBitReader(txtTujuanFile.Text); textbox3.text = fileterenkrip.getfilesize() +" byte ".ToString();
8 fileterenkrip.close(); // /// <summary> /// Pilih jumlah w /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cbjumlahw_selectedindexchanged(object sender, EventArgs e) //int bitnil = 0; if (cbmatrixkunci.text == "2x2") // bitnil = 32; if (cbmatrixkunci.text == "3x3") // bitnil = 72; if (cbmatrixkunci.text == "4x4") // bitnil = 128; // // bitnil = 32; // /// <summary> /// Bangkitkan w,q,r /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btngenerate_click(object sender, EventArgs e) if (cbjumlahw.text == "") MessageBox.Show("piih terlebih dahulu banyak item w"); Random rand = new Random(); long temp = 0; n = Convert.ToInt32(cbJumlahW.Text); nil_w[0] = 1; jum = nil_w[0]; txtw.text = nil_w[0].tostring(); for (int i = 1; i < n; i++) for (int j = 0; j < i; j++) temp += nil_w[j]; nil_w[i] = temp + 1; jum += nil_w[i]; txtw.text += " " + nil_w[i].tostring(); temp = 0;
9 Random bil = new Random(); int acak = bil.next(1, 256); txtq.text = (acak + jum).tostring(); Random bil = new Random(); int acak = bil.next(1, 255); long Q = Convert.ToInt64(txtQ.Text); while (GCD.GCD1(acak, Q)!= 1) acak = bil.next(1, 255); txtr.text = acak.tostring(); long r = Convert.ToInt32(txtR.Text), q = Convert.ToInt64(txtQ.Text); n = Convert.ToInt32(cbJumlahW.Text); long[] nilpublic = new long[n]; txtkuncipublik.text = ""; for (int i = 0; i < n; i++) nilpublic[i] = ((nil_w[i] * r) % q); txtkuncipublik.text += nilpublic[i].tostring() + " "; txtkunciprivate.text = txtw.text; // dr sini /// <summary> /// Pilih tujuan key disimpan /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnpilihtujuankey_click(object sender, EventArgs e) SaveFileDialog savedialog = new SaveFileDialog(); savedialog.defaultext = "cipherkey"; savedialog.addextension = true; savedialog.filter = "cipherkey (*.cipherkey) cipherkey"; if (savedialog.showdialog() == DialogResult.OK) txttujuankey.text = savedialog.filename.tostring(); /// <summary> /// Lakukan enkripsi pada key (Knapsack) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_enkripsikunci_click(object sender, EventArgs e)
10 Stopwatch stopwatch = new Stopwatch(); stopwatch.start(); String cipher = Knapsack.encrypt(n, txtkuncipublik.text, a, kunci, nckey, txttujuankey.text, txtq.text, txtr.text, cbjumlahw.text, txtkunciprivate.text); textbox1.text = cipher; stopwatch.stop(); MessageBox.Show("Enkripsi Key Berhasil! (" + txttujuankey + ") - "); textbox5.text = stopwatch.elapsedmilliseconds + " ms ".ToString(); /// <summary> /// Keluar dari form enkripsi /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnbatal_click(object sender, EventArgs e) Close(); #region fungsi pembantu public int bin2int(string bin) int num = 0, count = 0; for (int i = (bin.length - 1); i >= 0; i--) if (bin[i] == '1') num += pangkat(2, count); count++; return num; public int pangkat(int a, int b) int hasil = 1; for (int i = 1; i <= b; i++) hasil *= a; return hasil; public Int64 brutemodulo(int64 a, Int64 b, Int64 c) return (((a % c) * (b % c)) % c); #endregion private void timer1_tick(object sender, EventArgs e) this.progressbar1.increment(1);
11 #endregion 3. Form Dekripsi using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using hybrid.lib; using System.Diagnostics; namespace KriptografiHybrid.Controller public partial class decryptform : Form // long jum; //int n = 0; long[] nil_w = new long[1000]; int[,] tempval = new int[4, 4]; //int a; int[,] kunci = new int[4, 4]; private String fileext; // DoubleMatrix k = null; #region VAR ############ // private Boolean bisexit = false; #endregion #region KONSTRUKTOR ################### public decryptform() InitializeComponent(); #endregion #region Sudah Dirapikan /// <summary> /// Pilih file cipher key dan baca w,q,r,cipherkey ke textbox /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnpilihfilecipherkey_click(object sender, EventArgs e) OpenFileDialog openkey = new OpenFileDialog(); openkey.filter = "cipherkey(*.cipherkey) *.cipherkey"; if (openkey.showdialog() == DialogResult.OK) string read = ""; StreamReader objreader = new StreamReader(openKey.FileName); txtfilecipherkey.text = openkey.filename;
12 read = objreader.readline(); int count = 0; while (read!= null) if (count == 0) txt_q.text = read; if (count == 1) txt_r.text = read; if (count == 3) txt_kunciprivat.text = read; if (count == 4) txtcipherkey.text = read; count++; read = objreader.readline(); objreader.close(); e) /// <summary> /// Lakukan dekripsi knapsack terhadap cipherkey, q, w, r /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_dekripsicipherkey_click(object sender, EventArgs try Stopwatch stopwatch = new Stopwatch(); stopwatch.start(); String result = Knapsack.decrypt(txt_KunciPrivat.Text, txtcipherkey.text, txt_q.text, txt_r.text); txt_ciphermatrix.text = result; stopwatch.stop(); MessageBox.Show("Dekripsi Key Berhasil! "); textbox2.text = stopwatch.elapsedmilliseconds + " ms ".ToString(); catch (Exception TerjadiKesalahan) MessageBox.Show("Error\n" + TerjadiKesalahan.ToString()); /// <summary> /// Pilih sumber file yang sudah terenkripsi /// </summary> /// <param name="sender"></param> /// <param name="e"></param>
13 private void btnpilihsumberfile_click(object sender, EventArgs e) OpenFileDialog FileDialog = new OpenFileDialog(); if (FileDialog.ShowDialog() == DialogResult.OK) txtsumberfiledekripsi.text = FileDialog.FileName.ToString(); fileext = Path.GetExtension(FileDialog.FileName).Substring(1); /// <summary> /// Pilih dimana file hasil dekripsi disimpan (Cipherhill) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnpilihtujuanfile_click(object sender, EventArgs e) SaveFileDialog savedialog = new SaveFileDialog(); savedialog.defaultext = fileext; savedialog.addextension = true; savedialog.filter = fileext + " (*." + fileext + ") "+fileext; if (savedialog.showdialog() == DialogResult.OK) txttujuanfiledekripsi.text = savedialog.filename.tostring(); /// <summary> /// Lakukan proses dekripsi dan simpan file hasil dekripsi /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_dekripsi_click(object sender, EventArgs e) Stopwatch stopwatch = new Stopwatch(); stopwatch.start(); String key = txt_ciphermatrix.text; // //buang spasi terakhir key = key.substring(0, key.length - 1); // posisi terakhir adalah spasi == 16) String[] keyarr = key.split(' '); if (keyarr.length == 4 keyarr.length == 9 keyarr.length int jenismatrix = (int)math.sqrt(keyarr.length); DoubleMatrix k = new DoubleMatrix(jenisMatrix, jenismatrix); int keyarrreaded = 0; for (int baris = 0; baris < jenismatrix; baris++) for (int kolom = 0; kolom < jenismatrix; kolom++) k[kolom, baris] = Convert.ToDouble(keyArr[keyArrReaded]); keyarrreaded++;
14 Console.WriteLine("k = " + k); FileBitReader reader = new FileBitReader(txtSumberFileDekripsi.Text); FileBitWriter writer = new FileBitWriter(txtTujuanFileDekripsi.Text); String identifier = String.Empty; for (int i = 0; i < 5; i++) identifier += (char)reader.readbyte(); if (identifier!= "HANNA") MessageBox.Show("File yang anda pilih, tidak bisa di dekripsi!"); //(nilai byte = 1 2x2,23x3,34x4) int bytefilesize1 = reader.readbyte(); int bytefilesize2 = reader.readbyte(); int bytefilesize3 = reader.readbyte(); int bytefilesize4 = reader.readbyte(); bytefilesize1 = bytefilesize1 << 24; bytefilesize2 = bytefilesize2 << 16; bytefilesize3 = bytefilesize3 << 8; long ukuranfile = bytefilesize1 + bytefilesize2 + bytefilesize3 + bytefilesize4; jenismatrix = reader.readbyte(); if (jenismatrix + 1!= k.rowcount) throw new Exception("Jenis matrix tidak cocok!"); HillCipher.decrypt(reader, writer, k, ukuranfile); stopwatch.stop(); MessageBox.Show("Dekripsi File Berhasil! " + txttujuanfiledekripsi.text + ")"); ".ToString(); //lama dekripsi textbox1.text = stopwatch.elapsedmilliseconds + " ms //MessageBox.Show(identifier); writer.close(); reader.close(); MessageBox.Show("Key yang anda masukkan salah! Key harus berupa 2x2; 3x3; 4x4"); #region Fungsi pembantu public string int2bin(int num, int jum) string bin = ""; for (int i = 0; i < jum; i++)
15 if (num % 2 == 1) bin = "1" + bin; bin = "0" + bin; num = num / 2; return bin; #endregion private void btnbatal_click(object sender, EventArgs e) Close(); #endregion private void groupbox1_enter(object sender, EventArgs e) 4. Form Menggunakan Aplikasi using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace hybrid.controller public partial class HelpForm : Form public HelpForm() InitializeComponent(); 5. Form Tentang using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing;
16 using System.Linq; using System.Text; using System.Windows.Forms; namespace hybrid.controller public partial class programmerform : Form public programmerform() InitializeComponent(); private void programmerform_load(object sender, EventArgs e) 6. Class Hill Cipher using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; namespace hybrid.lib class HillCipher public static void encrypt(filebitreader reader, FileBitWriter writer, DoubleMatrix k) // ambil jenis matrix int jenismatrix; // total baris = total kolom jenismatrix = k.rowcount; // ambil ukuran file long filesize = reader.getfilesize(); // variabel count jumlah byte yang sudah dibaca long readedbyte = 0; // lakukan pembacaan sampai seluruh file terbaca while (readedbyte < filesize) // ambil sebanyak jumlah matrix dan ciptakan matrix DoubleMatrix matrixp = new DoubleMatrix(1, jenismatrix); int readedp = 0; while (readedp < jenismatrix) if (readedbyte < filesize) matrixp[0, readedp] = reader.readbyte(); readedbyte++; matrixp[0, readedp] = 0; readedp++;
17 DoubleMatrix matrixc = new DoubleMatrix(1, jenismatrix); matrixc = k * matrixp; matrixc.mod(256); //Console.WriteLine("matrixC setelah mod = " + matrixc); for (int baris = 0; baris < matrixc.rowcount; baris++ ) writer.writebyte((int) matrixc[0, baris]); public static void decrypt(filebitreader reader, FileBitWriter writer, DoubleMatrix k, long orifilesize) DoubleMatrix adjk = k.adjoint(); double detk = k.determinant(); double x = 0; for (int i = 1; i < 10000; i++) double hasilmodulo = (detk * i) % 256; if (hasilmodulo == 1 (hasilmodulo + 256) == 1) x = i; break; //if (((256 * i) + 1) % detk == 0 ) // x = ((256 * i) + 1) / detk; // K"); if (x == 0) throw new Exception("Tidak bisa menemukan nilai invers Det DoubleMatrix invk = (x * adjk); invk.mod(256); for (int baris = 0; baris < invk.rowcount; baris++ ) for (int kol = 0; kol < invk.columncount; kol++) if (invk[kol, baris] < 0) invk[kol, baris] += 256; // pembuktian DoubleMatrix bukti = k * invk; bukti.mod(256); for (int baris = 0; baris < invk.rowcount; baris++) for (int kol = 0; kol < invk.columncount; kol++) if (baris == kol) if (bukti[kol, baris]!= 1)
18 throw new Exception("Inverse matrix benar!"); if (bukti[kol, baris]!= 0) throw new Exception("Inverse matrix salah!"); long readedbyte = 0; long writtenbyte = 0; int jenismatrix = k.rowcount; //Console.WriteLine("jenisMatrix = " + jenismatrix); //Console.WriteLine("fileSize = " + filesize); // lakukan pembacaan sampai seluruh file terbaca while (readedbyte < orifilesize) // ambil sebanyak jumlah matrix dan ciptakan matrix DoubleMatrix matrixc = new DoubleMatrix(1, jenismatrix); int readedp = 0; while (readedp < jenismatrix) matrixc[0, readedp] = reader.readbyte(); readedbyte++; readedp++; //Debug.WriteLine("matrixC = " + matrixc); //Console.WriteLine("matrixP = " + matrixp); DoubleMatrix matrixp = new DoubleMatrix(1, jenismatrix); matrixp = invk * matrixc; //Console.WriteLine("matrixC sebelum mod = " + matrixc); matrixp.mod(256); //Debug.WriteLine("matrixP = " + matrixp); //Console.WriteLine("matrixC setelah mod = " + matrixc); for (int baris = 0; baris < matrixp.rowcount; baris++) if (writtenbyte < orifilesize) writer.writebyte((int)matrixp[0, baris]); writtenbyte++; 7. Class Knapsack using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO;
19 namespace hybrid.lib class Knapsack public static String encrypt(int jlhw, string KunciPub, int jnsmatrix, int[,] kunci, int nckey, String txttujuankey, String txtq, String txtr, String cbjumlahw, String txtkunciprivate) String temp = String.Empty; string ktemppub = ""; int indeks = 0; int[] kpublic = new int[jlhw]; for (int i = 0; i < KunciPub.Length; i++) if (KunciPub.ElementAt(i) >= '0' && KunciPub.ElementAt(i) <= '9') ktemppub += KunciPub.ElementAt(i); if (ktemppub!= "") kpublic[indeks] = Convert.ToInt32(kTempPub); indeks++; ktemppub = ""; //int to Biner temp = ""; for (int i = 0; i < jnsmatrix; i++) for (int j = 0; j < jnsmatrix; j++) temp += Knapsack.int2bin(kunci[i, j], 8); //MessageBox.Show(temp.Text); //Pisah Menjadi Blok Biner indeks = 0; ktemppub = ""; nckey = (temp.length / jlhw); int counter = 0; string[] sesikeycipher = new string[nckey]; //MessageBox.Show(temp.Text+" "+temp.textlength); for (int i = 0; i < temp.length; i++) counter++; if (counter == jlhw) ktemppub += temp.elementat(i);
20 sesikeycipher[indeks] = ktemppub; ktemppub = ""; indeks++; counter = 0; ktemppub += temp.elementat(i); //Perkalian Blok Cipher int[] KeyCipher = new int[nckey]; temp = ""; for (int i = 0; i < nckey; i++) KeyCipher[i] = 0; for (int j = 0; j < jlhw; j++) if (sesikeycipher[i].elementat(j) == '1') KeyCipher[i] += kpublic[j]; temp += KeyCipher[i].ToString() + " "; // Simpan try FileStream teks = new FileStream(txtTujuanKey, FileMode.CreateNew, FileAccess.Write); StreamWriter tulis = new StreamWriter(teks); tulis.writeline(txtq); tulis.writeline(txtr); tulis.writeline(cbjumlahw); tulis.writeline(txtkunciprivate); tulis.writeline(temp); tulis.write(nckey.tostring()); tulis.close(); teks.close(); catch return temp; public static string int2bin(int num, int jum) string bin = ""; for (int i = 0; i < jum; i++) if (num % 2 == 1) bin = "1" + bin; bin = "0" + bin; num = num / 2; return bin;
21 public static int bin2int(string bin) int num = 0, count = 0; for (int i = (bin.length - 1); i >= 0; i--) if (bin[i] == '1') num += Knapsack.pangkat(2, count); count++; return num; public static int pangkat(int a, int b) int hasil = 1; for (int i = 1; i <= b; i++) hasil *= a; return hasil; public static Int64 brutemodulo(int64 a, Int64 b, Int64 c) return (((a % c) * (b % c)) % c); public static String decrypt(string KunciPri, String cipher, String txt_q, String txt_r) String txt_ciphermatrix; int nckey = 0; String temp = String.Empty; int n = 0; string ktemppub; //string KunciPub; int indeks = 0; int[] kpublic = new int[n]; indeks = 0; ktemppub = ""; int counter = 0; string[] sesikeycipher = new string[100]; int[] KeyCipher = new int[100]; temp = ""; int[] kprivate = new int[100]; counter = indeks = 0; ktemppub = ""; for (int i = 0; i < KunciPri.Length; i++) if (KunciPri.ElementAt(i) >= '0' && KunciPri.ElementAt(i) <= '9') ktemppub += KunciPri.ElementAt(i);
22 '9') if (ktemppub!= "") kprivate[indeks] = Convert.ToInt32(kTempPub); indeks++; ktemppub = ""; n++; if (i == KunciPri.Length - 1) if (ktemppub!= "") kprivate[indeks] = Convert.ToInt32(kTempPub); indeks++; n++; ktemppub = ""; indeks = 0; ktemppub = ""; for (int i = 0; i < cipher.length; i++) if (cipher.elementat(i) >= '0' && cipher.elementat(i) <= ktemppub += cipher.elementat(i); if (ktemppub!= "") KeyCipher[indeks] = Convert.ToInt32(kTempPub); indeks++; ktemppub = ""; nckey++; if (i == cipher.length - 1) if (ktemppub!= "") KeyCipher[indeks] = Convert.ToInt32(kTempPub); indeks++; // MessageBox.Show(KeyCipher[i].ToString()); ktemppub = "";
23 ktemppub = ""; for (int i = 0; i < n; i++) ktemppub += "1"; int kombinasi = (Knapsack.bin2int(kTempPub) + 1); string[] binkombi = new string[kombinasi]; for (int i = 0; i < kombinasi; i++) binkombi[i] = int2bin(i, n); //Biner Total Hasil Dekripsi Int64 q = Convert.ToInt32(txt_Q), r = Convert.ToInt32(txt_R), ninv, k = 0; while ((1 + (q * k)) % r!= 0) k++; ninv = (1 + (q * k)) / r; int[] hasildekrip = new int[nckey]; //int temp1 = 0; String hasildekripbin; hasildekripbin = ""; int nkey_temp = Convert.ToInt32(Math.Pow(2, n)); string[] databit = new string[nkey_temp]; int[] datadec = new int[nkey_temp]; int n_bit = Convert.ToInt32(n); for (int i = 0; i < nkey_temp; i++) databit[i] = int2bin(i, n_bit); datadec[i] = 0; for (int j = 0; j < n_bit; j++) datadec[i] += (Convert.ToInt32(dataBit[i][j].ToString()) * kprivate[j]); string hasilbittotal = ""; for (int i = 0; i < nckey; i++) hasildekrip[i] = Convert.ToInt32(bruteModulo(KeyCipher[i], ninv, q)); for (int j = 0; j < nkey_temp; j++) if (hasildekrip[i] == datadec[j]) hasilbittotal += databit[j]; break;
24 //MessageBox.Show("Hasil\n" + hasilbittotal); int[] hasil = new int[hasilbittotal.length / 8]; indeks = counter = 0; txt_ciphermatrix = ""; ktemppub = ""; for (int i = 0; i < hasilbittotal.length; i++) counter++; if (counter == 8) ktemppub += hasilbittotal.elementat(i); hasil[indeks] = Knapsack.bin2int(kTempPub); txt_ciphermatrix += hasil[indeks].tostring() + " "; ktemppub = ""; indeks++; counter = 0; ktemppub += hasilbittotal.elementat(i); return txt_ciphermatrix; 8. Class Baca File using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace hybrid.lib class FileBitReader private String filename; private FileStream filein; private BufferedStream bufffilein; public FileBitReader(String filename) this.filename = filename; filein = new FileStream(this.fileName, FileMode.Open); bufffilein = new BufferedStream(fileIn); public int readbyte() return bufffilein.readbyte(); public long getfilesize()
25 return bufffilein.length; public void close() bufffilein.close(); filein.close(); 9. Class Tulis File using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace hybrid.lib class FileBitWriter private String filename; private FileStream fileout; private BufferedStream bufffileout; public FileBitWriter(String filename) this.filename = filename; fileout = new FileStream(this.fileName, FileMode.Create); bufffileout = new BufferedStream(fileOut); public void writebyte(string str) for (int i = 0; i < str.length; i++) char karakter = str[i]; byte towrite = (byte) karakter; bufffileout.writebyte(towrite); public void writebyte(byte b) bufffileout.writebyte(b); public void writebyte(int i) bufffileout.writebyte((byte) i); public void close() bufffileout.close(); fileout.close();
26 10. Class Double Matrix using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace hybrid.lib public class DoubleMatrix public double determinant() if (this.columncount!= this.rowcount) throw new Exception("Determinan berlaku pada matrix NxN"); if (this.columncount == 1) return this[0, 0]; if (this.columncount!= 2) throw new NotImplementedException("Fungsi hanya bisa melakukan determinant n=2"); int n = this.rowcount; if (n == 2) //(kunci[0, 0] * kunci[1, 1]) - (kunci[1, 0] * kunci[0, 1]); return (this[0, 0] * this[1, 1]) - (this[0, 1] * this[1, 0]); public DoubleMatrix adjoint() if (this.columncount!= this.rowcount) throw new Exception("Adjoint berlaku pada matrix NxN"); DoubleMatrix cofactor = new DoubleMatrix(this.ColumnCount, this.rowcount); for (int baris = 0; baris < this.rowcount; baris++ ) for (int kolom = 0; kolom < this.columncount; kolom++ ) // ambil matrix yang sisa DoubleMatrix matrixsisa = new DoubleMatrix(this.ColumnCount - 1, this.rowcount-1); int tracebaris = 0; int tracekolom = 0; for (int loopbaris = 0; loopbaris < this.rowcount; loopbaris++)
27 for (int loopkolom = 0; loopkolom < this.columncount; loopkolom++) if (baris == loopbaris kolom == loopkolom) continue; matrixsisa[tracekolom, tracebaris] = this[loopkolom, loopbaris]; tracekolom++; if (tracekolom >= matrixsisa.columncount) tracekolom = 0; tracebaris++; cofactor[kolom, baris] = Math.Pow(-1, baris + kolom) * matrixsisa.determinant(); return cofactor.transposed; public void mod(int mod) for (int baris = 0; baris < this.rowcount; baris++) for (int kol = 0; kol < this.columncount; kol++) this[kol, baris] = this[kol, baris] % mod; 11. Class GCD using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace hybrid.lib class GCD public static long GCD1(long a, long b) while (b!= 0) long tmp = b; b = a % b; a = tmp; return a;
28 TABEL ASCII No Kode No Kode No Kode No Kode No Kode No Kode 0 44, 88 X 132 Ä Y 133 À Z 134 Å Ì 3 47 / 91 [ 135 Ç \ 136 Ê α ] 137 Ë 181 Á 225 ß ^ 138 È 182  226 Γ _ 139 Ï 183 À 227 π Î Σ a 141 Ì σ b 142 Ä µ c 143 Å τ d 144 É Φ e 145 Æ Θ : 102 f 146 Æ Ω ; 103 g 147 Ô δ < 104 h 148 Ö = 105 i 149 Ò φ > 106 j 150 Û ε 19!! 63? 107 k 151 Ù l 152 Ÿ A 109 m 153 Ö ± B 110 n 154 Ü 198 ã C 111 o à D 112 p ( E 113 q ) F 114 r 158 P G 115 s 159 Ƒ H 116 t 160 Á I 117 u 161 Í J 118 v 162 Ó K 119 w 163 Ú L 120 x 164 Ñ 208 ð 252 n 33! 77 M 121 y 165 Ñ 209 Ð 253 ²
29 No Kode No Kode No Kode No Kode No Kode No Kode 34 " 78 N 122 z 166 ª 210 Ê # 79 O º 211 Ë $ 80 P È 37 % 81 Q ı 38 & 82 R 126 ~ Í 39 :' 83 S 127 Ç 171 ½ 215 Î 40 :( 84 T 128 Ü 172 ¼ 216 Ï 41 ) 85 U 129 É * 86 V 130 Â 174 « W 131 Ä 175» 219 Keterangan : No : Nilai byte Kode : Karakter ASCII
30 CURRICULUM VITAE DETAIL PROFIL Nama Lengkap Alamat Sekarang Alamat Orangtua : Marlina Sihombing : Jln.Berdikari No 88 Pasar 1 Padang Bulan : Pangaribuan, Kabupaten Tapanuli Utara Telp/Handphone : - / PendidikanTerakhir :hannasihombing90@gmail.com/marlina_sihombing@usu.ac.id : Strata 1 (S1) RIWAYAT PENDIDIKAN FORMAL NAMASEKOLAH JURUSAN LOKASI KETERANGAN S1 Universitas Sumatera Utara S1 IlmuKomputer Medan SMA SMA Negeri 1 Pangaribuan SMP SMP Negeri 1 Pangaribuan IPA Pangaribuan Pangaribuan SD LumbanSormin - Pangaribuan KEMAMPUAN DI DALAM BIDANG KOMPUTER Pemrograman : Bahasa Pemograman PHP : Bahasa Pemrograman C#, Basic.net (Beginner) DBMS : Menggunakan MySQL (Intermediate) : Menggunakan MS Access (Intermediate)
31 KEMAMPUAN BAHASA ASING BahasaInggris : Listen (Passive) : Writing (Active) : Reading (Active) ORGANISASI YANG TELAH DIIKUTI SEBAGAI ORGANISASI TAHUN ANGGOTA IMILKOM (Ikatan Mahasiswa Ilmu Komputer) 2009-SKRG ANGGOTA ANGGOTA KMKI (Komunitas Mahasiswa Kristen Ilmu Komputer) Paduan Suara El-Shaddai USU 2009-SKRG SEMINAR YANG TELAH DIIKUTI SEBAGAI PESERTA PESERTA PESERTA PESERTA SEMINAR SEMINAR TEKNOLOGI INFORMASI The Development of Modern Operating System Technology : Android The New Trend in Modern Operating System Di (2011) SEMINAR TEKNOLOGI INFORMASI Internet Masa Depan : Prospek dan Tantangannya Di (2009) WORKSHOP TEKNOLOGI INFORMASI Graphic Design: Unlimited Di (2010) WORKSHOP TEKNOLOGI INFORMASI Teknik Dasar Fotografi Di (2010)
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 terperinciLISTING PROGRAM. Kode Program Menu Utama:
105 LISTING PROGRAM Kode Program Menu Utama: using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using System.Data; using System.Linq; using System.ComponentModel;
Lebih terperinciLISTING 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 terperinciLISTING 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 terperinciAPLIKASI 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 terperinciLISTING 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 terperincimenetapkan olahraga perlu makin ani bagi setiap anggota masyarakat, nasional yaitu memasyarakatkan masyarakat. Tak hanya itu saja
! " # $ $ %! & '! ( ) ) ' * % ) ' # + )! )! ' ),! &! ) % ( - ( " ( # + & ( )! &! ) %. % & ' (! # ' ) + #! ) ' $ ) ( / * * * 0 1 ) ' ( ( ) ( +! +! ' ( % $ ) ( & + / $ & 0 2 3 4 5 6 4 7 8 9 4 5 : ; 4 < =
Lebih terperinciLISTING 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 terperinciLAMPIRAN 1. Kuesioner Rating Kebutuhan Aplikasi Telepon Genggam
L1 LAMPIRAN 1 Kuesioner Rating Kebutuhan Aplikasi Telepon Genggam Berikan tanda checklist ( ) pada rating/nilai yang paling mengenai sesuai untuk aplikasi telepon genggam di bawah ini sesuai dengan tingkat
Lebih terperinciJeffrey Hermanto Halimsetiawan tutorialpemrograman.wordpress.com 22 Maret 2009
Oracle Database (Oracle XE) dan C# Connectivity Jeffrey Hermanto Halimsetiawan shadowz_029@yahoo.com.sg tutorialpemrograman.wordpress.com 22 Maret 2009 tutorialpemrograman.wordpress.com - 2009 1 Langkah-langkah
Lebih terperinciLAMPIRAN L.1. Lampiran 1 Coding Inisialisasi Program
L.1 LAMPIRAN Lampiran 1 Coding Inisialisasi Program using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using System.Reflection; namespace Skripsi static class
Lebih terperinciLAMPIRAN 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 terperinciLAMPIRAN. 2. Berapa penghasilan yang anda terima per bulan? 3. Apakah anda sering menggunakan kendaraan pribadi anda?
LAMPIRAN 1. Kuisioner Pengguna Tanggal : / /2013 Jenis Kelamin : L/P 1. Berapa usia anda saat ini? a. 21 30 tahun b. 31 40 tahun c. 41 50 tahun d. > 50 tahun 2. Berapa penghasilan yang anda terima per
Lebih terperinciA-1 LISTING PROGRAM. Universitas Sumatera Utara
A-1 LISTING PROGRAM using System; using System.Collections.Generic; using System.ComponentModel; using System.Windows.Forms; using System.Linq; using System.Collections; using System.Diagnostics; namespace
Lebih terperinciAplikasi Transformasi Base 64 pada Kriptografi
Aplikasi Transformasi Base 64 pada Kriptografi Yulisdin Mukhlis, Tjahjo Dwinurti, Akeda Bagus Jl. Margonda Raya 100 Pondok Cina, Depok 16424, West Java, Indonesia ymukhlis@staff.gunadarma.ac.id, dwinurti@staff.gunadarma.ac.id,
Lebih terperinciKriptografi Visual dengan Plain Partition dan Skema (n-1,n)
Kriptografi Visual dengan Plain Partition dan Skema (n-1,n) Hadi Saloko - 13504157 1) 1) Jurusan Teknik Informatika STEI, ITB, Bandung 40132, email: if14157@students.if.itb.ac.id Abstract Kriptografi visual
Lebih terperinciLAMPIRAN 1. namespace TS_Eka { public partial class MainForm : Form { public MainForm() { InitializeComponent(); }
LAMPIRAN 1 1.1 MainForm.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
Lebih terperinciLAMPIRAN 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 terperinciTugas II II5166 (Keamanan Informasi Lanjut)
Tugas II II5166 (Keamanan Informasi Lanjut) Membuat aplikasi TWITTER yang mengambil data dari API-nya TWITTER Semester 1-2012/2013 Dosen: Dr. Ir. Budi Rahardjo Dikerjakan Oleh: 23512036 - Wahyu Widodo
Lebih terperinciVigenere Minimum-Prime Key-Adding Cipher
Vigenere Minimum-Prime Key-Adding Cipher Zakka Fauzan Muhammad 1) 1) Teknik Informatika ITB, Bandung, email: if14020@students.if.itb.ac.id Abstraksi Akhir-akhir ini, keamanan data dan berkas yang dikirimkan
Lebih terperinciBAB III ANALISA DAN PERANCANGAN
BAB III ANALISA DAN PERANCANGAN III.1. Analisa Sistem Yang Sedang Berjalan Dalam dunia teknologi jaringan komputer menyebabkan terkaitnya satu komputer dengan komputer lainnya. Hal ini membuka banyak peluang
Lebih terperinciLampiran A-1 : Listing Program Main Form
Lampiran A-1 : Listing Program Main Form Coding Main Form using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Imaging;
Lebih terperinciBAB 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 terperinci2 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 terperinciLISTING 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 terperinciLAMPIRAN 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 terperinciBadiyanto, 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 terperinciBAB 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 terperinciTUGAS POLA-POLA PERANCANGAN SISTEM INFORMASI PERSEWAAN VCD DAN DVD. Dengan Design pattern (Factory Method)
TUGAS POLA-POLA PERANCANGAN SISTEM INFORMASI PERSEWAAN VCD DAN DVD Dengan Design pattern (Factory Method) Disusun Oleh : Ety Sudarwati 09120008 Putu Reksa Winda Perdana 09120046 TEKNIK INFORMATIKA UNIVERSITAS
Lebih terperinciBAB III PERANCANGAN ALAT
BAB III PERANCANGAN ALAT Tugas akhir ini adalah penelitian aplikatif dalam bentuk eksperimen. Langkah awal yang diperlukan adalah membuat sebuah aplikasi yang dapat membedakan objek (wajah) sesuai dengan
Lebih terperinciLAMPIRAN 1 SISTEM PENDUKUNG KEPUTUSAN..., DIMAS ANGGIT WIJIATMOKO, F.TEKNIK UMP,2017
LAMPIRAN 1 73 Lampiran 1. Data Kesesuaian Lahan Pohon Acacia Mangium Karakteristik Lahan Ketinggian (m dpl) Kelas Kesesuaian Lahan S1 S2 S3 N1 N2 300 700 Kemiringan (Topografi) Tekstur Tanah SL, L, SCL,
Lebih terperinciBAB 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 terperinciA-1. Listing Program. Universitas Sumatera Utara
A-1 Listing Program 1. Mainform.cs /* * Created by SharpDevelop. * User: asus * Date: 7/23/2014 * Time: 4:51 PM * * To change this template use Tools Options Coding Edit Standard Headers. */ using System;
Lebih terperinciPEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA
PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA Asep Herman Suyanto info@bambutechno.com http://www.bambutechno.com Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai
Lebih terperinciLISTING PROGRAM. // // TODO: Add constructor code after the InitializeComponent() call. // }
65 LISTING PROGRAM 1. Mainform.cs using stem; Sy using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; namespace Home / / Description of MainForm. / public
Lebih terperinciLAMPIRAN 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 terperinciBAHASA 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 terperinciPemrograman. Pertemuan-3 Fery Updi,M.Kom
Pemrograman Pertemuan-3 Fery Updi,M.Kom 1 Pokok Bahasan Mengenal Tipe Data, Variabel Mengenal Operator 2 public class Main { Komentar /** Bentuk Dasar Kode Java * @param args */ public static void main(string[]
Lebih terperinciPEMAHAMAN DASAR DASAR JAVA
MODUL 1 PEMAHAMAN DASAR DASAR JAVA A. PENGANTAR JAVA Java Standard Development Kit (JDK/SDK) merupakan alat-alat utama bagi programmer untuk membuat dan menjalankan java. Development Kit dapat didownload
Lebih terperinciDAFTAR PUSTAKA DESAIN BALOK LENTUR DENGAN GRAPHICAL USER INTERFACE (GUI) DALAM PERANGKAT PENGEMBANG PEMROGRAMAN DAFTAR PUSTAKA
DAFTAR PUSTAKA DAFTAR PUSTAKA Frieyadie. 2006. Panduan Pemrograman C++. Penerbit Andi : Yogyakarta Imran, Iswandi. 2005. Catatan Kuliah Struktur Beton. Penerbit ITB : Bandung Kadir, Abdul. 2004. Panduan
Lebih terperinciLISTING PROGRAM. 1. Bahasa Python Modulegate.py. Universitas Sumatera Utara. import sys sys.path.append("c:\skrip")
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,
Lebih terperinciTeam project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP
Hak cipta dan penggunaan kembali: Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis
Lebih terperinciKombinasi antara Cipher Subtitusi, Cipher Transposisi,dan Playfair Cipher sebagai landasan algoritma enkripsi baru
Kombinasi antara Cipher Subtitusi, Cipher Transposisi,dan Playfair Cipher sebagai landasan algoritma enkripsi baru Andzarrahim 13504013 Departemen Teknik Informatika Institut Teknologi Bandung E-mail :
Lebih terperinciCHAPTER #7 APLIKASI WINDOWS FORM 2 (KONTROL- KONTROL TINGKAT LANJUT)
CHAPTER #7 APLIKASI WINDOWS FORM 2 (KONTROL- KONTROL TINGKAT LANJUT) Kita sudah mengenal beberapa kontrol-sederhana yang ada pada visual C# dan bagaimana cara mempergunakannya. Tentunya kita sudah tidak
Lebih terperinciImplementasi Kelas BitArray Untuk Penyelesaian Bilangan Prima Kustanto 1)
ISSN : 1693-1173 Implementasi Kelas BitArray Untuk Penyelesaian Bilangan Prima Kustanto 1) Abstrak Bilangan prima merupakan suatu bilangan yang sangat penting dalam teknologi komputasi. Dewasa ini untuk
Lebih terperinciBAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA
1 BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA IDENTIFIER Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class, dsb. Ingat : Bahasa
Lebih terperinciDASAR 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 terperinciLISTING 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 terperinciMembuat Webservice Pada Visual Studio 2012 (C#.NET ver.4.5)
Membuat Webservice Pada Visual Studio 2012 (C#.NET ver.4.5) Mohammad Rizal Ghani Ghani.rizal.m@gmail.com :: http://infotemenn.blogspot.com Abstrak ASP.NET adalah bahasa pemrograman yang bertujuan untuk
Lebih terperinciLAB 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 terperinciPengenalan JavaScript
Pengenalan JavaScript Tujuan - Mahasiswa memahami konsep dasar Javascript - Mahasiswa mampu memahami cara menggunakan Javascript - Mahasiswa mampu memahami dasar variabel di Javascript - Mahasiswa mampu
Lebih terperinciAnalisis 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 terperinciElemen Dasar Dalam Bahasa Java
Elemen Dasar Dalam Bahasa Java 1. Kata Kunci Kata kunci adalah kata-kata yang didefenisikan oleh compiler dan memiliki arti dan tujuan spesifik. Java tidak mengizinkan kata-kata tersebut dipakai sebagai
Lebih terperinciPERTEMUAN 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 terperinciBAB 6 KESIMPULAN DAN SARAN
BAB 6 KESIMPULAN DAN SARAN 6.1. Kesimpulan Berdasarkan hasil penelitian dapat ditarik kesimpulan sebagai berikut: a. Metode penyimpanan yang digunakan gudang bahan baku pengemas produk PT. Karya Pak Oles
Lebih terperinciPERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM
PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM 1. Praktikan memahami perbedaan objek dan class pada Java. 2. Praktikan memahami konsep berorientasi objek. 3. Praktikan dapat membuat program sederhana dengan
Lebih terperinciBAB 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 terperinciPermutasi 7 Huruf Pada Confusing Vigenere Cipher 7 th Sword Vigenere
Permutasi 7 Huruf Pada Confusing Vigenere Cipher 7 th Sword Vigenere Robert Gunawan 13508038 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Lebih terperinciPRAKTIKUM 7 DASAR INPUT OUTPUT
PRAKTIKUM 7 DASAR INPUT OUTPUT A. TUJUAN 1. Memahami dasar-dasar input-ouput dalam pemrograman Java 2. Memahami prinsip kerja stream 3. Memahami penggunaan console dalam proses input-output B. DASAR TEORI
Lebih terperinciProgram Piano 1 Oktaf
Program Piano 1 Oktaf Oleh: Sendy PK Halo Sobat Coding, siapa yang suka musik? kalau saya suka sekali main piano jadi pada tutorial kali ini kita akan membuat program piano1 oktaf sederhana, jadi kita
Lebih terperinciBAB 3 METODOLOGI PENELITIAN
BAB 3 METODOLOGI PENELITIAN 3.1 Pengantar Pada penelitian ini membahas modifikasi algoritma RC4 dengan BBS (Blum Blum Shub) untuk menghasilkan key yang baik dan tidak mudah dipredikasi oleh kriptanalis.
Lebih terperinciBAB 3 TYPE DATA, VARIABLE DAN OPERATOR
BAB 3 TYPE DATA, VARIABLE DAN OPERATOR Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman
Lebih terperinciBAB-2 : TIPE DATA, VARIABEL DAN OPERATOR
BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR Setelah selesai pembahasan pada bab ini, diharapkan Anda dapat : Mengenal dan dapat menggunakan tipe data Mengenal dan menggunakan variable Mengenal dan menggunakan
Lebih terperinci1. 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 terperinciJAVA BASIC PROGRAMMING Joobshet
JAVA BASIC PROGRAMMING Joobshet 1. KOMPETENSI Mahasiswa dapat memahami jenis jenis tipe data Mahasiswa dapat memahami jenis jenis variable Mahasiswa dapat memahami jenis jenis seleksi kondisi Mahasiswa
Lebih terperinciArray 1 Dimensi pada Java
Array 1 Dimensi pada Java A. PENGENALAN ARRAY Dalam mendeklarasikan variabel, kita sering menggunakan tipe data yang sama namun dengan nama variabel atau identifier yang berbeda-beda. Sebagai contoh, kita
Lebih terperinciKONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK
KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK Farah Zakiyah Rahmanti, M.T 2015 Overview Definisi Teknologi Java Konsep Pemrograman Procedural dan OOP Struktur Java, Identifier, Kata Kunci, Tipe Data, Operator,
Lebih terperinciIdentifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO Ramos Somya Identifier Merupakan nama yang digunakan untuk menamai class, variabel, method dan interface. Aturan: - Tidak ada batasan
Lebih terperinciSekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {
Sekarang, kita akan mencoba untuk menganalisa program Java pertama : /** * My first j ava program */ public static void main(string[] args) //menampilkan string Hello world pada layar System. out. println("hello
Lebih terperinciPencarian (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 terperinciE-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom
E-Book PEMROGRAMAN BERORIENTASI OBJEK Disusun Oleh: Arfian Hidayat, S.Kom http://arfianhidayat.com FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2013 Daftar Isi Daftar Isi... i Daftar Gambar...
Lebih terperinciBAB VII DASAR-DASAR PHP
BAB VII DASAR-DASAR PHP A. KOMPETENSI DASAR Memahami struktur dasar dokumen PHP. Mampu membuat dokumen PHP yang baik dan benar. Mampu memanfaatkan elemen-elemen dasar untuk mengolah dan menampilkan informasi.
Lebih terperinciPENERAPAN 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* yoyonstikom@gmail.com
Lebih terperinciSUMBER BELAJAR PENUNJANG PLPG
SUMBER BELAJAR PENUNJANG PLPG 2017 [TIK] BAB VIII PEMROGRAMAN BERORIENTASI OBJEK [Alfa Faridh Suni] KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN 2017 BAB VIII
Lebih terperinciCara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti
KONSTANTA Menghitung besaran-besaran fisis dalam bidang fisika memerlukan suatu konstantakonstanta. Bahasa C dan C++ menyediakan tipe data tambahan sehingga variabel yang kita gunakan merupakan konstanta
Lebih terperinciBahasa Pemrograman 2.
Bahasa Pemrograman 2 Pengenalan JAVA 1 anton@ukdw.ac.id Instalasi JDK Download JDK for free Instalasi biasa Set PATH dan JAVA_HOME set PATH=%PATH%; set JAVA_HOME=
Lebih terperinciBAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Proses Aplikasi Pada bab ini akan dibahas implementasi sistem rancang bangun Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching hingga
Lebih terperinciPengenalan Dan Contoh Penggunaan Sederhana Fungsi Looping Pada Visual Basic
Pengenalan Dan Contoh Penggunaan Sederhana Fungsi Looping Pada Visual Basic Muhamad Burhanudin Muhamadburhanudin981@gmail.com Abstrak Looping atau perulangan merupakan salah satu hal terpenting yang harus
Lebih terperinciMATERI PRAKTIKUM 2 ARRAY
MATERI PRAKTIKUM 2 ARRAY A. Teori 1. Deklarasi dan Penciptaan Array Array adalah bentukan yang menyediakan penyimpanan sejumlah item bertipe sama. Item-item array dapat berupa data sederhana atau komposit.
Lebih terperinciIMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS
IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS A. Latar Belakang Algoritma AES (Advanced Encryption Standard) muncul akibat penggunaan standart enkripsi kriptografi simetri terdahulu (DES) yang dianggap
Lebih terperinciUniversitas Komputer Indonesia. Pemrograman dengan C++ Builder 2004 Taryana S.
3.1. Statement Aspek awal yang perlu anda ketahui dalam bahasa pemograman adalah Reserved Word dan statement. Reserved word harus kita kenal bahkan harus dihapalkan, layaknya menghapal kata-kata baru apabila
Lebih terperinciLAMPIRAN 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 terperinciModul Praktikum Bahasa Pemrograman 1
Modul Praktikum Tahun Ajaran 2009/2010 Revisi : Eko Andriyanto Wicaksono, S.Kom Materi 6 Array Pengenalan Array Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam
Lebih terperinciMengenal LINQ Pada Framework Microsoft.NET (dan Class List)
Mengenal LINQ Pada Framework Microsoft.NET (dan Class List) Oleh: David Setyo LINQ atau Language INtegrated Query merupakan sebuah komponen pada platform Microsoft.NET. Dengan adanya LINQ, bahasa pemrograman
Lebih terperinciBAB V KESIMPULAN DAN SARAN. Animasi Legenda Candi Prambanan Menggunakan Media 3Ds Max Sebagai
BAB V KESIMPULAN DAN SARAN A. Kesimpulan Berdasarkan hasil analisis, perancangan dan implementasi pada Film Animasi Legenda Candi Prambanan Menggunakan Media 3Ds Max Sebagai Media Pembelajaran, maka dapat
Lebih terperinciBahasa Pemrograman Java. Yudi Adha. ST. MMSI
Bahasa Pemrograman Java Yudi Adha. ST. MMSI Tujuan Pada bagian ini, kita akan mendiskusikan mengenai bagian dasar pemrograman Java. Kita akan memulai dengan mencoba menjelaskan bagian dasar dari program
Lebih terperinciBAB IV HASIL PENELITIAN DAN PENERAPAN
87 BAB IV HASIL PENELITIAN DAN PENERAPAN 4.1 Karakteristik bahasa pemrograman DOGI Berikut ini akan dijabarkan karakteristik-karakteristik bahasa pemrograman DOGI yang mempengaruhi readability, writability
Lebih terperinciTujuan : 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 terperinciVariabel dengan tipe dasar hanya dapat menyimpan sebuah nilai
Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai 5 buah nilai dengan tipe yang sama dapat saja disimpan dalam 5 buah variabel, tetapi bagaimana dengan 100 nilai? Disimpan dengan 100 variabel?
Lebih terperinciMembuat SlideShow Gambar
Membuat SlideShow Gambar Pada E-Trik ini kita akan membuat program yang bisa menampilkan SlideShow Gambar. Berikut deskripsi program yang akan kita buat. Program berguna untuk menampilkan slideshow gambar;
Lebih terperinciBAB 1 KONSEP DASAR JAVA
BAB 1 KONSEP DASAR JAVA TUGAS PENDAHULUAN Buatlah algoritma dari program yang ada dalam kegiatan praktikum ini! 1. TUJUAN a. Mahasiswa mengetahui dasar dan elemen-elemen pembentuk bahasa Java b. Mahasiswa
Lebih terperinciTipe Data dan Operator
Tipe Data dan Operator Dasar Algoritma dan Pemrogrman Eka Maulana, ST, MT, MEng. Klasifikasi Tipe Data 1 Tipe Data Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam
Lebih terperinciFungsi. Fungsi. Dasar Komputer & Pemrograman 1. dipecah Sub Program. Program. Dasar Komputer & Pemrograman TC22052 Kartika Firdausy - UAD
Fungsi Dasar Komputer & Pemrograman TC22052 Kartika Firdausy - UAD Program dipecah Sub Program modul / routine / prosedur / fungsi Dasar Komputer & Pemrograman 1 Keuntungan modularisasi program 1. Menghindari
Lebih terperinciIT210 Pemrograman Visual. Ramos Somya
IT210 Pemrograman Visual Ramos Somya Variabel adalah tempat untuk menyimpan data yang memiliki suatu tipe data. Variabel ini akan ditempatkan dalam suatu alamat memori pada komputer. C# mengharuskan setiap
Lebih terperinciDasar pengenalan class dan contoh
Dasar pengenalan class dan contoh Oleh: Muhammad Taufiqih di OOP (object oriented programming),kita akan diakrabkan dengan class, class adalah rancangan atau sketsa dari sebuah object,sebelum
Lebih terperinciPemisahan Warna dengan Pengacakan Pixel untuk Enkripsi sebagai Modifikasi Kriptografi Visual
Pemisahan Warna dengan Pengacakan Pixel untuk Enkripsi sebagai Modifikasi Kriptografi Visual Bobby H. Suryanaga - 13508022 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut
Lebih terperinciPERTEMUAN 3 OBJEK DAN CLASS
PERTEMUAN 3 OBJEK DAN CLASS Obyektif: Praktikan memahami perbedaan objek dan class pada Java. Praktikan memahami konsep berorientasi objek. Praktikan dapat membuat program sederhana dengan menggunakan
Lebih terperinciPendahuluan Kajian Pustaka
1. Pendahuluan Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika kriptografi merahasiakan makna pesan sementara eksistensi pesan tetap ada, maka steganografi menutupi keberadaan pesan.
Lebih terperinciALGORITMA VIGENERE CIPHER DAN HILL CIPHER DALAM APLIKASI KEAMANAN DATA PADA FILE DOKUMEN
ALGORITMA VIGENERE CIPHER DAN HILL CIPHER DALAM APLIKASI KEAMANAN DATA PADA FILE DOKUMEN Akim Manaor Hara Pardede 1, Hotler Manurung 2, Dina Filina 3 1, 2, 3 Program Studi Sistem Informasi, STMIK KAPUTAMA
Lebih terperinciTabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.
Tabel Informasi Tabel informasi atau tabel simbol berguna untuk mempermudah pada saat pembuatan dan implementasi dari analisa semantik (semantic analyzer). Pada proses translasi, tabel informasi dapat
Lebih terperinci