Berikut ini adalah salah satu contoh dari ilmu kriptografi yang dinamakan algoritma Qwerty (originaled by : Dwindy Stanza & Paiman). Sesuai dengan namanya, QWERTY, algoritma ini disesuaikan dengan papan keyboard standard. Prinsip kerjanya kurang lebih seperti ini :
A menempati indeks 0 = Q menempati indeks 0
B menempati indeks 1 = W menempati indeks 1
C menempati indeks 2 = E menempati indeks 2
D menempati indeks 3 = R menempati indeks 3
...
Z menempati indeks 25 = M menempati indeks 25
Itu untuk huruf pertama, sedangkan untuk huruf kedua maka ada pergeseran index, sehingga A tidak lagi menjadi Q, tetapi menjadi W. Dan Q diubah menjadi indeks terakhir sehingga W hingga M bergeser satu indeks. Begitu seterusnya.
A menempati indeks 0 = W menempati indeks 0
B menempati indeks 1 = E menempati indeks 1
C menempati indeks 2 = R menempati indeks 2
D menempati indeks 3 = T menempati indeks 3
...
Z menempati indeks 25 = Q menempati indeks 25
Sebelum membuat implementasi di dalam kode program, buatlah terlebih dahulu komponen-komponen yang dibutuhkan, yaitu
1. JTextField txtPlain
2. JTextField txtChiper
3. JButton btnEncrypt
4. JButton btnDecrypt
Encrypt digunakan untuk menerjemahkan Plain text menjadi chiper text, sedangkan Decrypt menerjemahkan chiper text menjadi plain text.
Untuk implementasi di dalam java, kurang lebih seperti ini untuk action btnEncrypt :
private void btnEncryptActionPerformed(java.awt.event.ActionEvent evt) {
char [] kode = {'Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M' };
char [] abc = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z' };
int ketemu=0;
char tampung = 0;
String plaintext = txtPlain.getText();
char[] ciphertext = new char[plaintext.length()];
if (!plaintext.equals(""))
txtPlain.setText(plaintext);
for(int w = 0; w
Sedangkan untuk implementasi pada action button Decrypt adalah seperti berikut :
private void btnDecryptActionPerformed(java.awt.event.ActionEvent evt) {
char [] kode = {'Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M' };
char [] abc = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z' };
int ketemu=0;
char tampung = 0;
String plaintext = txtPlain.getText();
char[] ciphertext = new char[plaintext.length()];
if (!plaintext.equals(""))
txtPlain.setText(plaintext);
for(int w = 0; w
abc[i] = abc[i-1];
}
abc[0] = bantu;
}
String c;
for(int w = 0; w
Untuk hasil, diberi contoh misal plain text = BEDA
maka chiper text = WYYR
selamat mencoba and happy coding !
By : Mr.Stanza
0 comments:
Post a Comment