NIM : 5150311055
TAMPILAN PROGRAM DAN SYNTAX OTP PADA NETBEANS
- Pertama buka aplikasi Netbeans
- Cari menu file kemudian klik New Project
3. Klik java lalu klik java application dan next
4. Selanjutnya beri nama dan klik Finish
5. Kemudian tambahkan Package, JavaClass, dan JFrame. Seperti contoh dibawah :
-package gui : 2 JFrame yang diberi nama JFrameLogin dan JFrameMenu
-package dec : Java Class beri nama Decrypt
-package enc : Java Class beri nama Encrypt
-package random : Java Class beri nama Random
package enc;import random.Random;public class Encrypt { private String asli="TEST"; public Encrypt() { Random rd = new Random(); this.asli = rd.getStr(); } public String getPalsu() { String WordKey = "LOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHA"; String NumKey = "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"; String CodeKey = "~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,."; //String toEncrypt = "Aku kirim sejumlah Rp.17.800.100,00 \"(tujuh belas juta)\" syaratnya harus lengkap"; String toEncrypt = this.asli; WordKey = WordKey.toLowerCase(); toEncrypt = toEncrypt.toLowerCase(); char wordArray[] = WordKey.toCharArray(); char numArray[] = NumKey.toCharArray(); char charArray[] = toEncrypt.toCharArray(); char codeArray[] = CodeKey.toCharArray(); for (int i = 0; i < toEncrypt.length(); i++) { if (Character.isLetter(charArray[i])) { if (Character.isUpperCase(charArray[i])) { charArray[i] = (char) (((int) charArray[i] - 65 + ((int) wordArray[i] - 97)) % 26 + 65); } else { charArray[i] = (char) (((int) charArray[i] - 97 + ((int) wordArray[i] - 97)) % 26 + 97); } } else if ((int) charArray[i] >= 48 && (int) charArray[i] < 58) { charArray[i] = (char) (((int) charArray[i] - 48 + ((int) numArray[i])) % 10 + 48); } else if ((int) charArray[i] >= 30 && (int) charArray[i] < 48) { charArray[i] = (char) (((int) charArray[i] - 30 + ((int) codeArray[i])) % 18 + 30); } } toEncrypt = new String(charArray); return toEncrypt; } public void setPalsu(String palsu) { this.palsu = palsu; } public String getAsli() { return asli; } public void setAsli(String asli) { this.asli = asli; }} 7. Masukkan Syntax decryptpackage dec;public class Decrypt {private String alsi; public Decrypt() { } public String getAlsi() { String WordKey = "LOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHA"; String NumKey = "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"; String CodeKey = "~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,."; String toDecrypt = this.alsi; WordKey = WordKey.toLowerCase(); toDecrypt = toDecrypt.toUpperCase(); char wordArray[] = WordKey.toCharArray(); char numArray[] = NumKey.toCharArray(); char charArray[] = toDecrypt.toCharArray(); char codeArray[] = CodeKey.toCharArray(); for (int i = 0; i < toDecrypt.length(); i++) { if (Character.isLetter(charArray[i])) { if (Character.isUpperCase(charArray[i])) { charArray[i] = (char) (((int) charArray[i] - 65 - ((int) wordArray[i % WordKey.length()] - 97) + 104) % 26 + 65); } else { charArray[i] = (char) (((int) charArray[i] - 97 - ((int) wordArray[i % WordKey.length()] - 97) + 104) % 26 + 97); } } else if ((int) charArray[i] >= 48 && (int) charArray[i] < 58) { charArray[i] = (char) (((int) charArray[i] - 48 - ((int) numArray[i]) + 80) % 10 + 48); } else if ((int) charArray[i] >= 30 && (int) charArray[i] < 48) { charArray[i] = (char) (((int) charArray[i] - 30 - ((int) codeArray[i])) % 18 + 48); } } toDecrypt = new String(charArray); return toDecrypt; } public void setAlsi(String alsi) { this.alsi = alsi; }} 8. Masukkan Syntax Randompackage random;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;public class Random { private String str; public String getStr() { //============== JANGKRIK ============================ //int randomPin = (int) (Math.random() * 9000) + 1000; //str = String.valueOf(randomPin); //========== END OF JANGKRIK ========================= //DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); DateFormat df = new SimpleDateFormat("ssmm"); Calendar cl = Calendar.getInstance(); str = ""+df.format(cl.getTime()); str = "9"+str+"4"; /* String cr = ""; String hs = ""; for (int i = 0; i < str.length(); i++) { cr = str.substring(i, i + 1); int ii = Integer.parseInt(cr); if (ii == 0) { cr = "A"; } else if (ii == 1) { cr = "B"; } else if (ii == 2) { cr = "C"; } else if (ii == 3) { cr = "D"; } else if (ii == 4) { cr = "E"; } else if (ii == 5) { cr = "F"; } else if (ii == 6) { cr = "G"; } else if (ii == 7) { cr = "H"; } else if (ii == 8) { cr = "I"; } else if (ii == 9) { cr = "J"; } else { cr = ""; } hs = hs + cr; } */ return str; }public void setStr(String str) { }}9.Klik JframeLogin dan buat tampilan seperti dibawah ini :
-package dec : Java Class beri nama Decrypt
-package enc : Java Class beri nama Encrypt
-package random : Java Class beri nama Random
6. Masukkan Syntax Encrypt
package enc;import random.Random;public class Encrypt { private String asli="TEST"; public Encrypt() { Random rd = new Random(); this.asli = rd.getStr(); } public String getPalsu() { String WordKey = "LOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHA"; String NumKey = "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"; String CodeKey = "~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,."; //String toEncrypt = "Aku kirim sejumlah Rp.17.800.100,00 \"(tujuh belas juta)\" syaratnya harus lengkap"; String toEncrypt = this.asli; WordKey = WordKey.toLowerCase(); toEncrypt = toEncrypt.toLowerCase(); char wordArray[] = WordKey.toCharArray(); char numArray[] = NumKey.toCharArray(); char charArray[] = toEncrypt.toCharArray(); char codeArray[] = CodeKey.toCharArray(); for (int i = 0; i < toEncrypt.length(); i++) { if (Character.isLetter(charArray[i])) { if (Character.isUpperCase(charArray[i])) { charArray[i] = (char) (((int) charArray[i] - 65 + ((int) wordArray[i] - 97)) % 26 + 65); } else { charArray[i] = (char) (((int) charArray[i] - 97 + ((int) wordArray[i] - 97)) % 26 + 97); } } else if ((int) charArray[i] >= 48 && (int) charArray[i] < 58) { charArray[i] = (char) (((int) charArray[i] - 48 + ((int) numArray[i])) % 10 + 48); } else if ((int) charArray[i] >= 30 && (int) charArray[i] < 48) { charArray[i] = (char) (((int) charArray[i] - 30 + ((int) codeArray[i])) % 18 + 30); } } toEncrypt = new String(charArray); return toEncrypt; } public void setPalsu(String palsu) { this.palsu = palsu; } public String getAsli() { return asli; } public void setAsli(String asli) { this.asli = asli; }} 7. Masukkan Syntax decryptpackage dec;public class Decrypt {private String alsi; public Decrypt() { } public String getAlsi() { String WordKey = "LOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHA"; String NumKey = "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"; String CodeKey = "~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,."; String toDecrypt = this.alsi; WordKey = WordKey.toLowerCase(); toDecrypt = toDecrypt.toUpperCase(); char wordArray[] = WordKey.toCharArray(); char numArray[] = NumKey.toCharArray(); char charArray[] = toDecrypt.toCharArray(); char codeArray[] = CodeKey.toCharArray(); for (int i = 0; i < toDecrypt.length(); i++) { if (Character.isLetter(charArray[i])) { if (Character.isUpperCase(charArray[i])) { charArray[i] = (char) (((int) charArray[i] - 65 - ((int) wordArray[i % WordKey.length()] - 97) + 104) % 26 + 65); } else { charArray[i] = (char) (((int) charArray[i] - 97 - ((int) wordArray[i % WordKey.length()] - 97) + 104) % 26 + 97); } } else if ((int) charArray[i] >= 48 && (int) charArray[i] < 58) { charArray[i] = (char) (((int) charArray[i] - 48 - ((int) numArray[i]) + 80) % 10 + 48); } else if ((int) charArray[i] >= 30 && (int) charArray[i] < 48) { charArray[i] = (char) (((int) charArray[i] - 30 - ((int) codeArray[i])) % 18 + 48); } } toDecrypt = new String(charArray); return toDecrypt; } public void setAlsi(String alsi) { this.alsi = alsi; }} 8. Masukkan Syntax Randompackage random;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;public class Random { private String str; public String getStr() { //============== JANGKRIK ============================ //int randomPin = (int) (Math.random() * 9000) + 1000; //str = String.valueOf(randomPin); //========== END OF JANGKRIK ========================= //DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); DateFormat df = new SimpleDateFormat("ssmm"); Calendar cl = Calendar.getInstance(); str = ""+df.format(cl.getTime()); str = "9"+str+"4"; /* String cr = ""; String hs = ""; for (int i = 0; i < str.length(); i++) { cr = str.substring(i, i + 1); int ii = Integer.parseInt(cr); if (ii == 0) { cr = "A"; } else if (ii == 1) { cr = "B"; } else if (ii == 2) { cr = "C"; } else if (ii == 3) { cr = "D"; } else if (ii == 4) { cr = "E"; } else if (ii == 5) { cr = "F"; } else if (ii == 6) { cr = "G"; } else if (ii == 7) { cr = "H"; } else if (ii == 8) { cr = "I"; } else if (ii == 9) { cr = "J"; } else { cr = ""; } hs = hs + cr; } */ return str; }public void setStr(String str) { }}9.Klik JframeLogin dan buat tampilan seperti dibawah ini :
Syntaxnya :
masukkan import di package gui
package gui;
import dec.Decrypt;
import enc.Encrypt;
import gui.JFrameMenu;
import javax.swing.JOptionPane;
- Tambahkan initComponents:
jLblPalsu.setText(getPwdPalsu());
- Tambahkan private string getPwdAsli dan getPwdPalsu dibawah fungsi components
private String getPwdAsli(){
Encrypt enc = new Encrypt();
return enc.getAsli();
}
private String getPwdPalsu(){
Encrypt enc = new Encrypt();
return enc.getPalsu();
}
- Masukan syntax di button Decrypt
private void jBtnToDecryptActionPerformed(java.awt.event.ActionEvent evt) {
String jtxttodec = jTxtToDecrypt.getText();
Decrypt dec = new Decrypt();
dec.setAlsi(jtxttodec);
jLblAsli.setText(dec.getAlsi());
-masukkan syntax di button Login
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if (jTextField1.getText().equals("admin")) {
if (jPasswordField1.getText().equals(jLblAsli.getText())) {
// Bila Login Sukses Maka Masuk Menu Utama
new JFrameMenu().show();
this.dispose(); }
else {
// Bila Login Gagal Maka Ulangi Login
JOptionPane.showMessageDialog(rootPane, "<error> Password Salah, Silahkan Coba Lagi");
jTextField1.setText("");
jPasswordField1.requestFocus(); }}
else {
JOptionPane.showMessageDialog(rootPane, "<error> Username, Silahkan Coba Lagi");
jTextField1.setText("");
jPasswordField1.setText("");
jTextField1.requestFocus();
}
}
- Pilih random dan masukkan syntax di Java Class Random.java
//masukkan import dibawah ini :
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class Random {
private String str;
public String getStr() {
//============== JANGKRIK ============================
//int randomPin = (int) (Math.random() * 9000) + 1000;
//str = String.valueOf(randomPin);
//========== END OF JANGKRIK =========================
//DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DateFormat df = new SimpleDateFormat("ssmm");
Calendar cl = Calendar.getInstance();
str = ""+df.format(cl.getTime());
str = "9"+str+"4";
/*
String cr = "";
String hs = "";
for (int i = 0; i < str.length(); i++) {
cr = str.substring(i, i + 1);
int ii = Integer.parseInt(cr);
if (ii == 0) {
cr = "A";
} else if (ii == 1) {
cr = "B";
} else if (ii == 2) {
cr = "C";
} else if (ii == 3) {
cr = "D";
} else if (ii == 4) {
cr = "E";
} else if (ii == 5) {
cr = "F";
} else if (ii == 6) {
cr = "G";
} else if (ii == 7) {
cr = "H";
} else if (ii == 8) {
cr = "I";
} else if (ii == 9) {
cr = "J";
} else {
cr = "";
}
hs = hs + cr;
}
*/
return str;
}
public void setStr(String str) {
}
}
10. Klik JFrameMenu dan buat tampilannya
TUTORIAL TAMPILAN OTP DI ANDROID STUDIO
1. Open Android Studio
2. Buatlah New Project
3. Berilah nama New Project
4. Kemudian KlikEmpty Activity
5. Pilih MainActivity pada Java dan beri syntax :
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView tvpwdasli;
EditText edttxtpalsu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void btnOkClick(View view){
tvpwdasli = (TextView ) findViewById(R.id.tvPwdAsli);
edttxtpalsu = (EditText) findViewById(R.id.edttxtpalsu);
String palsu = edttxtpalsu.getText().toString();
OtpDecrypt obj = new OtpDecrypt(palsu);
tvpwdasli.setText(obj.getPwdasli());
}
}
6. Klik activity_main.xml dan beri syntax
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:background="#41798b" tools:context=".MainActivity">
<EditText
android:id="@+id/edttxtpalsu" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:hint="PASSWORD PALSU" android:layout_marginTop="50dp" android:textColorHint="#fff" android:textColor="#fff" android:inputType="text" />
<Button android:id="@+id/btnOkId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="btnOkClick" android:layout_marginTop="30dp" android:layout_marginLeft="20dp" android:background="#000" android:layout_centerHorizontal="true" android:textColor="#fff" android:text="OKE" android:layout_below="@+id/edttxtpalsu" />
<TextView android:id="@+id/tvPwdAsli" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#fff" android:textSize="36sp" android:textStyle="bold" android:layout_below="@+id/edttxtpalsu" android:layout_marginTop="200dp" android:layout_centerHorizontal="true"/>
</RelativeLayout>
7. Tambahkan Java Class dan beri nama OtpDecrypt dan beri syntax :
public class OtpDecrypt {
private String pwdasli;
public OtpDecrypt() {
}
public OtpDecrypt(String pwdasli) {
this.pwdasli = pwdasli;
}
public String getPwdasli() {
String WordKey = "LOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHALOHA";
String NumKey = "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789";
String CodeKey = "~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.~!@#$%^&*()-_+={}?<>/,.";
String toDecrypt = this.pwdasli;
WordKey = WordKey.toLowerCase();
toDecrypt = toDecrypt.toUpperCase();
char wordArray[] = WordKey.toCharArray();
char numArray[] = NumKey.toCharArray();
char charArray[] = toDecrypt.toCharArray();
char codeArray[] = CodeKey.toCharArray();
for (int i = 0; i < toDecrypt.length(); i++) {
if (Character.isLetter(charArray[i])) {
if (Character.isUpperCase(charArray[i])) {
charArray[i] = (char) (((int) charArray[i] - 65 - ((int) wordArray[i % WordKey.length()] - 97) + 104) % 26 + 65);
} else {
charArray[i] = (char) (((int) charArray[i] - 97 - ((int) wordArray[i % WordKey.length()] - 97) + 104) % 26 + 97);
}
} else if ((int) charArray[i] >= 48 && (int) charArray[i] < 58) {
charArray[i] = (char) (((int) charArray[i] - 48 - ((int) numArray[i]) + 80) % 10 + 48);
} else if ((int) charArray[i] >= 30 && (int) charArray[i] < 48) {
charArray[i] = (char) (((int) charArray[i] - 30 - ((int) codeArray[i])) % 18 + 48);
}
}
toDecrypt = new String(charArray);
return toDecrypt;
}
public void setPwdasli(String pwdasli) {
this.pwdasli = pwdasli;
}
}
8. Syntax Colors.xml
<?xml version="1.0" encoding="utf-8"?><resources>
<color name="colorPrimary">#262756</color>
<color name="colorPrimaryDark">#f11a1a68</color>
<color name="colorAccent">#FF4081</color>
</resources>
9.TAMPILAN APLIKASI ANDROID STUDIO
1. Setelah itu Runing Program Android Studionya2. Lalu Javanya3. Masukkan password Palsu yang berada di Java pada Aplikasi android dan press4. Akan muncul password asli lalu massukan pada field decrypt dan klik button decrypt5. Akan muncul password Hasil dari password asli6. Masukkan User (pengurus) dan password yang telah didecrypt dan klik login7.Setelah itu akan masuk ke MENU TAMPILAN8.SELESAI DONE FIN DLL