Jasa pembuatan website & Software Aplikasi

Program Pencatatan Kendaraan Masuk menggunakan Java Swing dengan Konsep Dasar ArrayList

Pertama buat program dengan nama JavaTrayekKendaraan, lalu buat class dengan nama kendaraan.java dan masukan script berikut :

public class Kendaraan {
    private String NoPolisi;
    private String NoTrayek;
 
    public Kendaraan(String NoPolisi, String NoTrayek){
        this.NoPolisi = NoPolisi;
        this.NoTrayek = NoTrayek;
    }
 
    public String getNoPolisi(){
        return NoPolisi;
    }
 
    public String getNoTrayek(){
        return NoTrayek;
    }
 
}

Selanjutnya buat class baru beri nama InputDataKendaraan.java dan ketik script berikut :

import java.util.ArrayList;

public class InputDataKendaraan {
    
    ArrayList<Kendaraan> listkendaraan;
    
    public InputDataKendaraan(){
        listkendaraan =  new ArrayList();
    }
    
    public void insertData(String NoPolisi, String NoTrayek){
        Kendaraan knd = new Kendaraan(NoPolisi, NoTrayek);
        listkendaraan.add(knd);
    }
    
    public ArrayList<Kendaraan> getAll(){
        return listkendaraan;
    }
    
    public void deleteData(int index){
        listkendaraan.remove(index);
    }
}

Terakhir buat main class pilih JFrame Form lalu beri nama MainForm.java :



import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class MainForm extends javax.swing.JFrame {

    DefaultTableModel modelkendaraan;
    InputDataKendaraan datakendaraan;

    /**
     * Creates new form MainForm
     */
    public MainForm() {
        initComponents();
        datakendaraan = new InputDataKendaraan();
        viewDataTabel();

        jTextField1.addKeyListener(new KeyAdapter() {

            @Override
            public void keyTyped(KeyEvent e) {
                char keyChar = e.getKeyChar();
                if (Character.isLowerCase(keyChar)) {
                    e.setKeyChar(Character.toUpperCase(keyChar));
                }
            }
        });
    }

    public final void viewDataTabel() {
        String[] namakolom = {"No Polisi", "No Trayek"};
        Object[][] objekkendaraan = new Object[datakendaraan.getAll().size()][3];
        int i = 0;
        for (Kendaraan knd : datakendaraan.getAll()) {
            String arraykendaraan[] = {
                knd.getNoPolisi(),
                knd.getNoTrayek()
            };
            objekkendaraan[i] = arraykendaraan;
            i++;
        }
        modelkendaraan = new DefaultTableModel(objekkendaraan, namakolom);
        jTable2.setModel(modelkendaraan);
    }

    public void ClearTextField() {
        jTextField1.setText("");
        jTextField2.setText("");
        jTextField1.requestFocus();
    }

    /**
     * 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() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jLabel1 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
        jTextField2 = new javax.swing.JTextField();
        jButton1 = new javax.swing.JButton();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTable2 = new javax.swing.JTable();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel1.setText("Form Input Data Kendaraan Masuk");
        getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, 310, -1));

        jLabel3.setText("No. Polisi");
        getContentPane().add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 60, -1, -1));

        jLabel4.setText("No. Trayek");
        getContentPane().add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 100, -1, -1));
        getContentPane().add(jTextField1, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 50, 110, 30));
        getContentPane().add(jTextField2, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 90, 110, 30));

        jButton1.setText("Simpan");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        getContentPane().add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 130, -1, -1));

        jTable2.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane2.setViewportView(jTable2);

        getContentPane().add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 170, 300, 220));

        jButton2.setText("Hapus");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });
        getContentPane().add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 130, -1, -1));

        jButton3.setText("Save .txt");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });
        getContentPane().add(jButton3, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 400, -1, -1));

        pack();
    }// </editor-fold>                        

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        datakendaraan.insertData(jTextField1.getText(), jTextField2.getText());
        viewDataTabel();
        ClearTextField();

    }                                        

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        datakendaraan.deleteData(jTable2.getSelectedRow());
        viewDataTabel();
    }                                        

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:

        PrintWriter writer = null;
        try {
            writer = new PrintWriter("006141121031.txt", "UTF-8");
        } catch (FileNotFoundException | UnsupportedEncodingException ex) {
            Logger.getLogger(MainForm.class.getName()).log(Level.SEVERE, null, ex);
        }
        writer.println("TERMINAL BARANANG SIANG");
        writer.println("=========================================================");
        writer.println(writer.printf("%-15.30s %-15.30s %-15.30s %-15.30s", "No Urut", "No Polisi", "No Trayek", "Jam Masuk", 4));

        writer.println("");

        Object[][] objekkendaraan = new Object[datakendaraan.getAll().size()][3];
        int i = 0;
        for (Kendaraan knd : datakendaraan.getAll()) {
            String arraykendaraan[] = {
                knd.getNoPolisi(),
                knd.getNoTrayek()
            };
            objekkendaraan[i] = arraykendaraan;
            i++;

            DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
            Date d1 = new Date();
            writer.println(writer.printf("%-15.30s %-15.30s %-15.30s %-15.30s", +i, knd.getNoPolisi(), knd.getNoTrayek(), dateFormat.format(d1)));

        }
        writer.println("");
        writer.println("=========================================================");
        writer.println("Jumlah Kendaraan Masuk : " + i);
        writer.println("Dicetak oleh : 006141121031 | Fandy Septiana ");
        DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy & HH:mm:ss");
        Date d2 = new Date();
        writer.println("Tanggal & Jam Cetak :  " + dateFormat.format(d2));
        writer.close();
        JOptionPane.showMessageDialog(null, "DATA BERHASIL DISIMPAN");
        Runtime rt = Runtime.getRuntime();
        String file = "D:\\JAVA Project\\JavaTrayekKendaraan\\006141121031.txt";
        try {
            Process p = rt.exec("notepad " + file);
        } catch (IOException ex) {
            Logger.getLogger(MainForm.class.getName()).log(Level.SEVERE, null, ex);
        }
    }                                        

    /**
     * @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(MainForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(MainForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(MainForm.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(MainForm.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 MainForm().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTable jTable1;
    private javax.swing.JTable jTable2;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    // End of variables declaration                   
}

Selesai, selanjutnya jalankan programnya. Untuk mendownload program silahkan klik lnik berikut :

DOWNLOAD

No comments:

Post a Comment