Advertisement
masgatot

Input txt file and colculate

May 15th, 2015
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 17.66 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package ant.jfilechooser;
  7.  
  8. import java.io.*;
  9. import javax.swing.JFileChooser;
  10. import java.util.ArrayList;
  11. import java.util.Arrays;
  12. import java.util.List;
  13. import java.util.logging.Level;
  14. import java.util.logging.Logger;
  15.  
  16.  
  17. /**
  18.  *
  19.  * @author gatotkoco
  20.  */
  21. public class FormUtama extends javax.swing.JFrame {
  22.     JFileChooser fc=null;
  23.     private Object fstream;
  24.     private Object br;
  25.     private Object CBsensitive;
  26.     private Object scontain;
  27.     private Object caritxt;
  28.     private Object smatch;
  29.     private Object jumlah;
  30.     /**
  31.      * Creates new form FormUtama
  32.      */
  33.     public FormUtama() {
  34.         initComponents();
  35.         fc = new JFileChooser();
  36.         fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
  37.     }
  38.  
  39.     /**
  40.      * This method is called from within the constructor to initialize the form.
  41.      * WARNING: Do NOT modify this code. The content of this method is always
  42.      * regenerated by the Form Editor.
  43.      */
  44.     @SuppressWarnings("unchecked")
  45.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  46.     private void initComponents() {
  47.  
  48.         txtkata = new java.awt.TextArea();
  49.         clGlossyPanel2 = new GlossyPanel.ClGlossyPanel();
  50.         btnbrowse = new javax.swing.JButton();
  51.         labelBrowse = new javax.swing.JLabel();
  52.         clGlossyPanel3 = new GlossyPanel.ClGlossyPanel();
  53.         txtFcari = new javax.swing.JTextField();
  54.         lblcari = new java.awt.Label();
  55.         btnhitung = new javax.swing.JButton();
  56.         jScrollPane2 = new javax.swing.JScrollPane();
  57.         jList2 = new javax.swing.JList();
  58.         lblmenucari = new javax.swing.JLabel();
  59.         jLabel1 = new javax.swing.JLabel();
  60.         jLabel2 = new javax.swing.JLabel();
  61.         lbljmlh = new javax.swing.JLabel();
  62.         tot = new javax.swing.JLabel();
  63.  
  64.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  65.         setTitle("Kelompok 1 Scanner PHP");
  66.         setForeground(java.awt.Color.lightGray);
  67.         addComponentListener(new java.awt.event.ComponentAdapter() {
  68.             public void componentHidden(java.awt.event.ComponentEvent evt) {
  69.                 formComponentHidden(evt);
  70.             }
  71.         });
  72.  
  73.         btnbrowse.setText("Browse");
  74.         btnbrowse.addActionListener(new java.awt.event.ActionListener() {
  75.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  76.                 btnbrowseActionPerformed(evt);
  77.             }
  78.         });
  79.  
  80.         labelBrowse.setFont(new java.awt.Font("Ubuntu Light", 1, 12)); // NOI18N
  81.         labelBrowse.setLabelFor(clGlossyPanel2);
  82.         labelBrowse.setText("Tekan Browse memilih file");
  83.  
  84.         javax.swing.GroupLayout clGlossyPanel2Layout = new javax.swing.GroupLayout(clGlossyPanel2);
  85.         clGlossyPanel2.setLayout(clGlossyPanel2Layout);
  86.         clGlossyPanel2Layout.setHorizontalGroup(
  87.             clGlossyPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  88.             .addGroup(clGlossyPanel2Layout.createSequentialGroup()
  89.                 .addGap(34, 34, 34)
  90.                 .addComponent(labelBrowse, javax.swing.GroupLayout.PREFERRED_SIZE, 189, javax.swing.GroupLayout.PREFERRED_SIZE)
  91.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  92.                 .addComponent(btnbrowse, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
  93.                 .addGap(32, 32, 32))
  94.         );
  95.         clGlossyPanel2Layout.setVerticalGroup(
  96.             clGlossyPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  97.             .addGroup(clGlossyPanel2Layout.createSequentialGroup()
  98.                 .addGap(24, 24, 24)
  99.                 .addGroup(clGlossyPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  100.                     .addComponent(labelBrowse)
  101.                     .addComponent(btnbrowse))
  102.                 .addGap(19, 19, 19))
  103.         );
  104.  
  105.         lblcari.setText("Cari Kata");
  106.  
  107.         javax.swing.GroupLayout clGlossyPanel3Layout = new javax.swing.GroupLayout(clGlossyPanel3);
  108.         clGlossyPanel3.setLayout(clGlossyPanel3Layout);
  109.         clGlossyPanel3Layout.setHorizontalGroup(
  110.             clGlossyPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  111.             .addGroup(clGlossyPanel3Layout.createSequentialGroup()
  112.                 .addGap(18, 18, 18)
  113.                 .addComponent(lblcari, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  114.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  115.                 .addComponent(txtFcari, javax.swing.GroupLayout.PREFERRED_SIZE, 270, javax.swing.GroupLayout.PREFERRED_SIZE)
  116.                 .addContainerGap(78, Short.MAX_VALUE))
  117.         );
  118.         clGlossyPanel3Layout.setVerticalGroup(
  119.             clGlossyPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  120.             .addGroup(clGlossyPanel3Layout.createSequentialGroup()
  121.                 .addContainerGap()
  122.                 .addGroup(clGlossyPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  123.                     .addComponent(txtFcari, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
  124.                     .addComponent(lblcari, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  125.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  126.         );
  127.  
  128.         btnhitung.setText("Proses");
  129.         btnhitung.addActionListener(new java.awt.event.ActionListener() {
  130.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  131.                 btnhitungActionPerformed(evt);
  132.             }
  133.         });
  134.  
  135.         jList2.setModel(new javax.swing.AbstractListModel() {
  136.             String[] strings = { "include ", "empty{}", "and", "case", "echo", "if", "else", "var", "elseif", "endif" };
  137.             public int getSize() { return strings.length; }
  138.             public Object getElementAt(int i) { return strings[i]; }
  139.         });
  140.         jScrollPane2.setViewportView(jList2);
  141.  
  142.         lblmenucari.setText("Menu Cari");
  143.  
  144.         jLabel1.setFont(new java.awt.Font("Dialog", 0, 14)); // NOI18N
  145.         jLabel1.setText("Jumlah Kata");
  146.  
  147.         jLabel2.setFont(new java.awt.Font("Dialog", 0, 18)); // NOI18N
  148.         jLabel2.setText("Total Kata");
  149.  
  150.         lbljmlh.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
  151.         lbljmlh.setText("0");
  152.  
  153.         tot.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
  154.         tot.setText("0");
  155.  
  156.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  157.         getContentPane().setLayout(layout);
  158.         layout.setHorizontalGroup(
  159.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  160.             .addGroup(layout.createSequentialGroup()
  161.                 .addContainerGap()
  162.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  163.                     .addGroup(layout.createSequentialGroup()
  164.                         .addComponent(txtkata, javax.swing.GroupLayout.PREFERRED_SIZE, 596, javax.swing.GroupLayout.PREFERRED_SIZE)
  165.                         .addGap(0, 36, Short.MAX_VALUE))
  166.                     .addGroup(layout.createSequentialGroup()
  167.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  168.                             .addGroup(layout.createSequentialGroup()
  169.                                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  170.                                     .addGroup(layout.createSequentialGroup()
  171.                                         .addGap(12, 12, 12)
  172.                                         .addComponent(lblmenucari))
  173.                                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
  174.                                         .addComponent(clGlossyPanel3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  175.                                         .addComponent(clGlossyPanel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
  176.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  177.                             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  178.                                 .addGap(0, 0, Short.MAX_VALUE)
  179.                                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  180.                                     .addGroup(layout.createSequentialGroup()
  181.                                         .addComponent(jLabel2)
  182.                                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  183.                                         .addComponent(tot))
  184.                                     .addGroup(layout.createSequentialGroup()
  185.                                         .addComponent(jLabel1)
  186.                                         .addGap(18, 18, 18)
  187.                                         .addComponent(lbljmlh)))
  188.                                 .addGap(29, 29, 29)))
  189.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  190.                             .addComponent(btnhitung, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE)
  191.                             .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE))
  192.                         .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
  193.         );
  194.         layout.setVerticalGroup(
  195.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  196.             .addGroup(layout.createSequentialGroup()
  197.                 .addContainerGap()
  198.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  199.                     .addGroup(layout.createSequentialGroup()
  200.                         .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 188, Short.MAX_VALUE)
  201.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  202.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  203.                             .addComponent(btnhitung, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE)
  204.                             .addComponent(tot)
  205.                             .addComponent(jLabel2))
  206.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
  207.                     .addGroup(layout.createSequentialGroup()
  208.                         .addComponent(clGlossyPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  209.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  210.                         .addComponent(lblmenucari)
  211.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  212.                         .addComponent(clGlossyPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  213.                         .addGap(18, 18, 18)
  214.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  215.                             .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
  216.                             .addComponent(lbljmlh))
  217.                         .addGap(0, 0, Short.MAX_VALUE)))
  218.                 .addComponent(txtkata, javax.swing.GroupLayout.PREFERRED_SIZE, 247, javax.swing.GroupLayout.PREFERRED_SIZE)
  219.                 .addGap(32, 32, 32))
  220.         );
  221.  
  222.         pack();
  223.     }// </editor-fold>                        
  224.  
  225.     private void btnbrowseActionPerformed(java.awt.event.ActionEvent evt) {                                          
  226.         // TODO add your handling code here:
  227.         int buka = fc.showOpenDialog(this);
  228.         if(buka == JFileChooser.APPROVE_OPTION){
  229.             File file = fc.getSelectedFile();
  230.             labelBrowse.setText(file.getAbsolutePath());
  231.         }else{
  232.             labelBrowse.setText("Tidak ada file yang dipilih");
  233.         }
  234.     }                                        
  235.  
  236.     private void formComponentHidden(java.awt.event.ComponentEvent evt) {                                    
  237.         // TODO add your handling code here:
  238.     }                                    
  239.  
  240.     private void btnhitungActionPerformed(java.awt.event.ActionEvent evt) {                                          
  241.         // Deklarasi variabel:
  242.          // variable declaration:
  243.         txtkata.setText(null);
  244.         String s = null;
  245.         String cari = txtFcari.getText().trim();
  246.         String strArray[];
  247.         ArrayList gabArray = new ArrayList();
  248.         int jml = 0;
  249.         int total = 0;
  250.        
  251.         //mengambil kata dari hasil browse
  252.          try {
  253.              FileInputStream labelBrowsetxt;
  254.             labelBrowsetxt = new FileInputStream(labelBrowse.getText());
  255.              
  256.              DataInputStream In = new DataInputStream(labelBrowsetxt);
  257.             InputStream in = null;
  258.              BufferedReader br = new BufferedReader(new InputStreamReader(in));
  259.              String strLine;
  260.              
  261.              
  262.         //Membuat Array split kalimat
  263.    while ((strLine = br.readLine()) != null)  {  
  264.    strArray = strLine.split("[0-9,.;= #$%^&)(]");   //memisahkan array tiap KATA berdasar(" ");
  265.    List list = Arrays.asList(strArray);
  266.    
  267.     //Collections.sort(list, String.CASE_INSENSITIVE_ORDER); //Mengurutkan array List
  268.    gabArray.addAll(list);
  269.      for(int i=0; i < list.size(); i++){
  270.            int jumlah = 0;
  271.            int totkat = 0;
  272.        {          
  273.               //Select Match Word
  274.          if(strArray[i].length() !=0){
  275.         jumlah++;
  276.          } else {totkat++;}
  277.        }
  278.        }
  279.        }
  280.    
  281.    String [] cetak = (String []) gabArray.toArray(new  String[gabArray.size()]);
  282.    
  283.    txtkata.append("\r\n" + "==== Jumlah kata'" + txtFcari +"'Ditemukan: "+jml+"=====");
  284.    lbljmlh.setText(Integer.toString(jml));
  285.    tot.setText(Integer.toString(total+jml));
  286.    
  287.     in.close();
  288.    
  289.          } catch (IOException ex) {
  290.             txtkata.setText("Ada kesalahan pada: " + ex.getMessage());
  291.         }
  292.              
  293.              
  294.        
  295.    
  296.        
  297.     }                                        
  298.  
  299.     /**
  300.      * @param args the command line arguments
  301.      */
  302.      
  303.     /**
  304.      * @param args the command line arguments
  305.      */
  306.     public static void main(String args[]) {
  307.         /* Set the Nimbus look and feel */
  308.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  309.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  310.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  311.          */
  312.         try {
  313.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  314.                 if ("Nimbus".equals(info.getName())) {
  315.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  316.                     break;
  317.                 }
  318.             }
  319.         } catch (ClassNotFoundException ex) {
  320.             java.util.logging.Logger.getLogger(FormUtama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  321.         } catch (InstantiationException ex) {
  322.             java.util.logging.Logger.getLogger(FormUtama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  323.         } catch (IllegalAccessException ex) {
  324.             java.util.logging.Logger.getLogger(FormUtama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  325.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  326.             java.util.logging.Logger.getLogger(FormUtama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  327.         }
  328.         //</editor-fold>
  329.  
  330.         /* Create and display the form */
  331.         java.awt.EventQueue.invokeLater(new Runnable() {
  332.             @Override
  333.             public void run() {
  334.                 new FormUtama().setVisible(true);
  335.             }
  336.         });
  337.     }
  338.  
  339.     // Variables declaration - do not modify                    
  340.     private javax.swing.JButton btnbrowse;
  341.     private javax.swing.JButton btnhitung;
  342.     private GlossyPanel.ClGlossyPanel clGlossyPanel2;
  343.     private GlossyPanel.ClGlossyPanel clGlossyPanel3;
  344.     private javax.swing.JLabel jLabel1;
  345.     private javax.swing.JLabel jLabel2;
  346.     private javax.swing.JList jList2;
  347.     private javax.swing.JScrollPane jScrollPane2;
  348.     private javax.swing.JLabel labelBrowse;
  349.     private java.awt.Label lblcari;
  350.     private javax.swing.JLabel lbljmlh;
  351.     private javax.swing.JLabel lblmenucari;
  352.     private javax.swing.JLabel tot;
  353.     private javax.swing.JTextField txtFcari;
  354.     private java.awt.TextArea txtkata;
  355.     // End of variables declaration                  
  356. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement