LISTING PROGRAM
Kode Program Form Main.cs
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Linq; using System.Text;
using System.Windows.Forms;
namespace EnkDekGUI {
public partial class frmMain : Form {
public frmMain() {
InitializeComponent(); }
private void enkripsiToolStripMenuItem_Click(object sender, EventArgs e)
{
frmEnkripsi enk = new frmEnkripsi(); enk.Show();
}
private void dekripsiToolStripMenuItem_Click(object sender, EventArgs e)
{
frmDekripsi dek = new frmDekripsi(); dek.Show();
}
private void tentangToolStripMenuItem_Click(object sender, EventArgs e)
{
frmTentang tentang = new frmTentang(); tentang.ShowDialog();
}
private void enkripsiToolStripMenuItem1_Click(object sender, EventArgs e)
{
frmNihilistEnk nihilistenk = new frmNihilistEnk(); nihilistenk.Show();
}
private void dekripsiToolStripMenuItem1_Click(object sender, EventArgs e)
{
frmNihilistDek nihilistdek = new frmNihilistDek(); nihilistdek.Show();
Kode Program Form Nihilist Enkripsi.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;
using Microsoft.Office.Interop.Word; using System.IO;
using System.Diagnostics;
using System.Text.RegularExpressions;
namespace EnkDekGUI {
public partial class frmNihilistEnk : Form {
public frmNihilistEnk() {
InitializeComponent(); }
//===========================================fungsi enkripsi NIHILIST===============================================
public string EncryptMessage(string message, string keys) {
char[] mesarr = message.Trim().Replace(" ","").ToLower().ToCharArray();
char[] keyarr = keys.Trim().Replace(" ", "").ToLower().ToCharArray();
int st = 0; int tt = 0;
string [] strarr = new string[mesarr.Length]; string[] keyarrc = new string[mesarr.Length]; string[] numarr = new string[mesarr.Length]; string[] numkey = new string[mesarr.Length]; for (st = 0; st < mesarr.Length; st++) { strarr[st] = mesarr[st].ToString(); if (tt >= keyarr.Length) {
tt = 0; }
keyarrc[st] = keyarr[tt].ToString(); tt++;
}
st = 0;
foreach (string c in strarr) {
switch (c) {
//memilih karakter ke-c case "a":
numarr[st] = getchar("A"); break;
case "b":
numarr[st] = getchar("B"); break;
numarr[st] = getchar("C"); break;
case "d":
numarr[st] = getchar("D"); break;
case "e":
numarr[st] = getchar("E"); break;
case "f":
numarr[st] = getchar("F"); break;
case "g":
numarr[st] = getchar("G"); break;
case "h":
numarr[st] = getchar("H"); break;
case "i":
numarr[st] = getchar("I"); break;
case "j":
numarr[st] = getchar("I"); break;
case "k":
numarr[st] = getchar("K"); break;
case "l":
numarr[st] = getchar("L"); break;
case "m":
numarr[st] = getchar("M"); break;
case "n":
numarr[st] = getchar("N"); break;
case "o":
numarr[st] = getchar("O"); break;
case "p":
numarr[st] = getchar("P"); break;
case "q":
numarr[st] = getchar("Q"); break;
case "r":
numarr[st] = getchar("R"); break;
case "s":
numarr[st] = getchar("S"); break;
case "t":
numarr[st] = getchar("T"); break;
case "u":
numarr[st] = getchar("U"); break;
case "v":
numarr[st] = getchar("V"); break;
numarr[st] = getchar("W"); break;
case "x":
numarr[st] = getchar("X"); break;
case "y":
numarr[st] = getchar("Y"); break;
case "z":
numarr[st] = getchar("Z"); break;
} st++; }
st = 0;
foreach (string c in keyarrc) {
switch (c) {
//memilih karakter ke-c case "a":
numkey[st] = getchar("A"); break;
case "b":
numkey[st] = getchar("B"); break;
case "c":
numkey[st] = getchar("C"); break;
case "d":
numkey[st] = getchar("D"); break;
case "e":
numkey[st] = getchar("E"); break;
case "f":
numkey[st] = getchar("F"); break;
case "g":
numkey[st] = getchar("G"); break;
case "h":
numkey[st] = getchar("H"); break;
case "i":
numkey[st] = getchar("I"); break;
case "j":
numkey[st] = getchar("I"); break;
case "k":
numkey[st] = getchar("K"); break;
case "l":
numkey[st] = getchar("L"); break;
case "m":
break; case "n":
numkey[st] = getchar("N"); break;
case "o":
numkey[st] = getchar("O"); break;
case "p":
numkey[st] = getchar("P"); break;
case "q":
numkey[st] = getchar("Q"); break;
case "r":
numkey[st] = getchar("R"); break;
case "s":
numkey[st] = getchar("S"); break;
case "t":
numkey[st] = getchar("T"); break;
case "u":
numkey[st] = getchar("U"); break;
case "v":
numkey[st] = getchar("V"); break;
case "w":
numkey[st] = getchar("W"); break;
case "x":
numkey[st] = getchar("X"); break;
case "y":
numkey[st] = getchar("Y"); break;
case "z":
numkey[st] = getchar("Z"); break;
} st++; }
string[] hasil = new string[numarr.Length]; string returnText = "";
for (int jsd = 0; jsd < numarr.Length; jsd++) { hasil[jsd] = (Int32.Parse(numarr[jsd]) + Int32.Parse(numkey[jsd])).ToString();
}
//deklarasi variabel returnText : var = fungsi outputText dari nilai fungsi stepOne
returnText = string.Join(" ", hasil);
//kembalikan fungsi enkripsi = nilai returnText return returnText;
//fungsi mendapatkan karakter tertentu dari textbox private string getchar(string kar)
{
//deklarasi variabel has : string; string has = "";
if (AA.Text.ToUpper() == kar) has = "11";
else if (AB.Text.ToUpper() == kar) has = "12";
else if (AC.Text.ToUpper() == kar) has = "13";
else if (AD.Text.ToUpper() == kar) has = "14";
else if (AE.Text.ToUpper() == kar) has = "15";
else if (BA.Text.ToUpper() == kar) has = "21";
else if (BB.Text.ToUpper() == kar) has = "22";
else if (BC.Text.ToUpper() == kar) has = "23";
else if (BD.Text.ToUpper() == kar) has = "24";
else if (BE.Text.ToUpper() == kar) has = "25";
else if (CA.Text.ToUpper() == kar) has = "31";
else if (CB.Text.ToUpper() == kar) has = "32";
else if (CC.Text.ToUpper() == kar) has = "33";
else if (CD.Text.ToUpper() == kar) has = "34";
else if (CE.Text.ToUpper() == kar) has = "35";
else if (DA.Text.ToUpper() == kar) has = "41";
else if (DB.Text.ToUpper() == kar) has = "42";
else if (DC.Text.ToUpper() == kar) has = "43";
else if (DD.Text.ToUpper() == kar) has = "44";
else if (DE.Text.ToUpper() == kar) has = "45";
else if (EA.Text.ToUpper() == kar) has = "51";
else if (EB.Text.ToUpper() == kar) has = "52";
else if (EC.Text.ToUpper() == kar) has = "53";
else if (ED.Text.ToUpper() == kar) has = "54";
else if (EE.Text.ToUpper() == kar) has = "55";
//kembalikan fungsi getChar = nilai has return has;
private void button1_Click(object sender, EventArgs e) {
if (txtRead.Text != "" || txtRead.Text == " ") {
if (txtKunci.Text != "" || txtKunci.Text == " ") {
if (AA.Text == "" || BA.Text == "" || CA.Text == "" || DA.Text == "" || EA.Text == "" || AB.Text == "" || BB.Text == "" || CB.Text == "" || DB.Text == "" || EB.Text
== "" || AC.Text == "" || BC.Text == "" || CC.Text == "" || DC.Text == "" || EC.Text == "" || AD.Text == "" || BD.Text == "" || CD.Text == "" || DD.Text == "" || ED.Text
== "" || AE.Text == "" || BE.Text == "" || CE.Text == "" || DE.Text == "" || EE.Text == "")
{
MessageBox.Show("Isian Konversi harus diisi");
} else {
//validasi plaintext, matrik dan kata kunci string pattern = "^[" + AA.Text + BA.Text + CA.Text + DA.Text + EA.Text + AB.Text + BB.Text + CB.Text + DB.Text + EB.Text
+ AC.Text + BC.Text + CC.Text + DC.Text + EC.Text + AD.Text + BD.Text + CD.Text + DD.Text + ED.Text
+ AE.Text + BE.Text + CE.Text + DE.Text + EE.Text + " ]+$";
if (Regex.IsMatch(txtRead.Text.ToUpper(), pattern))
{ if
(Regex.IsMatch(txtKunci.Text.ToUpper(), pattern)) {
//kosongkan textbox txtHasil txtHasil.Text = "";
//deklarasi variabel sw : stopwatch -> menghitung waktu proses
Stopwatch sw = Stopwatch.StartNew(); //menambahkan text kedalam textbox txtHasil dengan hasil enkripsi dari txtRead
txtHasil.AppendText(EncryptMessage(txtRead.Text, txtKunci.Text.ToUpper()));
//sw stop sw.Stop();
//mengambil waktu dalam satuan ms kemudian tampilkan ke textbox lblwaktu
lblWaktu.Text = sw.Elapsed.Milliseconds.ToString() + " ms";
//tampilkan ke textbox lblPanjangKar = panjang karakter dari txtHasil (enkripsi)
lblPanjangKar.Text = txtHasil.Text.Length.ToString();
else {
MessageBox.Show("Karakter pada Teks Kunci tidak ada di isian Konversi");
} } else {
MessageBox.Show("Karakter pada plaintext tidak ada di isian Konversi");
}
} } else {
MessageBox.Show("Teks Kunci masih kosong"); }
} else {
MessageBox.Show("Plaintext masih kosong"); }
}
//fungsi tombol simpan hasil enkripsi
private void button2_Click(object sender, EventArgs e) {
//coba lakukan try {
//deklarasi variabel result: dialog = dialog simpan file
DialogResult result = saveFileDialog1.ShowDialog(); //jika result = OK
if (result == DialogResult.OK) {
//simpan textbox hasil menjadi filename File.WriteAllText(@saveFileDialog1.FileName, txtHasil.Text);
//tampilkan pesan berhasil
MessageBox.Show("File berhasil disimpan!"); }
}
//jika terdapat error catch (Exception err) { //tampilkan pesan error
MessageBox.Show(err.ToString(), "Error"); }
}
//fungsi tombol browse file
private void btnBrowseInput_Click(object sender, EventArgs e) {
//deklarasi variabel result: dialog = dialog buka file DialogResult result = openFileDialog1.ShowDialog(); //jika result = OK
//textbox txtfile = namafile
txtFile.Text = openFileDialog1.FileName; //kosongkan textbox txtread
txtRead.Text = "";
//deklarasi formatfile:string = ekstensi dari namafile
string formatfile = Path.GetExtension(@txtFile.Text); //jika txt
if (formatfile == ".txt")
//textbox txtread diisi text dari file text
txtRead.AppendText(File.ReadAllText(@txtFile.Text)); //jika doc atau docx
else if (formatfile == ".doc" || formatfile == ".docx")
//textbox txtread diisi text dari file doc atau docx
txtRead.AppendText(Utility.gettextfromword(@txtFile.Text)); //jika tidak ada
else
//textbox txtread dikosongkan txtRead.Text = "";
}
}
//fungsi tombol reset form
private void button3_Click(object sender, EventArgs e) {
//kembalikan textbox ke nilai awal txtFile.Text = "";
txtHasil.Text = ""; txtKunci.Text = ""; txtRead.Text = "";
AA.Text = ""; AB.Text = ""; AC.Text = ""; AD.Text = ""; AE.Text = ""; BA.Text = "";
BB.Text = ""; BC.Text = ""; BD.Text = ""; BE.Text = ""; CA.Text = ""; CB.Text = "";
CC.Text = ""; CD.Text = ""; CE.Text = ""; DA.Text = ""; DB.Text = ""; DC.Text = "";
EB.Text = ""; EC.Text = ""; ED.Text = "";
EE.Text = ""; EB.Text = ""; EC.Text = ""; ED.Text = ""; EE.Text = ""; }
} }
Kode Program Nihilist Dekripsi.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; using System.IO;
using Microsoft.Office.Interop.Word; using System.Diagnostics;
using System.Text.RegularExpressions; namespace EnkDekGUI
{
public partial class frmNihilistDek : Form {
public frmNihilistDek() {
InitializeComponent(); }
//===========================================fungsi dekripsi ADFGVX===============================================
public string DecryptMessage(string messchip,string keyText) {
string[] mesarr = messchip.Split(' '); char[] keyarr = keyText.Trim().Replace(" ", "").ToLower().ToCharArray();
int st = 0; int tt = 0;
string[] keyarrc = new string[mesarr.Length]; string[] numkey = new string[mesarr.Length]; for (st = 0; st < mesarr.Length; st++)
{
if (tt >= keyarr.Length) {
tt = 0; }
keyarrc[st] = keyarr[tt].ToString(); tt++;
st = 0;
foreach (string c in keyarrc) {
switch (c) {
//memilih karakter ke-c case "a":
numkey[st] = getchar("A"); break;
case "b":
numkey[st] = getchar("B"); break;
case "c":
numkey[st] = getchar("C"); break;
case "d":
numkey[st] = getchar("D"); break;
case "e":
numkey[st] = getchar("E"); break;
case "f":
numkey[st] = getchar("F"); break;
case "g":
numkey[st] = getchar("G"); break;
case "h":
numkey[st] = getchar("H"); break;
case "i":
numkey[st] = getchar("I"); break;
case "j":
numkey[st] = getchar("J"); break;
case "k":
numkey[st] = getchar("K"); break;
case "l":
numkey[st] = getchar("L"); break;
case "m":
numkey[st] = getchar("M"); break;
case "n":
numkey[st] = getchar("N"); break;
case "o":
numkey[st] = getchar("O"); break;
case "p":
numkey[st] = getchar("P"); break;
case "q":
numkey[st] = getchar("Q"); break;
case "r":
break; case "s":
numkey[st] = getchar("S"); break;
case "t":
numkey[st] = getchar("T"); break;
case "u":
numkey[st] = getchar("U"); break;
case "v":
numkey[st] = getchar("V"); break;
case "w":
numkey[st] = getchar("W"); break;
case "x":
numkey[st] = getchar("X"); break;
case "y":
numkey[st] = getchar("Y"); break;
case "z":
numkey[st] = getchar("Z"); break;
case "0":
numkey[st] = getchar("0"); break;
case "1":
numkey[st] = getchar("1"); break;
case "2":
numkey[st] = getchar("2"); break;
case "3":
numkey[st] = getchar("3"); break;
case "4":
numkey[st] = getchar("4"); break;
case "5":
numkey[st] = getchar("5"); break;
case "6":
numkey[st] = getchar("6"); break;
case "7":
numkey[st] = getchar("7"); break;
case "8":
numkey[st] = getchar("8"); break;
case "9":
numkey[st] = getchar("9"); break;
} st++; }
string returnText = ""; string temps = "";
for (int jsd = 0; jsd < mesarr.Length ; jsd++) {
temps = (Int32.Parse(mesarr[jsd]) - Int32.Parse(numkey[jsd])).ToString();
switch (temps) {
case "11":
hasil[jsd] = hurufbesar(AA.Text); break;
case "12":
hasil[jsd] = hurufbesar(AB.Text); break;
case "13":
hasil[jsd] = hurufbesar(AC.Text); break;
case "14":
hasil[jsd] = hurufbesar(AD.Text); break;
case "15":
hasil[jsd] = hurufbesar(AE.Text); break;
case "21":
hasil[jsd] = hurufbesar(BA.Text); break;
case "22":
hasil[jsd] = hurufbesar(BB.Text); break;
case "23":
hasil[jsd] = hurufbesar(BC.Text); break;
case "24":
hasil[jsd] = hurufbesar(BD.Text); break;
case "25":
hasil[jsd] = hurufbesar(BE.Text); break;
case "31":
hasil[jsd] = hurufbesar(CA.Text); break;
case "32":
hasil[jsd] = hurufbesar(CB.Text); break;
case "33":
hasil[jsd] = hurufbesar(CC.Text); break;
case "34":
hasil[jsd] = hurufbesar(CD.Text); break;
case "35":
hasil[jsd] = hurufbesar(CE.Text); break;
case "41":
hasil[jsd] = hurufbesar(DA.Text); break;
case "42":
break; case "43":
hasil[jsd] = hurufbesar(DC.Text); break;
case "44":
hasil[jsd] = hurufbesar(DD.Text); break;
case "45":
hasil[jsd] = hurufbesar(DE.Text); break;
case "51":
hasil[jsd] = hurufbesar(EA.Text); break;
case "52":
hasil[jsd] = hurufbesar(EB.Text); break;
case "53":
hasil[jsd] = hurufbesar(EC.Text); break;
case "54":
hasil[jsd] = hurufbesar(ED.Text); break;
case "55":
hasil[jsd] = hurufbesar(EE.Text); break;
} }
//deklarasi variabel returnText : var = fungsi outputText dari nilai fungsi stepOne
returnText = string.Join("", hasil);
//kembalikan fungsi dekripsi = nilai returnText return returnText;
}//===========================================end of fungsi dekripsi ADFGVX===============================================
//fungsi mendapatkan karakter tertentu dari textbox private string getchar(string kar)
{
//deklarasi variabel has : string; string has = "";
if (AA.Text.ToUpper() == kar) has = "11";
else if (AB.Text.ToUpper() == kar) has = "12";
else if (AC.Text.ToUpper() == kar) has = "13";
else if (AD.Text.ToUpper() == kar) has = "14";
else if (AE.Text.ToUpper() == kar) has = "15";
else if (BA.Text.ToUpper() == kar) has = "21";
else if (BB.Text.ToUpper() == kar) has = "22";
else if (BD.Text.ToUpper() == kar) has = "24";
else if (BE.Text.ToUpper() == kar) has = "25";
else if (CA.Text.ToUpper() == kar) has = "31";
else if (CB.Text.ToUpper() == kar) has = "32";
else if (CC.Text.ToUpper() == kar) has = "33";
else if (CD.Text.ToUpper() == kar) has = "34";
else if (CE.Text.ToUpper() == kar) has = "35";
else if (DA.Text.ToUpper() == kar) has = "41";
else if (DB.Text.ToUpper() == kar) has = "42";
else if (DC.Text.ToUpper() == kar) has = "43";
else if (DD.Text.ToUpper() == kar) has = "44";
else if (DE.Text.ToUpper() == kar) has = "45";
else if (EA.Text.ToUpper() == kar) has = "51";
else if (EB.Text.ToUpper() == kar) has = "52";
else if (EC.Text.ToUpper() == kar) has = "53";
else if (ED.Text.ToUpper() == kar) has = "54";
else if (EE.Text.ToUpper() == kar) has = "55";
//kembalikan fungsi getChar = nilai has return has;
}
//fungsi membuat huruf besar
public string hurufbesar(string s) {
//kembalikan fungsi hurufbesar = s diubah menjadi huruf besar
return s.ToUpper(); }
private void button1_Click(object sender, EventArgs e) {
if (txtRead.Text != "") {
if (txtKunci.Text != "") {
== "" || AC.Text == "" || BC.Text == "" || CC.Text == "" || DC.Text == "" || EC.Text == "" || AD.Text == "" || BD.Text == "" || CD.Text == "" || DD.Text == "" || ED.Text
== "" || AE.Text == "" || BE.Text == "" || CE.Text == "" || DE.Text == "" || EE.Text == "")
{
MessageBox.Show("Isian Konversi harus diisi");
} else {
//validasi plaintext, matrik dan kata kunci string pattern = "^[" + AA.Text + BA.Text + CA.Text + DA.Text + EA.Text + AB.Text + BB.Text + CB.Text + DB.Text + EB.Text
+ AC.Text + BC.Text + CC.Text + DC.Text + EC.Text + AD.Text + BD.Text + CD.Text + DD.Text + ED.Text
+ AE.Text + BE.Text + CE.Text + DE.Text + EE.Text + " ]+$";
string pattern2 = "^[0-9 ]+$";
if (Regex.IsMatch(txtRead.Text.ToUpper(), pattern2))
{ if
(Regex.IsMatch(txtKunci.Text.ToUpper(), pattern)) {
//kosongkan textbox txtHasil txtHasil.Text = "";
//deklarasi variabel sw : stopwatch -> menghitung waktu proses
Stopwatch sw = Stopwatch.StartNew();
//menambahkan text kedalam textbox txtHasil dengan hasil dekripsi dari txtRead
txtHasil.AppendText(DecryptMessage(txtRead.Text, txtKunci.Text)); //sw stop
sw.Stop();
//mengambil waktu dalam satuan ms kemudian tampilkan ke textbox lblwaktu
lblWaktu.Text = sw.Elapsed.Milliseconds.ToString() + " ms";
//tampilkan ke textbox lblPanjangKar = panjang karakter dari txtHasil (dekripsi)
lblPanjangKar.Text = txtHasil.Text.Length.ToString();
}
else {
MessageBox.Show("Karakter pada Teks Kunci tidak ada di isian Konversi");
} } else {
MessageBox.Show("Karakter pada plaintext tidak ada di isian Konversi");
} } else {
MessageBox.Show("Teks kunci masih kosong"); }
} else {
MessageBox.Show("Plaintext masih kosong"); }
}
//fungsi tombol simpan hasil dekripsi
private void button2_Click(object sender, EventArgs e) {
//coba lakukan try
{
//deklarasi variabel result: dialog = dialog simpan file
DialogResult result = saveFileDialog1.ShowDialog(); //jika result = OK
if (result == DialogResult.OK) {
//deklarasi formatfile:string = ekstensi dari namafile
string formatfile =
Path.GetExtension(@saveFileDialog1.FileName); //jika txt
if (formatfile == ".txt")
//simpan textbox hasil menjadi filename tipe txt
File.WriteAllText(@saveFileDialog1.FileName, txtHasil.Text);
else {
//simpan textbox hasil menjadi filename tipe doc atau docx
Utility.savetexttoword(txtHasil.Text, saveFileDialog1.FileName);
}
//tampilkan pesan berhasil
MessageBox.Show("File berhasil disimpan!"); }
}
//jika terdapat error catch (Exception err) { //tampilkan pesan error
MessageBox.Show(err.ToString(), "Error"); }
}
//fungsi tombol browse file
private void btnBrowseInput_Click(object sender, EventArgs e) {
DialogResult result = openFileDialog1.ShowDialog(); //jika result = OK
if (result == DialogResult.OK) {
//textbox txtfile = namafile
txtFile.Text = openFileDialog1.FileName; //kosongkan textbox txtread
txtRead.Text = "";
//textbox txtread diisi text dari txtFile
txtRead.AppendText(File.ReadAllText(@txtFile.Text)); }
}
//fungsi tombol reset form
private void button3_Click(object sender, EventArgs e) {
//kembalikan textbox ke nilai awal txtFile.Text = "";
txtHasil.Text = ""; txtKunci.Text = ""; txtRead.Text = "";
AA.Text = ""; AB.Text = ""; AC.Text = ""; AD.Text = ""; AE.Text = "";
BA.Text = ""; BB.Text = ""; BC.Text = ""; BD.Text = ""; BE.Text = "";
CA.Text = ""; CB.Text = ""; CC.Text = ""; CD.Text = ""; CE.Text = "";
DA.Text = ""; DB.Text = ""; DC.Text = ""; DD.Text = ""; DE.Text = "";
EA.Text = ""; EB.Text = ""; EC.Text = ""; ED.Text = ""; EE.Text = "";
Kode Program Enkripsi.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;
using Microsoft.Office.Interop.Word; using System.IO;
using System.Diagnostics;
using System.Text.RegularExpressions;
namespace EnkDekGUI {
public partial class frmEnkripsi : Form {
public frmEnkripsi() {
InitializeComponent();
}
//===========================================fungsi enkripsi ADFGVX===============================================
public string EncryptMessage(string message) {
//deklarasi variabel stepOne : var = fungsi stepOne dari message yang di huruf kecil.
var stepOne = StepOne(message.ToLower());
//deklarasi variabel returnText : var = fungsi outputText dari nilai fungsi stepOne
var returnText = OutputText(stepOne);
//kembalikan fungsi enkripsi = nilai returnText return returnText;
}//===========================================end of fungsi enkripsi ADFGVX===============================================
//fungsi untuk membersihkan string message private string CleanMessage(string message) {
//deklarasi variabel sb : string builder = fungsi string builder baru
StringBuilder sb = new StringBuilder();
//pengulangan untuk pembersihan masing-masing message foreach (char c in message)
{
//memilih karakter ke-c switch (c)
{
case '\r': case '\n': case '\t': case ' ': continue; default:
} }
//kembalikan fungsi CleanMessage = konversi string sb menjadi string dan diubah huruf kecil
return sb.ToString().ToLower(); }
//fungsi untuk mengisi kolom dan metranspose baris menjadi kolom
private string OutputText(string message) {
//deklarasi variabel counter : var = 0 var counter = 0;
//membuat kolom dari kunci var columnTransposition =
txtKunci.Text.Distinct().ToDictionary(c => c, c => new List<char>()); //pengulangan untuk mentranspose sebanyak message
foreach (var each in message) {
//mentranspose karakter sesuai kolom kunci
columnTransposition[txtKunci.Text[counter]].Add(each); //menambahkan 1 step nilai counter counter++;
//jika counter >= txtKunci
if (counter >= txtKunci.Text.Length) //reset counter menjadi 0
counter = 0; }
//deklarasi variabel sb : var = fungsi string builder var sb = new StringBuilder();
//deklarasi variabel alphabeticalString : var = textbox kunci diubah menjadi bentuk list
var alphabeticalKey = txtKunci.Text.ToList(); //mengurutkan secara alphebet list kunci alphabeticalKey.Sort();
//pengulangan untuk pengisian string kedalam kolom kolom kunci
foreach (var c in alphabeticalKey) {
//mengisi masing-masing kolom kunci ke-c dengan string message
foreach (var each in columnTransposition[c]) {
//menambahkan string ke sb sb.Append(each);
}
//memberi spasi diakhir kolom sb.Append(' ');
}
//kembalikan fungsi OutputText = konversi sb menjadi string
return sb.ToString(); }
//deklarasi variabel sb : string builder = fungsi string builder baru
StringBuilder sb = new StringBuilder();
//pengulangan untuk pembersihan masing-masing message foreach (char c in cleanedMessage)
{
switch (c) {
//memilih karakter ke-c case 'a':
sb.Append(getchar("A")); break;
case 'b':
sb.Append(getchar("B")); break;
case 'c':
sb.Append(getchar("C")); break;
case 'd':
sb.Append(getchar("D")); break;
case 'e':
sb.Append(getchar("E")); break;
case 'f':
sb.Append(getchar("F")); break;
case 'g':
sb.Append(getchar("G")); break;
case 'h':
sb.Append(getchar("H")); break;
case 'i':
sb.Append(getchar("I")); break;
case 'j':
sb.Append(getchar("J")); break;
case 'k':
sb.Append(getchar("K")); break;
case 'l':
sb.Append(getchar("L")); break;
case 'm':
sb.Append(getchar("M")); break;
case 'n':
sb.Append(getchar("N")); break;
case 'o':
sb.Append(getchar("O")); break;
case 'p':
sb.Append(getchar("P")); break;
case 'q':
case 'r':
sb.Append(getchar("R")); break;
case 's':
sb.Append(getchar("S")); break;
case 't':
sb.Append(getchar("T")); break;
case 'u':
sb.Append(getchar("U")); break;
case 'v':
sb.Append(getchar("V")); break;
case 'w':
sb.Append(getchar("W")); break;
case 'x':
sb.Append(getchar("X")); break;
case 'y':
sb.Append(getchar("Y")); break;
case 'z':
sb.Append(getchar("Z")); break;
case '0':
sb.Append(getchar("0")); break;
case '1':
sb.Append(getchar("1")); break;
case '2':
sb.Append(getchar("2")); break;
case '3':
sb.Append(getchar("3")); break;
case '4':
sb.Append(getchar("4")); break;
case '5':
sb.Append(getchar("5")); break;
case '6':
sb.Append(getchar("6")); break;
case '7':
sb.Append(getchar("7")); break;
case '8':
sb.Append(getchar("8")); break;
case '9':
sb.Append(getchar("9")); break;
//kembalikan fungsi CleanMessage = konversi string sb menjadi string
return sb.ToString(); }
//fungsi mendapatkan karakter tertentu dari textbox private string getchar(string kar)
{
//deklarasi variabel has : string; string has = "";
if (AA.Text.ToUpper() == kar) has = "AA";
else if (AD.Text.ToUpper() == kar) has = "AD";
else if (AF.Text.ToUpper() == kar) has = "AF";
else if (AG.Text.ToUpper() == kar) has = "AG";
else if (AV.Text.ToUpper() == kar) has = "AV";
else if (AX.Text.ToUpper() == kar) has = "AX";
else if (DA.Text.ToUpper() == kar) has = "DA";
else if (DD.Text.ToUpper() == kar) has = "DD";
else if (DF.Text.ToUpper() == kar) has = "DF";
else if (DG.Text.ToUpper() == kar) has = "DG";
else if (DV.Text.ToUpper() == kar) has = "DV";
else if (DX.Text.ToUpper() == kar) has = "DX";
else if (FA.Text.ToUpper() == kar) has = "FA";
else if (FD.Text.ToUpper() == kar) has = "FD";
else if (FF.Text.ToUpper() == kar) has = "FF";
else if (FG.Text.ToUpper() == kar) has = "FG";
else if (FV.Text.ToUpper() == kar) has = "FV";
else if (FX.Text.ToUpper() == kar) has = "FX";
else if (GA.Text.ToUpper() == kar) has = "GA";
else if (GD.Text.ToUpper() == kar) has = "GD";
else if (GF.Text.ToUpper() == kar) has = "GF";
else if (GG.Text.ToUpper() == kar) has = "GG";
else if (GV.Text.ToUpper() == kar) has = "GV";
else if (GX.Text.ToUpper() == kar) has = "GX";
else if (VD.Text.ToUpper() == kar) has = "VD";
else if (VF.Text.ToUpper() == kar) has = "VF";
else if (VG.Text.ToUpper() == kar) has = "VG";
else if (VV.Text.ToUpper() == kar) has = "VV";
else if (VX.Text.ToUpper() == kar) has = "VX";
else if (XA.Text.ToUpper() == kar) has = "XA";
else if (XD.Text.ToUpper() == kar) has = "XD";
else if (XF.Text.ToUpper() == kar) has = "XF";
else if (XG.Text.ToUpper() == kar) has = "XG";
else if (XV.Text.ToUpper() == kar) has = "XV";
else if (XX.Text.ToUpper() == kar) has = "XX";
//kembalikan fungsi getChar = nilai has return has;
}
private void button1_Click(object sender, EventArgs e) {
if (txtRead.Text != "") {
if (txtKunci.Text != "") {
if (AA.Text == "" || DA.Text == "" || FA.Text == "" || GA.Text == "" || VA.Text == "" || XA.Text == "" || AD.Text == "" || DD.Text == "" || FD.Text == "" || GD.Text
== "" || VD.Text == "" || XD.Text == "" || AF.Text == "" || DF.Text == "" || FF.Text == "" || GF.Text == "" || VF.Text == "" || XF.Text == "" || AG.Text == "" || DG.Text
== "" || FG.Text == "" || GG.Text == "" || VG.Text == "" || XG.Text == "" || AV.Text == "" || DV.Text == "" || FV.Text == "" || GV.Text == "" || VV.Text == "" || XV.Text
== "" || AX.Text == "" || DX.Text == "" || FX.Text == "" || GX.Text == "" || VX.Text == "" || XX.Text == "" )
{
MessageBox.Show("Isian Konversi harus diisi");
} else {
//validasi plaintext, matrik dan kata kunci string pattern = "^[" + AA.Text + DA.Text + FA.Text + GA.Text + VA.Text + XA.Text + AD.Text + DD.Text + FD.Text + GD.Text
+ VD.Text + XD.Text + AF.Text + DF.Text + FF.Text + GF.Text + VF.Text + XF.Text + AG.Text + DG.Text
+ AX.Text + DX.Text + FX.Text + GX.Text + VX.Text + XX.Text + " ]+$";
if (Regex.IsMatch(txtRead.Text.ToUpper(), pattern))
{
if
(Regex.IsMatch(txtKunci.Text.ToUpper(), pattern)) {
//kosongkan textbox txtHasil txtHasil.Text = "";
//deklarasi variabel sw : stopwatch -> menghitung waktu proses
Stopwatch sw = Stopwatch.StartNew();
//menambahkan text kedalam textbox txtHasil dengan hasil enkripsi dari txtRead
txtHasil.AppendText(EncryptMessage(txtRead.Text)); //sw stop
sw.Stop();
//mengambil waktu dalam satuan ms kemudian tampilkan ke textbox lblwaktu
lblWaktu.Text =
sw.Elapsed.Milliseconds.ToString() + " ms";
//tampilkan ke textbox lblPanjangKar = panjang karakter dari txtHasil (enkripsi)
lblPanjangKar.Text = txtHasil.Text.Length.ToString();
}
else {
MessageBox.Show("Karakter pada Teks Kunci tidak ada di isian Konversi");
} }
else {
MessageBox.Show("Karakter pada plaintext tidak ada di isian Konversi");
}
} }
else {
MessageBox.Show("Teks Kunci masih kosong"); }
}
else {
MessageBox.Show("Plaintext masih kosong"); }
//fungsi tombol simpan hasil enkripsi
private void button2_Click(object sender, EventArgs e) {
//coba lakukan try {
//deklarasi variabel result: dialog = dialog simpan file
DialogResult result = saveFileDialog1.ShowDialog(); //jika result = OK
if (result == DialogResult.OK) {
//simpan textbox hasil menjadi filename File.WriteAllText(@saveFileDialog1.FileName, txtHasil.Text);
//tampilkan pesan berhasil
MessageBox.Show("File berhasil disimpan!"); }
}
//jika terdapat error catch (Exception err) { //tampilkan pesan error
MessageBox.Show(err.ToString(), "Error"); }
}
//fungsi tombol browse file
private void btnBrowseInput_Click(object sender, EventArgs e) {
//deklarasi variabel result: dialog = dialog buka file DialogResult result = openFileDialog1.ShowDialog(); //jika result = OK
if (result == DialogResult.OK) {
//textbox txtfile = namafile
txtFile.Text = openFileDialog1.FileName; //kosongkan textbox txtread
txtRead.Text = "";
//deklarasi formatfile:string = ekstensi dari namafile
string formatfile = Path.GetExtension(@txtFile.Text); //jika txt
if (formatfile == ".txt")
//textbox txtread diisi text dari file text
txtRead.AppendText(File.ReadAllText(@txtFile.Text)); //jika doc atau docx
else if (formatfile == ".doc" || formatfile == ".docx")
//textbox txtread diisi text dari file doc atau docx
txtRead.AppendText(Utility.gettextfromword(@txtFile.Text)); //jika tidak ada
else
txtRead.Text = ""; }
}
//fungsi tombol reset form
private void button3_Click(object sender, EventArgs e) {
//kembalikan textbox ke nilai awal txtFile.Text = "";
txtHasil.Text = ""; txtKunci.Text = ""; txtRead.Text = "";
AA.Text = ""; AD.Text = ""; AF.Text = ""; AG.Text = ""; AV.Text = ""; AX.Text = "";
DA.Text = ""; DD.Text = ""; DF.Text = ""; DG.Text = ""; DV.Text = ""; DX.Text = "";
FA.Text = ""; FD.Text = ""; FF.Text = ""; FG.Text = ""; FV.Text = ""; FX.Text = "";
GA.Text = ""; GD.Text = ""; GF.Text = ""; GG.Text = ""; GV.Text = ""; GX.Text = "";
VA.Text = ""; VD.Text = ""; VF.Text = ""; VG.Text = ""; VV.Text = ""; VX.Text = "";
XA.Text = ""; XD.Text = ""; XF.Text = ""; XG.Text = ""; XV.Text = ""; XX.Text = "";
}
Kode Program Dekripsi.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; using System.IO;
using Microsoft.Office.Interop.Word; using System.Diagnostics;
using System.Text.RegularExpressions;
namespace EnkDekGUI {
public partial class frmDekripsi : Form {
public frmDekripsi() {
InitializeComponent(); }
//===========================================fungsi dekripsi ADFGVX===============================================
public string DecryptMessage(string cipherText) {
//deklarasi array string splitChiper = chipertext dipisahkan dengan ' '
string[] splitCipher = cipherText.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
//deklarasi transformedCipher : var = fungsi transformChiper dari splitchiper
var transformedCipher = TransformCipher(splitCipher); //deklarasi returntext : var = fungsi ReverseStepOne dari transformedChiper
var returnText = ReverseStepOne(transformedCipher); //kembalikan fungsi dekripsi = nilai returnText return returnText;
}//===========================================end of fungsi dekripsi ADFGVX===============================================
//fungsi pembalikan
private string ReverseStepOne(string transformedCipher) {
//deklarasi sb: var = stringbuilder var sb = new StringBuilder();
//perulangan untuk menambahkan string sb
for (int i = 1; i < transformedCipher.Length; i += 2) {
//tambahkan sb dari fungsi getplaintext dari array transformedCipher ke-i sampai transformedCipher ke-i)
sb.Append(GetPlainText(transformedCipher[i - 1], transformedCipher[i]));
}
//kembalikan fungsi ReverseStepOne = konvernsi sb menjadi string
//fungsi membuat huruf besar
public string hurufbesar(string s) {
//kembalikan fungsi hurufbesar = s diubah menjadi huruf besar
return s.ToUpper(); }
//fungsi mengganti plain text menjadi string ADFGVX private string GetPlainText(char c, char c1)
{
//deklarasi variabel sb: var = fungsi string builder var sb = new StringBuilder();
//deklarasi variabel sb: var = fungsi string builder var sb2 = new StringBuilder();
//menambahkan baris sb2 dengan c sb2.Append(c);
//menambahkan baris sb2 dengan c1 sb2.Append(c1);
//mengganti string sb2 dengan string sesuai textbox switch (sb2.ToString())
{
case "AA":
sb.Append(hurufbesar(AA.Text)); break;
case "AD":
sb.Append(hurufbesar(AD.Text)); break;
case "AF":
sb.Append(hurufbesar(AF.Text)); break;
case "AG":
sb.Append(hurufbesar(AG.Text)); break;
case "AV":
sb.Append(hurufbesar(AV.Text)); break;
case "AX":
sb.Append(hurufbesar(AX.Text)); break;
case "DA":
sb.Append(hurufbesar(DA.Text)); break;
case "DD":
sb.Append(hurufbesar(DD.Text)); break;
case "DF":
sb.Append(hurufbesar(DF.Text)); break;
case "DG":
sb.Append(hurufbesar(DG.Text)); break;
case "DV":
sb.Append(hurufbesar(DV.Text)); break;
case "DX":
sb.Append(hurufbesar(DX.Text)); break;
sb.Append(hurufbesar(FA.Text)); break;
case "FD":
sb.Append(hurufbesar(FD.Text)); break;
case "FF":
sb.Append(hurufbesar(FF.Text)); break;
case "FG":
sb.Append(hurufbesar(FG.Text)); break;
case "FV":
sb.Append(hurufbesar(FV.Text)); break;
case "FX":
sb.Append(hurufbesar(FX.Text)); break;
case "GA":
sb.Append(hurufbesar(GA.Text)); break;
case "GD":
sb.Append(hurufbesar(GD.Text)); break;
case "GF":
sb.Append(hurufbesar(GF.Text)); break;
case "GG":
sb.Append(hurufbesar(GG.Text)); break;
case "GV":
sb.Append(hurufbesar(GV.Text)); break;
case "GX":
sb.Append(hurufbesar(GX.Text)); break;
case "VA":
sb.Append(hurufbesar(VA.Text)); break;
case "VD":
sb.Append(hurufbesar(VD.Text)); break;
case "VF":
sb.Append(hurufbesar(VF.Text)); break;
case "VG":
sb.Append(hurufbesar(VG.Text)); break;
case "VV":
sb.Append(hurufbesar(VV.Text)); break;
case "VX":
sb.Append(hurufbesar(VX.Text)); break;
case "XA":
sb.Append(hurufbesar(XA.Text)); break;
case "XD":
sb.Append(hurufbesar(XD.Text)); break;
sb.Append(hurufbesar(XF.Text)); break;
case "XG":
sb.Append(hurufbesar(XG.Text)); break;
case "XV":
sb.Append(hurufbesar(XV.Text)); break;
case "XX":
sb.Append(hurufbesar(XX.Text)); break;
}
//kembalikan fungsi GetPlainText = konversi sb menjadi string
return sb.ToString(); }
//fungsi untuk mengisi kolom dan metranspose kolom menjadi baris
public string TransformCipher(string[] splitCipher) {
//deklarasi variabel alphabeticalString : var = textbox kunci diubah menjadi bentuk list
var alphabeticalString = txtKunci.Text.ToList(); //mengurutkan secara alphebet list kunci
alphabeticalString.Sort(); //membuat kolom dari kunci var columnTransposition =
txtKunci.Text.Distinct().ToDictionary(c => c, c => new List<char>()); //deklarasi variabel counter : var = 0
var counter = 0;
//pengulangan untuk pengisian string kedalam kolom kolom kunci
foreach (var c in alphabeticalString) {
//mengisi masing-masing kolom kunci ke-c dengan string ADFGVX
columnTransposition[c].AddRange(splitCipher[counter].ToList()); //menambahkan 1 step nilai counter
counter++; }
//deklarasi variabel sb : var = fungsi string builder var sb = new StringBuilder();
//deklarasi longestLength : int = fungsi mencari kolom terpanjang dari masing-masing nilai array splitChiper
int longestLength = GetLongestLength(splitCipher); //pengulangan untuk mentranspose kolom menjadi baris sebanyak kolom terpanjang
for (int i = 0; i < longestLength; i++) {
//pengulangan untuk mentranspose sebanyak textbox kunci
foreach (var c in txtKunci.Text) {
//cek apakah jumlah kolom <> 0
if (columnTransposition[c].Count != 0) {
//jika ya, lanjutkan
sb.Append(columnTransposition[c].FirstOrDefault()); //mereset transpose ke posisi 0 columnTransposition[c].RemoveAt(0); }
} }
//kembalikan fungsi TransformChiper = konversi sb menjadi string
return sb.ToString(); }
//fungsi mencari kolom terpanjang pada splitChiper private int GetLongestLength(string[] splitCipher) {
//deklarasi variabel largestlength : var = konversi nilai minimum menjadi int
int largestLength = int.MinValue;
//pengulangan untuk mencari kolom terpanjang foreach (var each in splitCipher)
{
//cek apakah tiap kolom lebih besar dari pembanding if (each.Length > largestLength)
//jika ya, lanjutkan //pembanding = tiap kolom largestLength = each.Length; }
//kembalikan fungsi GetLongestLength = largestLength return largestLength;
}
private void button1_Click(object sender, EventArgs e) {
if (txtRead.Text != "") {
if (txtKunci.Text != "") {
if (AA.Text == "" || DA.Text == "" || FA.Text == "" || GA.Text == "" || VA.Text == "" || XA.Text == "" || AD.Text == "" || DD.Text == "" || FD.Text == "" || GD.Text
== "" || VD.Text == "" || XD.Text == "" || AF.Text == "" || DF.Text == "" || FF.Text == "" || GF.Text == "" || VF.Text == "" || XF.Text == "" || AG.Text == "" || DG.Text
== "" || FG.Text == "" || GG.Text == "" || VG.Text == "" || XG.Text == "" || AV.Text == "" || DV.Text == "" || FV.Text == "" || GV.Text == "" || VV.Text == "" || XV.Text
== "" || AX.Text == "" || DX.Text == "" || FX.Text == "" || GX.Text == "" || VX.Text == "" || XX.Text == "")
{
MessageBox.Show("Isian Konversi harus diisi");
} else {
+ VD.Text + XD.Text + AF.Text + DF.Text + FF.Text + GF.Text + VF.Text + XF.Text + AG.Text + DG.Text
+ FG.Text + GG.Text + VG.Text + XG.Text + AV.Text + DV.Text + FV.Text + GV.Text + VV.Text + XV.Text
+ AX.Text + DX.Text + FX.Text + GX.Text + VX.Text + XX.Text + " ]+$";
string pattern2 = "^[ADFGVX ]+$";
if (Regex.IsMatch(txtRead.Text.ToUpper(), pattern2))
{ if
(Regex.IsMatch(txtKunci.Text.ToUpper(), pattern)) {
//kosongkan textbox txtHasil txtHasil.Text = "";
//deklarasi variabel sw : stopwatch -> menghitung waktu proses
Stopwatch sw = Stopwatch.StartNew();
//menambahkan text kedalam textbox txtHasil dengan hasil dekripsi dari txtRead
txtHasil.AppendText(DecryptMessage(txtRead.Text)); //sw stop
sw.Stop();
//mengambil waktu dalam satuan ms kemudian tampilkan ke textbox lblwaktu
lblWaktu.Text = sw.Elapsed.Milliseconds.ToString() + " ms";
//tampilkan ke textbox lblPanjangKar = panjang karakter dari txtHasil (dekripsi)
lblPanjangKar.Text = txtHasil.Text.Length.ToString(); }
else {
MessageBox.Show("Karakter pada Teks Kunci tidak ada di isian Konversi");
} } else {
MessageBox.Show("Karakter pada plaintext tidak ada di isian Konversi");
}
} } else {
MessageBox.Show("Teks Kunci masih kosong"); }
} else {
MessageBox.Show("Plaintext masih kosong"); }
}
//fungsi tombol simpan hasil dekripsi
//coba lakukan try
{
//deklarasi variabel result: dialog = dialog simpan file
DialogResult result = saveFileDialog1.ShowDialog(); //jika result = OK
if (result == DialogResult.OK) {
//deklarasi formatfile:string = ekstensi dari namafile
string formatfile =
Path.GetExtension(@saveFileDialog1.FileName); //jika txt
if (formatfile == ".txt")
//simpan textbox hasil menjadi filename tipe txt
File.WriteAllText(@saveFileDialog1.FileName, txtHasil.Text);
else {
//simpan textbox hasil menjadi filename tipe doc atau docx
Utility.savetexttoword(txtHasil.Text, saveFileDialog1.FileName);
}
//tampilkan pesan berhasil
MessageBox.Show("File berhasil disimpan!"); }
}
//jika terdapat error catch (Exception err) { //tampilkan pesan error
MessageBox.Show(err.ToString(), "Error"); }
}
//fungsi tombol browse file
private void btnBrowseInput_Click(object sender, EventArgs e) {
//deklarasi variabel result: dialog = dialog buka file DialogResult result = openFileDialog1.ShowDialog(); //jika result = OK
if (result == DialogResult.OK) {
//textbox txtfile = namafile
txtFile.Text = openFileDialog1.FileName; //kosongkan textbox txtread
txtRead.Text = "";
//textbox txtread diisi text dari txtFile
txtRead.AppendText(File.ReadAllText(@txtFile.Text)); }
}
//fungsi tombol reset form
private void button3_Click(object sender, EventArgs e) {
txtHasil.Text = ""; txtKunci.Text = ""; txtRead.Text = "";
AA.Text = ""; AD.Text = ""; AF.Text = ""; AG.Text = ""; AV.Text = ""; AX.Text = "";
DA.Text = ""; DD.Text = ""; DF.Text = ""; DG.Text = ""; DV.Text = ""; DX.Text = "";
FA.Text = ""; FD.Text = ""; FF.Text = ""; FG.Text = ""; FV.Text = ""; FX.Text = "";
GA.Text = ""; GD.Text = ""; GF.Text = ""; GG.Text = ""; GV.Text = ""; GX.Text = "";
VA.Text = ""; VD.Text = ""; VF.Text = ""; VG.Text = ""; VV.Text = ""; VX.Text = "";
XA.Text = ""; XD.Text = ""; XF.Text = ""; XG.Text = ""; XV.Text = ""; XX.Text = ""; }
} }
Tentang.cs
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Windows.Forms;
namespace EnkDekGUI {
public partial class frmTentang : Form {
public frmTentang() {
InitializeComponent(); }
} }
Utility
using System;
using System.Collections.Generic; using System.Linq;
using System.Text;
using Microsoft.Office.Interop.Word; using System.IO;
using System.Diagnostics;
namespace EnkDekGUI {
class Utility {
//fungsi membaca text dari word
public static string gettextfromword(string file) {
//deklarasi word : application
Application word = new Application(); //deklarasi miss : object = nilai missing object miss = System.Reflection.Missing.Value; //deklarasi path : object = lokasi file
object path = @file;
//deklarasi readonly: object = nilai true object readOnly = true;
//membuat baru file word dengan lokasi file, readonly, miss
Document docs = word.Documents.Open(ref path, ref miss, ref readOnly, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);
//deklarasi totaltext:string = "" string totaltext = "";
//perulangan untuk membaca baris perbaris paragrap for (int i = 0; i < docs.Paragraphs.Count; i++) {
//totaltext += paragrap ke-i + 1 diubah menjadi string
totaltext += docs.Paragraphs[i + 1].Range.Text.ToString();
}
//keluar dari word
((_Application)word).Quit();
}
//fungsi menyimpan text ke word
public static string savetexttoword(string teks, string file) {
//deklarasi word : application
Application word = new Application(); //deklarasi visible = nilai true word.Visible = true;
//deklarasi oDoc: var = menambahkan dokumen var oDoc = word.Documents.Add();
//deklarasi par1: var = menambahkan paragrap var par1 = oDoc.Content.Paragraphs.Add(); //par1 = teks
par1.Range.Text = teks; //simpan file ke lokasi file oDoc.SaveAs(@file);
//keluar dari word
((_Application)word).Quit();
//kembalikan fungsi text dari word = teks return teks;
} } }
Program
using System;
using System.Collections.Generic; using System.Linq;
using System.Windows.Forms;
namespace EnkDekGUI {
static class Program {
/// <summary>
/// The main entry point for the application. /// </summary>
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.Run(new frmMain());