Kriptografi Kunci Publik Algoritma Elgamal Dengan Metode The Sieve Of Eratosthenes Untuk Pembangkitan Bilangan Prima
LAMPIRAN A
LISTING PROGRAM
1.KriptoElGamalApp.java
/*
- KriptoElGamalApp.java
- / package kriptoelgamal; import org.jdesktop.application.Application; import org.jdesktop.application.SingleFrameApplication; /** * The main class of the application.
- / public class KriptoElGamalApp extends SingleFrameApplication { /**
- At startup create and show the main frame of the application.
- / @Override protected void startup() { show(new KriptoElGamalView(this)); } /**
- This method is to initialize the specified window by injecting resources.
- Windows shown in our application come fully initialized from the GUI * builder, so this additional configuration is not needed.
- / @Override protected void configureWindow(java.awt.Window root) { } /** * A convenient static getter for the application instance.
- @return the instance of KriptoElGamalApp
- / public static KriptoElGamalApp getApplication() { return Application.getInstance(KriptoElGamalApp.class); } /** * Main method launching the application.
- / public static void main(String[] args) { launch(KriptoElGamalApp.class, args);
} } 2.
KriptoElGamalView.java
/*
- KriptoElGamalView.java
- / package kriptoelgamal; import org.jdesktop.application.Action; import org.jdesktop.application.ResourceMap; import org.jdesktop.application.SingleFrameApplication; import org.jdesktop.application.FrameView; import org.jdesktop.application.TaskMonitor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.Random; import java.util.StringTokenizer; import javax.swing.Timer; import javax.swing.Icon; import javax.swing.JDialog; import javax.swing.JFrame; import org.jdesktop.application.Task; /** * The application's main frame.
- / public class KriptoElGamalView extends FrameView { public KriptoElGamalView(SingleFrameApplication app) { super(app); initComponents(); // status bar initialization - message timeout, idle icon and busy animation, etc ResourceMap resourceMap = getResourceMap(); int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout"); messageTimer = new Timer(messageTimeout, new ActionListener() { public void actionPerformed(ActionEvent e) { statusMessageLabel.setText(""); } });
messageTimer.setRepeats(false); int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate"); for (int i = 0; i < busyIcons.length; i++) { busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
} busyIconTimer = new Timer(busyAnimationRate, new ActionListener() { public void actionPerformed(ActionEvent e) { busyIconIndex = (busyIconIndex + 1) % busyIcons.length; statusAnimationLabel.setIcon(busyIcons[busyIconIndex]); } }); idleIcon = resourceMap.getIcon("StatusBar.idleIcon"); statusAnimationLabel.setIcon(idleIcon); progressBar.setVisible(false); // connecting action tasks to status bar via TaskMonitor TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext()); taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent evt) { String propertyName = evt.getPropertyName(); if ("started".equals(propertyName)) { if (!busyIconTimer.isRunning()) { statusAnimationLabel.setIcon(busyIcons[0]); busyIconIndex = 0; busyIconTimer.start(); } progressBar.setVisible(true); progressBar.setIndeterminate(true); } else if ("done".equals(propertyName)) { busyIconTimer.stop(); statusAnimationLabel.setIcon(idleIcon); progressBar.setVisible(false); progressBar.setValue(0); } else if ("message".equals(propertyName)) { String text = (String)(evt.getNewValue()); statusMessageLabel.setText((text == null) ? "" : text); messageTimer.restart(); } else if ("progress".equals(propertyName)) { int value = (Integer)(evt.getNewValue()); progressBar.setVisible(true); progressBar.setIndeterminate(false); progressBar.setValue(value); } } }); } @Action public void showAboutBox() {
JFrame mainFrame = KriptoElGamalApp.getApplication().getMainFrame(); aboutBox = new KriptoElGamalAboutBox(mainFrame); aboutBox.setLocationRelativeTo(mainFrame); } KriptoElGamalApp.getApplication().show(aboutBox); } /** This method is called from within the constructor to * initialize the form.
- WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor.
- / @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { mainPanel = new javax.swing.JPanel(); keygenBtn = new javax.swing.JButton(); enkripsiBtn = new javax.swing.JButton(); jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jScrollPane1 = new javax.swing.JScrollPane(); jTextArea1 = new javax.swing.JTextArea(); hapusBtn = new javax.swing.JButton(); dekripsiBtn = new javax.swing.JButton(); menuBar = new javax.swing.JMenuBar(); javax.swing.JMenu fileMenu = new javax.swing.JMenu(); javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem(); javax.swing.JMenu helpMenu = new javax.swing.JMenu(); javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem(); statusPanel = new javax.swing.JPanel(); javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator(); statusMessageLabel = new javax.swing.JLabel(); statusAnimationLabel = new javax.swing.JLabel(); progressBar = new javax.swing.JProgressBar(); mainPanel.setName("mainPanel"); // NOI18N javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(kriptoelgamal. KriptoElGamalApp.class).getContext().getActionMap(KriptoElGamal View.class, this);
keygenBtn.setAction(actionMap.get("showKeyGenForm")); // NOI18N org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(kriptoelgamal. KriptoElGamalApp.class).getContext().getResourceMap(KriptoElGam alView.class); keygenBtn.setText(resourceMap.getString("keygenBtn.text")); // NOI18N keygenBtn.setName("keygenBtn"); // NOI18N enkripsiBtn.setAction(actionMap.get("showEnkripsiForm")); // NOI18N enkripsiBtn.setText(resourceMap.getString("enkripsiBtn.text")); // NOI18N enkripsiBtn.setName("enkripsiBtn"); // NOI18N jPanel1.setBorder(javax.swing.BorderFactory.createBevelBorder(j avax.swing.border.BevelBorder.LOWERED)); jPanel1.setName("jPanel1"); // NOI18N jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N jLabel1.setName("jLabel1"); // NOI18N jScrollPane1.setName("jScrollPane1"); // NOI18N jTextArea1.setColumns(20); jTextArea1.setRows(5); jTextArea1.setName("jTextArea1"); // NOI18N jScrollPane1.setViewportView(jTextArea1); hapusBtn.setText(resourceMap.getString("hapusBtn.text")); // NOI18N hapusBtn.setName("hapusBtn"); // NOI18N hapusBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { hapusBtnActionPerformed(evt); } }); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align ment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(jav ax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 260, Short.MAX_VALUE)
.addComponent(hapusBtn, javax.swing.GroupLayout.Alignment.TRAILING)) .addContainerGap()) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align ment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE) .addGap(18, 18, 18) .addComponent(hapusBtn) .addContainerGap()) ); dekripsiBtn.setAction(actionMap.get("showDekripsiForm")); // NOI18N dekripsiBtn.setText(resourceMap.getString("dekripsiBtn.text")); // NOI18N dekripsiBtn.setName("dekripsiBtn"); // NOI18N javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel); mainPanel.setLayout(mainPanelLayout); mainPanelLayout.setHorizontalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(mainPanelLayout.createParallelGroup(j avax.swing.GroupLayout.Alignment.LEADING) .addComponent(keygenBtn) .addComponent(enkripsiBtn) .addComponent(dekripsiBtn)) .addGap(18, 18, 18) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addContainerGap()) ); mainPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {dekripsiBtn, enkripsiBtn, keygenBtn}); mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(mainPanelLayout.createParallelGroup(j avax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createSequentialG roup() .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addContainerGap()) .addGroup(mainPanelLayout.createSequentialG roup() .addComponent(keygenBtn) .addGap(18, 18, 18) .addComponent(enkripsiBtn) .addGap(18, 18, 18) .addComponent(dekripsiBtn) .addGap(54, 54, 54)))) ); menuBar.setName("menuBar"); // NOI18N fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N fileMenu.setName("fileMenu"); // NOI18N exitMenuItem.setAction(actionMap.get("quit")); // NOI18N exitMenuItem.setName("exitMenuItem"); // NOI18N fileMenu.add(exitMenuItem); menuBar.add(fileMenu); helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N helpMenu.setName("helpMenu"); // NOI18N aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N aboutMenuItem.setName("aboutMenuItem"); // NOI18N helpMenu.add(aboutMenuItem); menuBar.add(helpMenu); statusPanel.setName("statusPanel"); // NOI18N statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N
statusMessageLabel.setName("statusMessageLabel"); // NOI18N statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingCo nstants.LEFT); statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N progressBar.setName("progressBar"); // NOI18N javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel); statusPanel.setLayout(statusPanelLayout); statusPanelLayout.setHorizontalGroup( statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.A lignment.LEADING) .addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 429, Short.MAX_VALUE) .addGroup(statusPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(statusMessageLabel) .addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.RELATED, 259, Short.MAX_VALUE) .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.RELATED) .addComponent(statusAnimationLabel) .addContainerGap()) ); statusPanelLayout.setVerticalGroup( statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.A lignment.LEADING) .addGroup(statusPanelLayout.createSequentialGroup() .addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(statusPanelLayout.createParallelGroup (javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(statusMessageLabel) .addComponent(statusAnimationLabel) .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(3, 3, 3)) setComponent(mainPanel); setMenuBar(menuBar); setStatusBar(statusPanel); }// </editor-fold> private void hapusBtnActionPerformed(java.awt.event.ActionEvent evt) { jTextArea1.setText(""); } @Action public Task showKeyGenForm() { JFrame frameutama = KriptoElGamalApp.getApplication().getMainFrame(); KeyGen keyGenForm = new KeyGen(frameutama,true); if (keyGenForm == null) { keyGenForm.setLocationRelativeTo(frameutama); } KriptoElGamalApp.getApplication().show(keyGenForm); return new KeyGenTask(getApplication()); } private class KeyGenTask extends Task<Void, Void> { KeyGenTask(org.jdesktop.application.Application app) { super(app); } @Override protected Void doInBackground() { try { int N = KeyGen.getBatasAtas(); jTextArea1.setText("Pembangkitan kunci dalam proses..."); keyGenProcess(N); } catch(java.lang.Exception e) { jTextArea1.setText("Pembangkitan Kunci gagal."); } return null; } } @Action public Task showEnkripsiForm() { JFrame frameutama = KriptoElGamalApp.getApplication().getMainFrame(); Enkripsi enkripsiForm = new Enkripsi(frameutama,true); enkripsiForm.setLocationRelativeTo(frameutama); } KriptoElGamalApp.getApplication().show(enkripsiForm); return new EnkripsiTask(getApplication()); } private class EnkripsiTask extends Task<Void, Void> { EnkripsiTask(org.jdesktop.application.Application app) { super(app); } @Override protected Void doInBackground() { try { String plainteks = Enkripsi.getPlainteks(); int [] kunciEnkripsi = Enkripsi.getKunciEnkripsi(); jTextArea1.setText("Enkripsi dalam proses..."); enkripsiProcess(plainteks,kunciEnkripsi); } catch(java.lang.Exception e) { jTextArea1.setText("Enkripsi gagal."); } return null; } } @Action public Task showDekripsiForm() { JFrame frameutama = KriptoElGamalApp.getApplication().getMainFrame(); Dekripsi dekripsiForm = new Dekripsi(frameutama,true); if (dekripsiForm == null) { dekripsiForm.setLocationRelativeTo(frameutama); } KriptoElGamalApp.getApplication().show(dekripsiForm); return new DekripsiTask(getApplication()); } private class DekripsiTask extends Task<Void, Void> { DekripsiTask(org.jdesktop.application.Application app) { super(app); } @Override protected Void doInBackground() {String cipherteks = Dekripsi.getCipherteks(); int [] kunciDekripsi = Dekripsi.getKunciDekripsi(); jTextArea1.setText("Dekripsi dalam proses..."); dekripsiProcess(cipherteks,kunciDekripsi); } catch(java.lang.Exception e) { jTextArea1.setText("Dekripsi gagal."); } return null; } } // Variables declaration - do not modify private javax.swing.JButton dekripsiBtn; private javax.swing.JButton enkripsiBtn; private javax.swing.JButton hapusBtn; private javax.swing.JLabel jLabel1; private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextArea jTextArea1; private javax.swing.JButton keygenBtn; private javax.swing.JPanel mainPanel; private javax.swing.JMenuBar menuBar; private javax.swing.JProgressBar progressBar; private javax.swing.JLabel statusAnimationLabel; private javax.swing.JLabel statusMessageLabel; private javax.swing.JPanel statusPanel; // End of variables declaration private final Timer messageTimer; private final Timer busyIconTimer; private final Icon idleIcon; private final Icon[] busyIcons = new Icon[15]; private int busyIconIndex = 0; private JDialog aboutBox; private void keyGenProcess(int N) { int prima [] = sieve(N); Random rand = new Random(); int p = 3; while (p<5) p = prima[rand.nextInt(prima.length)]; //kunci publik p int a = 1; while (a<2) a = rand.nextInt(p-1);//kunci kedua privat a int euler = p-1; int alpha = a; while (alpha == a) alpha = primitifRoot(p,faktor);//kunci publik alpha int y = modexp(alpha,a,p);//kunci publik y = alpha^a mod p jTextArea1.setText("Kunci Publik : \n kunci p = "+p
- "\n kunci alpha = "+alpha
- "\n kunci y = "+y
- "\nKunci Privat : \n kunci a = "+a ); Enkripsi.setKunciE(p, alpha, y); Dekripsi.setKunciD(p,a); } private int[] sieve(int N) { boolean isPrime [] = new boolean [N+1]; int prime_size=0; for (int i=2; i<=N; i++) isPrime[i] = true; for (int i=2; i*i<=N; i++) { if (isPrime[i]) { for (int j=i; i*j<=N; j++) isPrime[i*j] = false; }
} for (int i=2; i<=N; i++) { if (isPrime[i]) prime_size++; } int [] sieve = new int [prime_size]; int prime_index =0; for(int i=2; i<=N; i++) { if (isPrime[i]) { sieve [prime_index]=i; prime_index++; } } return sieve; } private int modexp(int alpha, int a, int p) { long z = 1; for (int i=0; i<a; i++) { z = (z * alpha) % p; } int result = (int) z; return result; } private int[] faktorisasi(int euler, int[] prima) { int hasil_bagi = euler; int f =0; for (int i= 0; hasil_bagi != 1; i++) { while (hasil_bagi % prima [i] == 0) { hasil_bagi = hasil_bagi / prima[i]; if (f != prima[i]) { f = prima[i]; faktor_ar.add(prima[i]); } } } Object faktor_toArr [] = faktor_ar.toArray(); int [] faktor = new int [faktor_ar.size()]; for (int j= 0; j<faktor_ar.size();j++) faktor[j] = ((Integer) faktor_toArr[j]).intValue(); return faktor; } private int primitifRoot(int p, int[] faktor) { Random rand = new Random(); boolean primitiveRoot = false; int pR = 0; while (!primitiveRoot) { pR = rand.nextInt(p)+1; int k = 0; while (k<faktor.length && modexp(pR,(p- 1)/faktor[k],p) >1) k++; if (k == faktor.length) { primitiveRoot = true; } } return pR; } private void enkripsiProcess(String plainteks, int[] kunciEnkripsi) { int p = kunciEnkripsi[0]; int alpha = kunciEnkripsi[1]; int y = kunciEnkripsi[2]; int b = 0;//inisialisasi session key int pt_ascii; Random rand = new Random(); int [] [] cipher = new int [plainteks.length()][2]; int tmp = 0; for (int i = 0; i < plainteks.length(); i++) { b = rand.nextInt(p-2)+1; cipher [i][0] = modexp(alpha,b,p);//cipherteks pertama pt_ascii = (int) plainteks.charAt(i); tmp = modexp(y,b,p); cipher [i][1] = 0; for (int j = 0; j<pt_ascii; j++){ cipher[i][1] = (tmp + cipher[i][1]) % p;
} String cipherStr =""; for (int i = 0; i<plainteks.length(); i++) { cipherStr += cipher[i][0]+","+cipher[i][1]+" "; } jTextArea1.setText("Cipherteks : \n"+cipherStr); Dekripsi.setCipher(cipherStr); } private void dekripsiProcess(String cipherteks, int[] kunciDekripsi) { int a = kunciDekripsi[0]; int p = kunciDekripsi[1]; int plain, teks=0; StringTokenizer st = new StringTokenizer(cipherteks, ", "); int cipher [][] = new int [st.countTokens()/2][2]; String plaintext =""; for (int i=0; st.hasMoreTokens(); i++) { cipher [i][0] = Integer.parseInt(st.nextToken()); cipher [i][1] = Integer.parseInt(st.nextToken()); } for (int i = 0; i<cipher.length;i++){ plain = modexp(cipher[i][0],p-1-a,p); teks = 0; for (int j= 0; j<cipher[i][1]; j++) { teks = (teks + plain ) % p; } plaintext += (char) teks; } jTextArea1.setText("Plainteks : \n"+plaintext); } } 3.
KriptoElGamalAboutBox.java
/*
- KriptoElGamalAboutBox.java
- / package kriptoelgamal; import org.jdesktop.application.Action; public class KriptoElGamalAboutBox extends javax.swing.JDialog {
- WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor.
- / // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { closeButton = new javax.swing.JButton(); javax.swing.JLabel appTitleLabel = new javax.swing.JLabel(); javax.swing.JLabel versionLabel = new javax.swing.JLabel(); javax.swing.JLabel appVersionLabel = new javax.swing.JLabel(); javax.swing.JLabel vendorLabel = new javax.swing.JLabel(); javax.swing.JLabel appVendorLabel = new javax.swing.JLabel(); javax.swing.JLabel homepageLabel = new javax.swing.JLabel(); javax.swing.JLabel appHomepageLabel = new javax.swing.JLabel(); javax.swing.JLabel appDescLabel = new javax.swing.JLabel(); javax.swing.JLabel imageLabel = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON _CLOSE); org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(kriptoelgamal. KriptoElGamalApp.class).getContext().getResourceMap(KriptoElGam alAboutBox.class); setTitle(resourceMap.getString("title")); // NOI18N setModal(true); setName("aboutBox"); // NOI18N setResizable(false); javax.swing.ActionMap actionMap =
KriptoElGamalApp.class).getContext().getActionMap(KriptoElGamal AboutBox.class, this); closeButton.setAction(actionMap.get("closeAboutBox")); // NOI18N closeButton.setName("closeButton"); // NOI18N appTitleLabel.setFont(appTitleLabel.getFont().deriveFont(appTit leLabel.getFont().getStyle() | java.awt.Font.BOLD, appTitleLabel.getFont().getSize()+4)); appTitleLabel.setText(resourceMap.getString("Application.title" )); // NOI18N appTitleLabel.setName("appTitleLabel"); // NOI18N versionLabel.setFont(versionLabel.getFont().deriveFont(versionL abel.getFont().getStyle() | java.awt.Font.BOLD)); versionLabel.setText(resourceMap.getString("versionLabel.text") ); // NOI18N versionLabel.setName("versionLabel"); // NOI18N appVersionLabel.setText(resourceMap.getString("Application.vers ion")); // NOI18N appVersionLabel.setName("appVersionLabel"); // NOI18N vendorLabel.setFont(vendorLabel.getFont().deriveFont(vendorLabe l.getFont().getStyle() | java.awt.Font.BOLD)); vendorLabel.setText(resourceMap.getString("vendorLabel.text")); // NOI18N vendorLabel.setName("vendorLabel"); // NOI18N appVendorLabel.setText(resourceMap.getString("Application.vendo r")); // NOI18N appVendorLabel.setName("appVendorLabel"); // NOI18N homepageLabel.setFont(homepageLabel.getFont().deriveFont(homepa geLabel.getFont().getStyle() | java.awt.Font.BOLD)); homepageLabel.setText(resourceMap.getString("homepageLabel.text ")); // NOI18N homepageLabel.setName("homepageLabel"); // NOI18N appHomepageLabel.setText(resourceMap.getString("Application.hom epage")); // NOI18N appHomepageLabel.setName("appHomepageLabel"); // NOI18N appDescLabel.setText(resourceMap.getString("appDescLabel.text") ); // NOI18N appDescLabel.setName("appDescLabel"); // NOI18N imageLabel.setIcon(resourceMap.getIcon("imageLabel.icon")); // NOI18N imageLabel.setName("imageLabel"); // NOI18N javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE ADING) .addGroup(layout.createSequentialGroup() .addComponent(imageLabel) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swin g.GroupLayout.Alignment.TRAILING) .addGroup(javax.swing.GroupLayout.Alignment .LEADING, layout.createSequentialGroup() .addGroup(layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.LEADING) .addComponent(versionLabel) .addComponent(vendorLabel) .addComponent(homepageLabel)) .addPreferredGap(javax.swing.LayoutStyl e.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(ja vax.swing.GroupLayout.Alignment.LEADING) .addComponent(appVersionLabel) .addComponent(appVendorLabel) .addComponent(appHomepageLabel))) .addComponent(appTitleLabel, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(appDescLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 266, Short.MAX_VALUE) .addComponent(closeButton)) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE ADING) .addComponent(imageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(appTitleLabel)
.addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.RELATED) .addComponent(appDescLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swin g.GroupLayout.Alignment.BASELINE) .addComponent(versionLabel) .addComponent(appVersionLabel)) .addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swin g.GroupLayout.Alignment.BASELINE) .addComponent(vendorLabel) .addComponent(appVendorLabel)) .addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swin g.GroupLayout.Alignment.BASELINE) .addComponent(homepageLabel) .addComponent(appHomepageLabel)) .addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.RELATED, 19, Short.MAX_VALUE) .addComponent(closeButton) .addContainerGap()) ); pack(); }// </editor-fold> // Variables declaration - do not modify private javax.swing.JButton closeButton; // End of variables declaration } 4.
KeyGen.java
/*
- To change this template, choose Tools | Templates * and open the template in the editor.
- / /*
- KeyGen.java >Created on Dec 5, 2011, 6:24:03 AM
- / package kriptoelgamal; /**
- @author Acer */ public class KeyGen extends javax.swing.JDialog { private static int N = 0; /** Creates new form KeyGen */ public KeyGen(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); } /** This method is called from within the constructor to * initialize the form.
- WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor.
- / @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); batasAtas = new javax.swing.JTextField(); batalBtn = new javax.swing.JButton(); bangkitBtn = new javax.swing.JButton(); jLabel4 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING _ON_CLOSE); org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(kriptoelgamal. KriptoElGamalApp.class).getContext().getResourceMap(KeyGen.clas
s); setTitle(resourceMap.getString("keyGenForm.title")); // NOI18N setName("keyGenForm"); // NOI18N setResizable(false); jPanel1.setName("jPanel1"); // NOI18N jLabel1.setFont(resourceMap.getFont("jLabel1.font")); // NOI18N jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTE R); jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N jLabel1.setName("jLabel1"); // NOI18N batasAtas.setText(resourceMap.getString("batasAtas.text")); // NOI18N batasAtas.setName("batasAtas"); // NOI18N batalBtn.setText(resourceMap.getString("batalBtn.text")); // NOI18N batalBtn.setName("batalBtn"); // NOI18N batalBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { batalBtnActionPerformed(evt); } }); bangkitBtn.setText(resourceMap.getString("bangkitBtn.text")); // NOI18N bangkitBtn.setName("bangkitBtn"); // NOI18N bangkitBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bangkitBtnActionPerformed(evt); } }); jLabel4.setText(resourceMap.getString("jLabel4.text")); // NOI18N jLabel4.setBorder(javax.swing.BorderFactory.createBevelBorder(j avax.swing.border.BevelBorder.LOWERED)); jLabel4.setName("jLabel4"); // NOI18N javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align ment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(jav ax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(batasAtas, javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment .LEADING, jPanel1Layout.createSequentialGroup() .addComponent(bangkitBtn) .addPreferredGap(javax.swing.LayoutStyl e.ComponentPlacement.RELATED,
.addComponent(batalBtn)) .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, 244, Short.MAX_VALUE) ); jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {bangkitBtn, batalBtn}); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align ment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel1) .addGap(18, 18, 18) .addComponent(batasAtas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11) .addGroup(jPanel1Layout.createParallelGroup(jav ax.swing.GroupLayout.Alignment.BASELINE) .addComponent(bangkitBtn) .addComponent(batalBtn)) .addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.RELATED, 18, Short.MAX_VALUE) .addComponent(jLabel4)) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE ADING) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE ADING) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
); pack(); }// </editor-fold> private void batalBtnActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: keyAtDisposal(); dispose(); } private void bangkitBtnActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try { N = Integer.parseInt(batasAtas.getText()); if (N>4 && 176867884>N) dispose(); else jLabel4.setText("Input 5=<N=<176867883"); } catch (java.lang.Exception e) { jLabel4.setText("Input N hanya untuk bilangan integer"); } } static int getBatasAtas() { return N; } static void keyAtDisposal(){ N=0; } /**
- @param args the command line arguments
- / public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
- For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/ plaf.html
- / try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName());
} } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(KeyGen.class.getName()).log( java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(KeyGen.class.getName()).log( java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(KeyGen.class.getName()).log( java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(KeyGen.class.getName()).log( java.util.logging.Level.SEVERE, null, ex); } //</editor-fold> /* Create and display the dialog */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { KeyGen dialog = new KeyGen(new javax.swing.JFrame(), true); dialog.addWindowListener(new java.awt.event.WindowAdapter() { @Override public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JButton bangkitBtn; private javax.swing.JButton batalBtn; private javax.swing.JTextField batasAtas; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel4; private javax.swing.JPanel jPanel1; // End of variables declaration } 5.
Enkripsi.java
/*
- To change this template, choose Tools | Templates * and open the template in the editor.
- / /*
- Enkripsi.java
- Created on Dec 5, 2011, 1:18:36 PM
- / package kriptoelgamal; /**
- @author Acer */ public class Enkripsi extends javax.swing.JDialog { private static String pesanPlain = null; private static int [] kunciEnkripsi = {0, 0, 0}; static String getPlainteks() { return pesanPlain; } static int[] getKunciEnkripsi() { return kunciEnkripsi; } static void enkripsiAtDisposal() { pesanPlain = null; } static void setKunciE(int p, int alpha, int y) { kunciEnkripsi[0] = p; kunciEnkripsi[1] = alpha; kunciEnkripsi[2] = y; }
/** Creates new form Enkripsi */ public Enkripsi(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); } /** This method is called from within the constructor to * initialize the form.
- WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor.
- / @SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jLabel2 = new javax.swing.JLabel(); jScrollPane1 = new javax.swing.JScrollPane(); plainteks = new javax.swing.JTextArea(); jPanel1 = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); kunciP = new javax.swing.JTextField(); kunciAlpha = new javax.swing.JTextField(); kunciY = new javax.swing.JTextField(); batalBtn = new javax.swing.JButton(); enkripsiBtn = new javax.swing.JButton(); jLabel6 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING _ON_CLOSE); org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(kriptoelgamal. KriptoElGamalApp.class).getContext().getResourceMap(Enkripsi.cl ass); setTitle(resourceMap.getString("EnkripsiForm.title")); // NOI18N setName("EnkripsiForm"); // NOI18N setResizable(false); jLabel2.setFont(resourceMap.getFont("jLabel2.font")); // NOI18N jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N jLabel2.setName("jLabel2"); // NOI18N jScrollPane1.setName("jScrollPane1"); // NOI18N plainteks.setColumns(20); plainteks.setRows(5); plainteks.setName("plainteks"); // NOI18N jScrollPane1.setViewportView(plainteks); jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder( resourceMap.getString("jPanel1.border.title"))); // NOI18N jPanel1.setFont(resourceMap.getFont("jPanel1.font")); // NOI18N jPanel1.setName("jPanel1"); // NOI18N jLabel3.setFont(resourceMap.getFont("jLabel3.font")); // NOI18N jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N jLabel4.setFont(resourceMap.getFont("jLabel4.font")); // NOI18N jLabel4.setText(resourceMap.getString("jLabel4.text")); // NOI18N jLabel4.setName("jLabel4"); // NOI18N jLabel5.setFont(resourceMap.getFont("jLabel5.font")); // NOI18N jLabel5.setText(resourceMap.getString("jLabel5.text")); // NOI18N jLabel5.setName("jLabel5"); // NOI18N kunciP.setText(String.valueOf(kunciEnkripsi[0])); kunciP.setName("kunciP"); // NOI18N kunciAlpha.setText(String.valueOf(kunciEnkripsi[1])); kunciAlpha.setName("kunciAlpha"); // NOI18N kunciY.setText(String.valueOf(kunciEnkripsi[2])); kunciY.setName("kunciY"); // NOI18N javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align ment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(jav ax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel3) .addComponent(jLabel4) .addComponent(jLabel5)) .addGap(18, 18, 18) .addGroup(jPanel1Layout.createParallelGroup(jav ax.swing.GroupLayout.Alignment.LEADING) .addComponent(kunciY, javax.swing.GroupLayout.DEFAULT_SIZE, 108, Short.MAX_VALUE) .addComponent(kunciAlpha, javax.swing.GroupLayout.DEFAULT_SIZE, 108, Short.MAX_VALUE) .addComponent(kunciP, javax.swing.GroupLayout.DEFAULT_SIZE, 108, Short.MAX_VALUE)) .addContainerGap()) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align ment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(jav ax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(kunciP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.UNRELATED) .addGroup(jPanel1Layout.createParallelGroup(jav ax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(kunciAlpha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.UNRELATED) .addGroup(jPanel1Layout.createParallelGroup(jav ax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel5) .addComponent(kunciY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAUL T_SIZE, Short.MAX_VALUE)) ); batalBtn.setText(resourceMap.getString("batalBtn.text")); // NOI18N batalBtn.setName("batalBtn"); // NOI18N batalBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { batalBtnActionPerformed(evt); } }); enkripsiBtn.setText(resourceMap.getString("enkripsiBtn.text")); // NOI18N enkripsiBtn.setName("enkripsiBtn"); // NOI18N enkripsiBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { enkripsiBtnActionPerformed(evt); } }); jLabel6.setText(resourceMap.getString("jLabel6.text")); // NOI18N jLabel6.setBorder(javax.swing.BorderFactory.createBevelBorder(j jLabel6.setName("jLabel6"); // NOI18N javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE ADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILIN
G, layout.createSequentialGroup() .addGap(10, 10, 10) .addGroup(layout.createParallelGroup(javax.swin g.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 232, Short.MAX_VALUE) .addComponent(jLabel2) .addGroup(javax.swing.GroupLayout.Alignment .TRAILING, layout.createSequentialGroup() .addComponent(enkripsiBtn) .addPreferredGap(javax.swing.LayoutStyl e.ComponentPlacement.RELATED) .addComponent(batalBtn)) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 252, Short.MAX_VALUE) ); layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {batalBtn, enkripsiBtn}); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE ADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createParallelGroup(javax.swin g.GroupLayout.Alignment.BASELINE) .addComponent(batalBtn) .addComponent(enkripsiBtn)) .addPreferredGap(javax.swing.LayoutStyle.Compon entPlacement.RELATED, 33, Short.MAX_VALUE) .addComponent(jLabel6)) ); pack(); }// </editor-fold> private void batalBtnActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: enkripsiAtDisposal(); dispose(); } private void enkripsiBtnActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try { pesanPlain = plainteks.getText(); kunciEnkripsi[0] = Integer.parseInt(kunciP.getText()); kunciEnkripsi[1] = Integer.parseInt(kunciAlpha.getText()); kunciEnkripsi[2] = Integer.parseInt(kunciY.getText()); dispose(); } catch (java.lang.Exception e) { jLabel6.setText("kunci hanya untuk bilangan."); } } /**
- @param args the command line arguments
- / public static void main(String args[]) { /* Set the Nimbus look and feel */ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
- For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/ plaf.html
- / try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) {
Dekripsi.java
/*
- To change this template, choose Tools | Templates * and open the template in the editor.
- / /*
- Dekripsi.java
- Created on Dec 5, 2011, 2:19:10 PM
- / package kriptoelgamal; /**
- @author Acer */ public class Dekripsi extends javax.swing.JDialog { private static String pesanCipher = null; private static int [] kunciDekripsi = {0, 0}; static String getCipherteks() { return pesanCipher; } static int[] getKunciDekripsi() { return kunciDekripsi; } static void dekripsiAtDisposal() { pesanCipher = null; } static void setCipher(String cipherStr) { pesanCipher = cipherStr; }
static void setKunciD(int p, int a) { kunciDekripsi [0] =a; kunciDekripsi [1] =p; } /** Creates new form Dekripsi */ public Dekripsi(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents();
} /** This method is called from within the constructor to * initialize the form.
- WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor.
- / @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jScrollPane1 = new javax.swing.JScrollPane(); cipherteks = new javax.swing.JTextArea(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); kunciA = new javax.swing.JTextField(); kunciP = new javax.swing.JTextField(); batalBtn = new javax.swing.JButton(); dekripsiBtn = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING _ON_CLOSE); org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(kriptoelgamal. KriptoElGamalApp.class).getContext().getResourceMap(Dekripsi.cl
ass); setTitle(resourceMap.getString("DekripsiForm.title")); // NOI18N setName("DekripsiForm"); // NOI18N setResizable(false); jPanel1.setName("jPanel1"); // NOI18N jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT) ; jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N jLabel1.setBorder(javax.swing.BorderFactory.createBevelBorder(j avax.swing.border.BevelBorder.LOWERED)); jLabel1.setName("jLabel1"); // NOI18N jLabel2.setFont(resourceMap.getFont("jLabel4.font")); // NOI18N jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N jLabel2.setName("jLabel2"); // NOI18N jScrollPane1.setName("jScrollPane1"); // NOI18N cipherteks.setColumns(20); cipherteks.setRows(5); cipherteks.setText(pesanCipher); cipherteks.setName("cipherteks"); // NOI18N jScrollPane1.setViewportView(cipherteks); jLabel3.setFont(resourceMap.getFont("jLabel4.font")); // NOI18N jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N jLabel3.setName("jLabel3"); // NOI18N jLabel4.setFont(resourceMap.getFont("jLabel4.font")); // NOI18N jLabel4.setText(resourceMap.getString("jLabel4.text")); // NOI18N jLabel4.setName("jLabel4"); // NOI18N kunciA.setText(String.valueOf(kunciDekripsi[0])); kunciA.setName("kunciA"); // NOI18N kunciP.setText(String.valueOf(kunciDekripsi[1])); kunciP.setName("kunciP"); // NOI18N batalBtn.setText(resourceMap.getString("batalBtn.text")); // NOI18N batalBtn.setName("batalBtn"); // NOI18N batalBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { batalBtnActionPerformed(evt); } }); dekripsiBtn.setText(resourceMap.getString("dekripsiBtn.text")); // NOI18N dekripsiBtn.setName("dekripsiBtn"); // NOI18N dekripsiBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { dekripsiBtnActionPerformed(evt); } }); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Align ment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILIN