Senin, 16 April 2018

Selisih Waktu Proses




long start;
long end;


 start = System.currentTimeMillis();
//++++++++++++++++++++++++++++++++++++++++proses2
end = System.currentTimeMillis();
String selisih=((end - start) / 1000.0) + " Milidetik"

+++++++++++++++++++++++++++++++++++++++++++++++++++++++JAVA SWINGNYA



import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter;

public class mainMenu extends javax.swing.JFrame {
      Dimension UM = Toolkit.getDefaultToolkit().getScreenSize();
    public mainMenu() {
        initComponents();
       
         jam();
        this.setTitle("Wellcome to Cryptograph World");
                setLocation(UM.width/2-getWidth()/2,UM.height/2-getHeight()/2);
show();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    private void btnPilihSimpanPublicActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPilihSimpanPublicActionPerformed
   if (!(txt_key.getText().equals(""))){
                    try {
                    JFileChooser savedata = new JFileChooser("D:\\");
                    savedata.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
                    int returnVal = savedata.showSaveDialog(null);
                    if(returnVal == JFileChooser.APPROVE_OPTION) {

                    txt_public.setText(savedata.getSelectedFile().toString());
                     }
                    } catch (Exception e) {
                    }
                 }else{
                       JOptionPane.showMessageDialog(null,"please input your key name!");
                        }
    }//GEN-LAST:event_btnPilihSimpanPublicActionPerformed

    private void btnHelpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnHelpActionPerformed
    //new Help().setVisible(true);
     // this.dispose();
    }//GEN-LAST:event_btnHelpActionPerformed

    private void btnPilihSimpanPrivateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPilihSimpanPrivateActionPerformed
       if(!(txt_key.getText().equals("") || txt_public.getText().equals(""))){
               try {
                        JFileChooser savedata = new JFileChooser("D:\\");
                        savedata.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
                        int returnVal = savedata.showSaveDialog(null);
                        if(returnVal == JFileChooser.APPROVE_OPTION) {

                        txt_private.setText(savedata.getSelectedFile().toString());
                    }
                 } catch (Exception e) {
               }
                }else{
                   JOptionPane.showMessageDialog(null,"please input key name and choose your save public!");
                }
    }//GEN-LAST:event_btnPilihSimpanPrivateActionPerformed

    private void btnGenerateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGenerateActionPerformed
        Thread t = new Thread(new Runnable(){
            public void run(){
               
                progressbar.setIndeterminate(true);
                long start;
                long end;

                String namakunci = (txt_key.getText());
                String a         = (txt_public.getText());
                String b         = (txt_private.getText());

                KeysGenerator key = new KeysGenerator();
                if(!(txt_key.getText().equals("") || txt_public.getText().equals(""))){

                try{

                        key.setId(namakunci);
                        key.setDir(a.replace("\\", "/")+"/");
                        key.setDirec(b.replace("\\", "/")+"/");
                        start = System.currentTimeMillis();//menghitung waktu proses dalam detik
                        key.createKeys();                           

                        progressbar.setIndeterminate(false);
                        end = System.currentTimeMillis();
                        //System.out.println("\nWaktu yang diperlukan selama proses adalah " + ((end - start) / 1000.0) + " detik");
                        JOptionPane.showMessageDialog(null, "Generate Key Success with duration : " +((end - start) / 1000.0) + " Milidetik", "Message", JOptionPane.INFORMATION_MESSAGE);

                        key.getLog();
                            txt_private.setText("");
                            txt_key.setText("");
                            txt_public.setText("");

                }catch(Exception e){
                    JOptionPane.showMessageDialog(null, "Failed Generate Key", "Warning", JOptionPane.ERROR_MESSAGE);
                    }
                     }else{
                        JOptionPane.showMessageDialog(null, "Please entry all coloumn", "Warning", JOptionPane.ERROR_MESSAGE);

                }
            }
        });
        t.start();
           
    }//GEN-LAST:event_btnGenerateActionPerformed

    private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelActionPerformed
        txt_private.setText("");
        txt_key.setText("");
        txt_public.setText("");
    }//GEN-LAST:event_btnCancelActionPerformed

    private void btnPilihFileAsalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPilihFileAsalActionPerformed
        JFileChooser datafile = new JFileChooser("D:\\");
        FileNameExtensionFilter filter = new FileNameExtensionFilter("File Document", "txt","doc","docx","xls","xlsx","ppt","pptx","pdf");
        FileNameExtensionFilter image = new FileNameExtensionFilter("File Images", "jpg","png","bmp");
        FileNameExtensionFilter audio = new FileNameExtensionFilter("File Audio", "wav","amr", "mp3");
        FileNameExtensionFilter files = new FileNameExtensionFilter("File", "zip","rar");
       
        datafile.setFileFilter(image);
        datafile.setFileFilter(files);
        datafile.setFileFilter(audio);
        datafile.setFileFilter(filter);
        datafile.setFileFilter(filter);
       
        int returnVal = datafile.showOpenDialog(null);
        if(returnVal == JFileChooser.APPROVE_OPTION) {
            File file = datafile.getSelectedFile();
            String dir = file.getAbsolutePath();
           
            //System.out.println(dir);
            txt_chose.setText(dir);
        }
    }//GEN-LAST:event_btnPilihFileAsalActionPerformed

    private void btnSimpanHasilActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSimpanHasilActionPerformed
       JFileChooser savedata = new JFileChooser("D:\\");
            savedata.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
            int returnVal = savedata.showSaveDialog(null);
            if(returnVal == JFileChooser.APPROVE_OPTION) {
         
            txt_output.setText(savedata.getSelectedFile().toString());
         
        }
    }//GEN-LAST:event_btnSimpanHasilActionPerformed

    private void btnPilihKeyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPilihKeyActionPerformed
        //pilih PubKey
        JFileChooser datafile = new JFileChooser("D:\\");
        FileNameExtensionFilter filter = new FileNameExtensionFilter("public key","key");
        datafile.setFileFilter(filter);
        int returnVal = datafile.showOpenDialog(null);
        if(returnVal == JFileChooser.APPROVE_OPTION) {
        File file = datafile.getSelectedFile();
        String dir = file.getAbsolutePath();
           
            txt_select.setText(dir);
        }
    }//GEN-LAST:event_btnPilihKeyActionPerformed

    private void btnEnkripActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEnkripActionPerformed

        Thread t = new Thread(new Runnable(){
         
           public void run(){
             
            progressbar.setIndeterminate(true);
            long start;
            long end;

            String Kunci = (txt_select.getText());
            String filename = (txt_chose.getText());//file dipilih
            String fileoutput = (txt_output.getText());//directory-folder mau simpan di?
            int dot = filename.lastIndexOf(".");
            int sep = filename.replace("\\", "/").lastIndexOf("/");
System.out.println("dot="+dot);//22
System.out.println("sep="+sep);//6

            EncryptionFile enk = new EncryptionFile();

            if (!(Kunci.equals("") || filename.equals(""))){

            try {

                    enk.setPublicKey(Kunci);//membaca isi file Public key, set= n dan e
                    //String directory, String filename, String extensi=D:/Lat/en.Sistem Berjalan.doc
                    enk.setFile(fileoutput.replace("\\", "/"), filename.substring(sep + 1, dot), filename.substring(dot + 1)  );
                    System.out.println("file1="+fileoutput.replace("\\", "/"));//D:/Lat
                    System.out.println("file2="+filename.substring(sep + 1, dot));//Sistem Berjalan
                    System.out.println("file3="+filename.substring(dot + 1));//doc
                    System.out.println("file4="+filename.replace("\\", "/"));
                   
                    start = System.currentTimeMillis();//menghitung waktu proses dalam detik
                    enk.encrypt(filename.replace("\\", "/"));//D:/Lat/Sistem Berjalan.doc

                     progressbar.setIndeterminate(false);
                     end = System.currentTimeMillis();
                    //System.out.println("\nWaktu yang diperlukan selama proses adalah " + ((end - start) / 1000.0) + " detik");
                    JOptionPane.showMessageDialog(null, "Encryption Success with duration  : " + ((end - start) / 1000.0) + " Milidetik", "Message", JOptionPane.INFORMATION_MESSAGE);

                   
                } catch (IOException ex) {
                    JOptionPane.showMessageDialog(null, "Failed Encryption", "Warning", JOptionPane.ERROR_MESSAGE);
             }                                         

           }else{
                JOptionPane.showMessageDialog(null, "Please entry all coloumn", "Warning", JOptionPane.ERROR_MESSAGE);
            }
           }
       });
       t.start();
    }//GEN-LAST:event_btnEnkripActionPerformed

    private void btnDekripActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnDekripActionPerformed
        Thread t = new Thread(new Runnable(){
             public void run(){
               
                progressbar.setIndeterminate(true);
                long start;
                long end;

                String kunciPrivate = (txt_select.getText());
                String file = (txt_chose.getText());
                String fileoutput = (txt_output.getText());
                int dot = file.lastIndexOf(".");
                int sep = file.replace("\\", "/").lastIndexOf("/");

                DecryptionFile dek = new DecryptionFile();

                if (!(file.equals("") || kunciPrivate.equals(""))){

                    try {
                        dek.setPrivateKey(kunciPrivate);
                        dek.setFile(fileoutput.replace("\\", "/"), file.substring(sep + 1, dot), file.substring(dot + 1)  );
                        start = System.currentTimeMillis();//menghitung waktu proses dalam milidetik
                        dek.decrypt(file.replace("\\", "/"));

                        progressbar.setIndeterminate(false);
                        end = System.currentTimeMillis();
                        //System.out.println("\nWaktu yang diperlukan selama proses adalah " + ((end - start) / 1000.0) + " detik");
                        JOptionPane.showMessageDialog(null, " Decryption Success with duration : "+ ((end - start) / 1000.0) + " Milidetik" , "Message", JOptionPane.INFORMATION_MESSAGE);;

               
                    } catch (Exception e) {
                        JOptionPane.showMessageDialog(null, "Failed Decryption", "Warning", JOptionPane.ERROR_MESSAGE);
                     
                  }

                }else{
                    JOptionPane.showMessageDialog(null, "Entry all data", "Warning", JOptionPane.ERROR_MESSAGE);
                 
              }
           }
       });
       t.start();
    }//GEN-LAST:event_btnDekripActionPerformed


  void Exit () {
try {
    int reply = JOptionPane.showConfirmDialog (this,
"Yakin Ingin Keluar dari Sistem?",
"SISTEM KRIPTOGRAFI FILE", JOptionPane.YES_NO_OPTION, JOptionPane.PLAIN_MESSAGE);
if (reply == JOptionPane.YES_OPTION) {
setVisible (false);
dispose();
System.out.println ("TERIMA KASIH TELAH MENGGUNAKAN SYSTEM INI.");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
System.exit(0);
}
else{
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
}
}
catch (Exception e) {
}
}
   
    public void jam(){
       
       ActionListener taskPerformer;
       taskPerformer = new ActionListener() {
           private Object lbljam;
     
           @Override
           public void actionPerformed(ActionEvent evt){
                String nol_jam = "";
                String nol_menit = "";
                String nol_detik = "";
                Date dt = new Date();
                Calendar ca = Calendar.getInstance();

                int tgl = dt.getDate();
                int bln = dt.getMonth()+1;
                int thn = ca.get(Calendar.YEAR);

                int hari = dt.getDay();
                int nilai_jam = dt.getHours();
                int nilai_menit = dt.getMinutes();
                int nilai_detik = dt.getSeconds();
                if (nilai_jam <= 9) {
                    nol_jam = "0";
              }
                if (nilai_menit <= 9) {
                    nol_menit = "0";
              }
                if (nilai_detik <= 9) {
                    nol_detik = "0";
              }
                String jam = nol_jam + Integer.toString(nilai_jam);
                String menit = nol_menit + Integer.toString(nilai_menit);
                String detik = nol_detik + Integer.toString(nilai_detik);
               lbl_jam.setText("<html><center> "+jam+" : "+menit+" : " + detik + "<br>" + tgl+ "/" + bln + "/"+thn+"</center></html>");
              }
        };
            new javax.swing.Timer(0, taskPerformer).start();
    }
}



