Advertising
- Unnamed
- Monday, May 14th, 2012 at 11:56:13pm MDT
- package ir;
- import java.awt.Component;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.util.ArrayList;
- import javax.swing.JComboBox;
- import javax.swing.JOptionPane;
- import textProcessing.stemmingNazief;
- import textProcessing.tableResult;
- import textProcessing.textStopWord;
- import textProcessing.textTokenization;
- public class GUI extends javax.swing.JFrame {
- tableResult tableObject = new tableResult();
- textStopWord stopWordObject = new textStopWord();
- textTokenization tokenObject = new textTokenization();
- handlerStemming handler1 = new handlerStemming();
- ArrayList tokenizedAbstrakTA;
- ArrayList stoppedAbstrakTA;
- ArrayList stemmedAbstrakTA;
- /**
- * Creates new form GUI
- */
- public GUI() {
- initComponents();
- tambahItem();
- daftarNIM.addActionListener(handler1);
- bgAlgoritmaStemming.add(buttonNazief);
- bgAlgoritmaStemming.add(buttonPengembangan);
- buttonNazief.setSelected(true);
- buttonSave.setEnabled(false);
- textAbstrak.setLineWrap(true);
- textAbstrak.setWrapStyleWord(true);
- }
- public void tambahItem () { //ambil abstrak
- Connect.DBConnect readNIM = new Connect.DBConnect();
- readNIM.FetchData("NIM", "ABSTRAK");
- for (int i=0; i<readNIM.getResultSize();i++){
- daftarNIM.addItem(readNIM.getResult(i).toString());
- }
- }
- private class handlerStemming implements ActionListener {
- @Override
- public void actionPerformed (ActionEvent event){
- JComboBox cb = (JComboBox)event.getSource();
- String nim = (String)cb.getSelectedItem();
- displayAbstrak(Integer.decode(nim));
- buttonStem.setEnabled(true);
- }
- }
- public void displayAbstrak(int nim) {
- AbstrakTA AbstrakTAObject = new AbstrakTA(nim);
- String abstrakTA = AbstrakTAObject.getAbstrakTA();
- textAbstrak.setText(abstrakTA);
- }
- /**
- * 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() {
- bgAlgoritmaStemming = new javax.swing.ButtonGroup();
- dialogNoDocument = new javax.swing.JDialog();
- stemmingPUEntityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory("stemmingPU").createEntityManager();
- stopWordQuery = java.beans.Beans.isDesignTime() ? null : stemmingPUEntityManager.createQuery("SELECT s FROM StopWord s");
- stopWordList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : stopWordQuery.getResultList();
- panelTabUtama = new javax.swing.JTabbedPane();
- panelIndexing = new javax.swing.JPanel();
- textNIMMahasiswa = new javax.swing.JLabel();
- daftarNIM = new javax.swing.JComboBox();
- textDokumen = new javax.swing.JLabel();
- scrollPaneDokumen = new javax.swing.JScrollPane();
- textAbstrak = new javax.swing.JTextArea();
- textAlgoritmaStemming = new javax.swing.JLabel();
- buttonNazief = new javax.swing.JRadioButton();
- buttonPengembangan = new javax.swing.JRadioButton();
- buttonStem = new javax.swing.JButton();
- jLabel6 = new javax.swing.JLabel();
- jLabel3 = new javax.swing.JLabel();
- jLabel5 = new javax.swing.JLabel();
- jScrollPane2 = new javax.swing.JScrollPane();
- listUnstemmedToken = new javax.swing.JList();
- jScrollPane4 = new javax.swing.JScrollPane();
- listStemmedTokens = new javax.swing.JList();
- buttonSave = new javax.swing.JButton();
- panelAnalizing = new javax.swing.JPanel();
- jScrollPane5 = new javax.swing.JScrollPane();
- tableResult = new javax.swing.JTable();
- jButton2 = new javax.swing.JButton();
- jLabel8 = new javax.swing.JLabel();
- jLabel9 = new javax.swing.JLabel();
- jLabel10 = new javax.swing.JLabel();
- jTextField2 = new javax.swing.JTextField();
- jTextField3 = new javax.swing.JTextField();
- jLabel11 = new javax.swing.JLabel();
- jLabel12 = new javax.swing.JLabel();
- jLabel13 = new javax.swing.JLabel();
- jTextField4 = new javax.swing.JTextField();
- jTextField5 = new javax.swing.JTextField();
- javax.swing.GroupLayout dialogNoDocumentLayout = new javax.swing.GroupLayout(dialogNoDocument.getContentPane());
- dialogNoDocument.getContentPane().setLayout(dialogNoDocumentLayout);
- dialogNoDocumentLayout.setHorizontalGroup(
- dialogNoDocumentLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 400, Short.MAX_VALUE)
- );
- dialogNoDocumentLayout.setVerticalGroup(
- dialogNoDocumentLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 300, Short.MAX_VALUE)
- );
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setTitle("Stemming Apps");
- textNIMMahasiswa.setText("NIM Mahasiswa");
- textDokumen.setText("Dokumen");
- textAbstrak.setColumns(20);
- textAbstrak.setRows(5);
- scrollPaneDokumen.setViewportView(textAbstrak);
- textAlgoritmaStemming.setText("Algoritma Stemming");
- buttonNazief.setText("Nazief - Andriani");
- buttonPengembangan.setText("Pengembangan");
- buttonStem.setText("Stem");
- buttonStem.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- buttonStemActionPerformed(evt);
- }
- });
- jLabel6.setText("Hasil Stemming");
- jLabel3.setText("Non-stemmed tokens");
- jLabel5.setText("Stemmed tokens");
- jScrollPane2.setViewportView(listUnstemmedToken);
- jScrollPane4.setViewportView(listStemmedTokens);
- buttonSave.setText("Simpan Tokens");
- buttonSave.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- saveTokens(evt);
- }
- });
- javax.swing.GroupLayout panelIndexingLayout = new javax.swing.GroupLayout(panelIndexing);
- panelIndexing.setLayout(panelIndexingLayout);
- panelIndexingLayout.setHorizontalGroup(
- panelIndexingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelIndexingLayout.createSequentialGroup()
- .addContainerGap()
- .addGroup(panelIndexingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelIndexingLayout.createSequentialGroup()
- .addGroup(panelIndexingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(textNIMMahasiswa)
- .addComponent(textDokumen)
- .addComponent(textAlgoritmaStemming)
- .addComponent(jLabel6))
- .addGap(20, 20, 20)
- .addGroup(panelIndexingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(scrollPaneDokumen)
- .addGroup(panelIndexingLayout.createSequentialGroup()
- .addGroup(panelIndexingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 187, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel3))
- .addGap(18, 18, 18)
- .addGroup(panelIndexingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelIndexingLayout.createSequentialGroup()
- .addComponent(jLabel5)
- .addGap(0, 0, Short.MAX_VALUE))
- .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)))
- .addGroup(panelIndexingLayout.createSequentialGroup()
- .addComponent(daftarNIM, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(0, 0, Short.MAX_VALUE))
- .addGroup(panelIndexingLayout.createSequentialGroup()
- .addComponent(buttonNazief)
- .addGap(18, 18, 18)
- .addComponent(buttonPengembangan)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 145, Short.MAX_VALUE)
- .addComponent(buttonStem, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelIndexingLayout.createSequentialGroup()
- .addGap(0, 0, Short.MAX_VALUE)
- .addComponent(buttonSave)))
- .addContainerGap())
- );
- panelIndexingLayout.setVerticalGroup(
- panelIndexingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelIndexingLayout.createSequentialGroup()
- .addContainerGap()
- .addGroup(panelIndexingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(textNIMMahasiswa)
- .addComponent(daftarNIM, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(panelIndexingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelIndexingLayout.createSequentialGroup()
- .addComponent(scrollPaneDokumen, javax.swing.GroupLayout.PREFERRED_SIZE, 132, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(panelIndexingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(buttonNazief)
- .addComponent(buttonPengembangan)
- .addComponent(textAlgoritmaStemming)
- .addComponent(buttonStem)))
- .addComponent(textDokumen))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(panelIndexingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelIndexingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel6)
- .addComponent(jLabel3))
- .addComponent(jLabel5))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panelIndexingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)
- .addComponent(jScrollPane4))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(buttonSave)
- .addContainerGap(36, Short.MAX_VALUE))
- );
- panelTabUtama.addTab("Document Indexing", panelIndexing);
- tableResult.setModel(new javax.swing.table.DefaultTableModel(
- tableObject.table() ,
- new String [] {
- "Unstemmed","Stemmed"
- }
- ));
- jScrollPane5.setViewportView(tableResult);
- jButton2.setText("Lihat Hasil");
- jLabel8.setText("Kekuatan Stemming");
- jLabel9.setText("Index Compression Factor (ICF)");
- jLabel10.setText("Mean Word per Conflaction (MWC)");
- jLabel11.setText("Error Counting");
- jLabel12.setText("Under Stemming Index (UI)");
- jLabel13.setText("Over Stemming Index (OI)");
- javax.swing.GroupLayout panelAnalizingLayout = new javax.swing.GroupLayout(panelAnalizing);
- panelAnalizing.setLayout(panelAnalizingLayout);
- panelAnalizingLayout.setHorizontalGroup(
- panelAnalizingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelAnalizingLayout.createSequentialGroup()
- .addContainerGap()
- .addGroup(panelAnalizingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelAnalizingLayout.createSequentialGroup()
- .addComponent(jLabel8)
- .addGap(0, 0, Short.MAX_VALUE))
- .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 567, Short.MAX_VALUE)
- .addGroup(panelAnalizingLayout.createSequentialGroup()
- .addGroup(panelAnalizingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel9)
- .addComponent(jLabel10))
- .addGap(34, 34, 34)
- .addGroup(panelAnalizingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(jTextField2)
- .addComponent(jTextField3, javax.swing.GroupLayout.DEFAULT_SIZE, 84, Short.MAX_VALUE))
- .addGroup(panelAnalizingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelAnalizingLayout.createSequentialGroup()
- .addGap(36, 36, 36)
- .addGroup(panelAnalizingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel12)
- .addComponent(jLabel13)
- .addComponent(jLabel11))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addGroup(panelAnalizingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(jTextField4)
- .addComponent(jTextField5, javax.swing.GroupLayout.DEFAULT_SIZE, 83, Short.MAX_VALUE)))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelAnalizingLayout.createSequentialGroup()
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)))))
- .addContainerGap())
- );
- panelAnalizingLayout.setVerticalGroup(
- panelAnalizingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelAnalizingLayout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 251, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jButton2)
- .addGap(18, 18, 18)
- .addGroup(panelAnalizingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel8)
- .addComponent(jLabel11))
- .addGap(18, 18, 18)
- .addGroup(panelAnalizingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel9)
- .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel12)
- .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panelAnalizingLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel10)
- .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel13)
- .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(111, Short.MAX_VALUE))
- );
- panelTabUtama.addTab("Document Analyzing", panelAnalizing);
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(panelTabUtama)
- .addContainerGap())
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(panelTabUtama)
- .addContainerGap())
- );
- pack();
- }// </editor-fold>
- private void saveTokens(java.awt.event.ActionEvent evt) {
- System.out.println("save");
- }
- private void buttonStemActionPerformed(java.awt.event.ActionEvent evt) {
- if ("".equals(textAbstrak.getText())) { //display error message
- Component frame = null;
- JOptionPane.showMessageDialog(frame, "Dokumen kosong.");
- } else {
- tokenizedAbstrakTA = tokenObject.textTokenization(textAbstrak.getText());
- stoppedAbstrakTA = stopWordObject.textStopWord(tokenizedAbstrakTA);
- stemmedAbstrakTA = stemmingNazief.stemming(stoppedAbstrakTA);
- tableObject.modelTable(stoppedAbstrakTA, stemmedAbstrakTA);
- listUnstemmedToken.setListData(stoppedAbstrakTA.toArray());
- listStemmedTokens.setListData(stemmedAbstrakTA.toArray());
- buttonSave.setEnabled(true);
- }
- }
- /**
- * @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());
- break;
- }
- }
- } catch (ClassNotFoundException ex) {
- java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (InstantiationException ex) {
- java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (IllegalAccessException ex) {
- java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (javax.swing.UnsupportedLookAndFeelException ex) {
- java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- }
- //</editor-fold>
- /*
- * Create and display the form
- */
- java.awt.EventQueue.invokeLater(new Runnable() {
- @Override
- public void run() {
- new GUI().setVisible(true);
- }
- });
- }
- // Variables declaration - do not modify
- private javax.swing.ButtonGroup bgAlgoritmaStemming;
- private javax.swing.JRadioButton buttonNazief;
- private javax.swing.JRadioButton buttonPengembangan;
- private javax.swing.JButton buttonSave;
- private javax.swing.JButton buttonStem;
- private javax.swing.JComboBox daftarNIM;
- private javax.swing.JDialog dialogNoDocument;
- private javax.swing.JButton jButton2;
- private javax.swing.JLabel jLabel10;
- private javax.swing.JLabel jLabel11;
- private javax.swing.JLabel jLabel12;
- private javax.swing.JLabel jLabel13;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JLabel jLabel5;
- private javax.swing.JLabel jLabel6;
- private javax.swing.JLabel jLabel8;
- private javax.swing.JLabel jLabel9;
- private javax.swing.JScrollPane jScrollPane2;
- private javax.swing.JScrollPane jScrollPane4;
- private javax.swing.JScrollPane jScrollPane5;
- private javax.swing.JTextField jTextField2;
- private javax.swing.JTextField jTextField3;
- private javax.swing.JTextField jTextField4;
- private javax.swing.JTextField jTextField5;
- private javax.swing.JList listStemmedTokens;
- private javax.swing.JList listUnstemmedToken;
- private javax.swing.JPanel panelAnalizing;
- private javax.swing.JPanel panelIndexing;
- private javax.swing.JTabbedPane panelTabUtama;
- private javax.swing.JScrollPane scrollPaneDokumen;
- private javax.persistence.EntityManager stemmingPUEntityManager;
- private java.util.List<ir.StopWord> stopWordList;
- private javax.persistence.Query stopWordQuery;
- private javax.swing.JTable tableResult;
- private javax.swing.JTextArea textAbstrak;
- private javax.swing.JLabel textAlgoritmaStemming;
- private javax.swing.JLabel textDokumen;
- private javax.swing.JLabel textNIMMahasiswa;
- // End of variables declaration
- }
advertising
Update the Post
Either update this post and resubmit it with changes, or make a new post.
You may also comment on this post.
Please note that information posted here will expire by default in one month. If you do not want it to expire, please set the expiry time above. If it is set to expire, web search engines will not be allowed to index it prior to it expiring. Items that are not marked to expire will be indexable by search engines. Be careful with your passwords. All illegal activities will be reported and any information will be handed over to the authorities, so be good.