LISTING PROGRAM. 1. Form Menu Utama. Universitas Sumatera Utara

Ukuran: px
Mulai penontonan dengan halaman:

Download "LISTING PROGRAM. 1. Form Menu Utama. Universitas Sumatera Utara"

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);

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. Kode Program Menu Utama:

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

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

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

menetapkan olahraga perlu makin ani bagi setiap anggota masyarakat, nasional yaitu memasyarakatkan masyarakat. Tak hanya itu saja

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

LAMPIRAN 1. Kuesioner Rating Kebutuhan Aplikasi Telepon Genggam

LAMPIRAN 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 terperinci

Jeffrey Hermanto Halimsetiawan tutorialpemrograman.wordpress.com 22 Maret 2009

Jeffrey 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 terperinci

LAMPIRAN L.1. Lampiran 1 Coding Inisialisasi Program

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

LAMPIRAN. 2. Berapa penghasilan yang anda terima per bulan? 3. Apakah anda sering menggunakan kendaraan pribadi anda?

LAMPIRAN. 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 terperinci

A-1 LISTING PROGRAM. Universitas Sumatera Utara

A-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 terperinci

Aplikasi Transformasi Base 64 pada Kriptografi

Aplikasi 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 terperinci

Kriptografi Visual dengan Plain Partition dan Skema (n-1,n)

Kriptografi 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 terperinci

LAMPIRAN 1. namespace TS_Eka { public partial class MainForm : Form { public MainForm() { InitializeComponent(); }

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

Tugas II II5166 (Keamanan Informasi Lanjut)

Tugas 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 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: if14020@students.if.itb.ac.id Abstraksi Akhir-akhir ini, keamanan data dan berkas yang dikirimkan

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN

BAB 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 terperinci

Lampiran A-1 : Listing Program Main Form

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

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

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

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

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

TUGAS 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) 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 terperinci

BAB III PERANCANGAN ALAT

BAB 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 terperinci

LAMPIRAN 1 SISTEM PENDUKUNG KEPUTUSAN..., DIMAS ANGGIT WIJIATMOKO, F.TEKNIK UMP,2017

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

A-1. Listing Program. Universitas Sumatera Utara

A-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 terperinci

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

PEMROGRAMAN 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 terperinci

LISTING PROGRAM. // // TODO: Add constructor code after the InitializeComponent() call. // }

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

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

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Pemrograman. 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 terperinci

PEMAHAMAN DASAR DASAR JAVA

PEMAHAMAN 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 terperinci

DAFTAR PUSTAKA DESAIN BALOK LENTUR DENGAN GRAPHICAL USER INTERFACE (GUI) DALAM PERANGKAT PENGEMBANG PEMROGRAMAN DAFTAR PUSTAKA

DAFTAR 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 terperinci

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

LISTING 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 terperinci

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

Team 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 terperinci

Kombinasi 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 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 terperinci

CHAPTER #7 APLIKASI WINDOWS FORM 2 (KONTROL- KONTROL TINGKAT LANJUT)

CHAPTER #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 terperinci

Implementasi Kelas BitArray Untuk Penyelesaian Bilangan Prima Kustanto 1)

Implementasi 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 terperinci

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

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

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

Membuat Webservice Pada Visual Studio 2012 (C#.NET ver.4.5)

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

Pengenalan JavaScript

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

Elemen Dasar Dalam Bahasa Java

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

BAB 6 KESIMPULAN DAN SARAN

BAB 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 terperinci

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

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

Permutasi 7 Huruf Pada Confusing Vigenere Cipher 7 th Sword Vigenere

Permutasi 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 terperinci

PRAKTIKUM 7 DASAR INPUT OUTPUT

PRAKTIKUM 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 terperinci

Program Piano 1 Oktaf

Program 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 terperinci

BAB 3 METODOLOGI PENELITIAN

BAB 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 terperinci

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

BAB 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 terperinci

BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR

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

JAVA BASIC PROGRAMMING Joobshet

JAVA 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 terperinci

Array 1 Dimensi pada Java

Array 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 terperinci

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK

KONSEP 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 terperinci

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Identifier, 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 terperinci

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

Sekarang, 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 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

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

E-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 terperinci

BAB VII DASAR-DASAR PHP

BAB 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 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* yoyonstikom@gmail.com

Lebih terperinci

SUMBER BELAJAR PENUNJANG PLPG

SUMBER 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 terperinci

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

Cara 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 terperinci

Bahasa Pemrograman 2.

Bahasa 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 terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB 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 terperinci

Pengenalan Dan Contoh Penggunaan Sederhana Fungsi Looping Pada Visual Basic

Pengenalan 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 terperinci

MATERI PRAKTIKUM 2 ARRAY

MATERI 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 terperinci

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS

IMPLEMENTASI 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 terperinci

Universitas Komputer Indonesia. Pemrograman dengan C++ Builder 2004 Taryana S.

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

Modul Praktikum Bahasa Pemrograman 1

Modul 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 terperinci

Mengenal LINQ Pada Framework Microsoft.NET (dan Class List)

Mengenal 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 terperinci

BAB V KESIMPULAN DAN SARAN. Animasi Legenda Candi Prambanan Menggunakan Media 3Ds Max Sebagai

BAB 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 terperinci

Bahasa Pemrograman Java. Yudi Adha. ST. MMSI

Bahasa 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 terperinci

BAB IV HASIL PENELITIAN DAN PENERAPAN

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

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Variabel 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 terperinci

Membuat SlideShow Gambar

Membuat 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 terperinci

BAB 1 KONSEP DASAR JAVA

BAB 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 terperinci

Tipe Data dan Operator

Tipe 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 terperinci

Fungsi. Fungsi. Dasar Komputer & Pemrograman 1. dipecah Sub Program. Program. Dasar Komputer & Pemrograman TC22052 Kartika Firdausy - UAD

Fungsi. 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 terperinci

IT210 Pemrograman Visual. Ramos Somya

IT210 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 terperinci

Dasar pengenalan class dan contoh

Dasar pengenalan class dan contoh Dasar pengenalan class dan contoh Oleh: Muhammad Taufiqih di OOP (object oriented programming),kita akan diakrabkan dengan class, &nbsp;class adalah rancangan atau sketsa dari sebuah object,sebelum

Lebih terperinci

Pemisahan Warna dengan Pengacakan Pixel untuk Enkripsi sebagai Modifikasi Kriptografi Visual

Pemisahan 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 terperinci

PERTEMUAN 3 OBJEK DAN CLASS

PERTEMUAN 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 terperinci

Pendahuluan Kajian Pustaka

Pendahuluan 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 terperinci

ALGORITMA 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 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 terperinci

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

Tabel 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