Tampilan Program
Dalam membuat program ENKRIPSI dengan metode Algoritma RC4, ada beberapa method yang di perlukan, antara lain :
- Method inisialisasi larik
- Method Padding
- Method Permutasi
- Method Enkripsi
- Method XOR (Untuk melakukan XOR bilangan Biner)
- Method Dalambit (Yang akan mengubah bilangan Desimal ke Biner)
- Method ToDesimal (Mengubah Bilangan Biner ke Desimal)
Ada pun Potongan Tiap-tiap method ada di bawah ini :
Construktor
public AlgoritmaRC4() {
initComponents();
TaCipherteks.setEditable(false);
TaPlanteks.setEditable(false);
Bgenerate.setEnabled(false);
Tastatus.setEditable(false);
Tastatus.setText("Generate Belum Ready....!!!\n ISIKAN KATA KUNCI terlebih dahulu");
Button Generate
private void BgenerateActionPerformed(java.awt.event.ActionEvent evt) {
if (TaKunci.getText().equalsIgnoreCase("")) {
JOptionPane.showMessageDialog(null, null, "Isikan kata kunci...!!!" JOptionPane.ERROR_MESSAGE);
}else{
inisialisasiLarik();
padding();
permutasi();
enkripsi();
TaCipherteks.setText(cipherTeks);
}
}Method inisialisasi larik
public void inisialisasiLarik(){
int i;
S = new int[256];
for (i=0;i<256;i++) {
S[i] = i;
}
}Method Padding (mengacak nilai nilai yg telah di inisialisasi
public void padding(){
int i=0;
char[] karakter;
U = new char[256];
int j=TaKunci.getText().length();
karakter = new char[j];
karakter = TaKunci.getText().toCharArray();
if (j <256) {
while (i<256) {
U[i] = karakter[i%j];
i++;
}
}
}Method Permutasi
public void permutasi(){
int j=0, i=0;
int ascii, bantu;
for(i=0;i<256;i++){
ascii = U[i];
j = (j + S[i] + ascii)%256;
bantu = S[i];
S[i] = S[j];
S[j] = bantu;
}
}Method Enkripsi
public void enkripsi(){
int i = 0, j = 0;
int index,bantu,t,k,c;
P = TaPlanteks.getText().toCharArray();
for(index = 0;index <TaPlanteks.getText().length();index++){
i = (i + 1)%256;
j = (j + S[i])%256;
bantu = S[i];
S[i] = S[j];
S[j] = bantu;
t = (S[i] + S[j]) % 256;
k = S[t];
System.out.println("test");
try {
exor(k,P[index]); //memanggil method exor dengan membawa nilai k, dan P dengan index sekian
} catch (Exception e) {
System.out.println("pesan eror exor : "+e);
}
}
}Method EXOR (Untuk melakukan XOR bilangan biner)
private void exor(int k, char c) {
int i = 0;
int tampung;
char x = (char) k;
char[] kun;
char binerdesimal;
kun = new char[8];
char[] pla;
pla = new char[8];
String biner = "";
String kunci = dalambit(Integer.toBinaryString(x));
String plain = dalambit(Integer.toBinaryString(c));
kun = kunci.toCharArray();
pla = plain.toCharArray();
while(i < 8){
if (kun[i] == pla[i]) {
biner = biner+"0";
}
else
biner = biner+"1";
i++;
}
tampung = todesimal(biner,biner.length());
binerdesimal = (char) tampung;
cipherTeks = cipherTeks + String.valueOf(binerdesimal);
}Method dalamBit (Mengubah bilangan desimal ke dalam biner)
private String dalambit(String toBinaryString) {
String hasil = "";
String tampung = toBinaryString;
if(tampung.length()<4){
hasil = "00000"+tampung;
}
else if(tampung.length()<5){
hasil = "0000"+tampung;
}
else if(tampung.length()<6){
hasil = "000"+tampung;
}
else if(tampung.length()<7){
hasil = "00"+tampung;
}
else if(tampung.length()<8){
hasil = "0"+tampung;
}
else if(tampung.length()<9){
hasil = tampung;
}
return hasil;
}Method toDesimal (Mengubah bilangan biner ke desimal)
private int todesimal(String biner, int length) {
int hasil=0;
int pangkat;
char[] tampung;
int tampungstring;
String tampungchar;
tampung = new char[length];
tampung = biner.toCharArray();
for(int i=0;i<length;i++){
pangkat = 1;
tampungchar = Character.toString(tampung[i]);
tampungstring = Integer.parseInt(tampungchar);
for(int j=length-1;j>i;j--){
pangkat = pangkat * 2;
}
if (tampung[i]=='1') {
hasil = hasil+1*pangkat;
}
}
return hasil;
}
boleh minta full code untuk programnya?
ReplyDeletesaya lagi ngerjain tugas algoritma ini dan butuh pencerahan untuk mengembangkannya.
kalo boleh, email saya di edi_vanjat@yahoo.com
makasih banyak....
saya juga donk email: andriyansyh04@ymail.com
ReplyDeleteMantaaap Bagus Banget Om,,,
ReplyDeleteBoleh sy nyicip???
Buat tugas kuliah niiih pusing banget...
email sy om : yogie.suardi@gmail.com
boleh minta source codenya ?
ReplyDeleteminta sourc code nya gan
ReplyDeletechokysaputra92@gmail.com
This comment has been removed by the author.
ReplyDeleteboleh minta full code nya gan
ReplyDeleteemail: bimaklt@gmail.com
thanks
minta fullcodenya ya gan zaqimz@gmail.com
ReplyDeletesaya juga boleh mintak full codenya?? email saya nanamunzir@gmail.com
ReplyDeletetolong kirim source codenya ke email stefhanie.tendean@gmail.com. Thanks
ReplyDeleteboleh minta source code nya rickyleonardimanurung@gmail.com
ReplyDeleteterima kasih
boleh minta source code full nya edysk23@gmail.com
ReplyDeleteterima kasih
boleh minta full source codenya gan ? via email : bullbarca29@gmail.com
ReplyDeleteTerima Kasih Sebelumnya
Boleh minta source codenya gan? via email : fanny.julianto123@gmail.com
ReplyDeleteTerima kasih banyak gan sebelumnya