Minggu, 15 April 2018

Thread Menu Utama Ke Database

Perintah sbb adalah perintah secara periode mengecek database server..jika ada data baru maaka sistem akan memebrikan sinyal notofikasi,,,





package com.example.lp2maray;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import com.example.notification_android.Login.ceklogin;
import com.example.notification_android.eventList.load;

import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceManager;
import android.support.v4.app.NotificationCompat;
import android.app.Activity;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.SimpleAdapter;
import android.widget.Toast;

public class MenuUtama extends Activity {
String ip="",kategori="",PESAN="";
JSONParser jParser = new JSONParser();
JSONArray myJSON = null;
int adabaru=0;
String kode_admin="";
String username="";
Handler mHandler;
private static final String TAG_SUKSES = "sukses";
private static final String TAG_record = "record";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menuutama);
    ip=jParser.getIP();
   
        this.mHandler = new Handler();
        m_Runnable.run();
     

//Sistem Pengujian ttg siapakah yg sedang login....
        SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(MenuUtama.this);
        Boolean Registered = sharedPref.getBoolean("Registered", false);
              if (!Registered){
                  finish();
              }else {
               kode_admin= sharedPref.getString("kode_admin", "");
               username = sharedPref.getString("username", "");
              
              }
           
           
        System.out.print("kode admin   "+kode_admin);
 
        ImageView      history=(ImageView)findViewById(R.id.history);
        history.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {
          Intent i = new Intent(MenuUtama.this, Kategori.class);
                startActivity(i);
    }});
     
        ImageView      warning=(ImageView)findViewById(R.id.warning);
        warning.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {
          Intent i = new Intent(MenuUtama.this, eventListWaning.class);
                startActivity(i);
    }});
     
        ImageView      about=(ImageView)findViewById(R.id.about);
        about.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {
          Intent i = new Intent(MenuUtama.this, About.class);
                startActivity(i);
    }});
     
ImageView      admin=(ImageView)findViewById(R.id.setting);
    admin.setOnClickListener(new View.OnClickListener() {
    public void onClick(View arg0) {
      Intent i = new Intent(MenuUtama.this, admin.class);
            startActivity(i);
}});
 
    }
 
    private final Runnable m_Runnable = new Runnable()    {
        public void run()  {
            Toast.makeText(MenuUtama.this,"cek in runnable",Toast.LENGTH_SHORT).show();
           // addNotification();
      new load().execute();
            MenuUtama.this.mHandler.postDelayed(m_Runnable,5000);            
        }
    };
    
    private void addNotification() {
Toast.makeText(MenuUtama.this,"Info "+PESAN,Toast.LENGTH_SHORT).show();
    NotificationCompat.Builder builder =
          new NotificationCompat.Builder(this)
          .setSmallIcon(R.drawable.logo_kecil)
          .setContentTitle("WARNING, Ada Serangan ! ")
          .setContentText(PESAN);

       Intent notificationIntent = new Intent(this, eventList.class);
       notificationIntent.putExtra("kategori", kategori);
       
       PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent,PendingIntent.FLAG_UPDATE_CURRENT);
       builder.setContentIntent(contentIntent);
       NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
       manager.notify(0, builder.build());

    }  
    
    
    
    class load extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
protected String doInBackground(String... args) {
List<NameValuePair> params = new ArrayList<NameValuePair>();
JSONObject json = jParser.makeHttpRequest(ip+"cek.php", "GET", params);
Log.d("show: ", json.toString());
try {
// Log.v("BACA", "CEK DATA0.....BARU");
adabaru= json.getInt("sukses");
if(adabaru==1){
JSONArray myObj = json.getJSONArray(TAG_record); // JSON Array
final JSONObject myJSON = myObj.getJSONObject(0);
runOnUiThread(new Runnable() {
public void run() {
try {
PESAN=myJSON.getString("PESAN");
kategori="TCP";
if(PESAN.indexOf("UDP")>=0){kategori="UDP";}
else if(PESAN.indexOf("ICMP")>=0){kategori="ICMP";}

catch (JSONException e) {e.printStackTrace();}
}});

}


catch (JSONException e) {e.printStackTrace();}
return null;
}

protected void onPostExecute(String file_url) {
runOnUiThread(new Runnable() {
public void run() {
//Log.v("BACA0", "CEK DATA.....BARU");
if (adabaru==1){
adabaru=0;
//Log.v("BACA", "ADA DATA.....BARU:"+PESAN);
addNotification();
//Toast.makeText(MenuUtama.this,"ADAAAAAAAAAAAA DATA",Toast.LENGTH_SHORT).show();
}

}
});}
}
    
 
}

//=========
pada bagian manifet:

  <uses-permission android:name="android.permission.INTERNET" />

 <activity
            android:name="com.example.notification_android.Notification"
            android:label="Details of notification"
          android:parentActivityName=".MainActivity">
        <meta-data
        android:name="android.support.PARENT_ACTIVITY"
          android:value=".MainActivity"/>
        </activity>


NB: buatkan juga suatu halaman baru bernama Notification.java sebagai halaman target....saat notfi dibuka