Sabtu, 12 Januari 2019

Program Tiket Tranportasi (Kereta Api)

Domo minna-san kembali lagi dengan saya dzone atau bisa di panggil hasbi.
Dalam kesempatan kali ini saya mau memberikan sedikit ilmu untuk kalian bagaimana cara membuat program tiket transportasi melalui aplikasi java net.beans, berikut contoh materinya :

Flowchart



Pertama buat program (frame) pada aplikasi netbeans




Lalu buat program seperti pada gambar berikut
Untuk tulisan menggunakan (label), lalu untuk bagian samping menggunakan (text field dan combo box), untuk result pembayaran menggunakan (list).




Lalu setelah itu kita buat (new class) untuk membuat kodingan programnya


Lalu kembali pada design frame kita dan pilih (source) dan setelah itu masukkan koding



  

Dan setelah sudah memasukkan kodingannya kedalam tinggal kita (run)
dan akan tampil frame seperti pada gambar berikut
 

Berikut kode kodingnya/source nya :

public class FrameTiketTransportasi extends javax.swing.JFrame {

    DefaultListModel<ClassProgramTiket> Tiket = new DefaultListModel<>();
    private String Nama;
    private String NoTelpon;
    private String NoId;
    private String Email;
    private String Tujuan;
    private String JenisTiket;
    private String PelayananTambahan;
    private String TotalBayar;
    private ClassProgramTiket ClassProgramTiket;
    /**
     * Creates new form FrameTiketTransportasi
     */
    public FrameTiketTransportasi() {
        initComponents();
        cboTujuan.addItem("Jakarta - Bandung 50000");
        cboTujuan.addItem("Bogor - Jakarta 10000");
        cboTujuan.addItem("Bekasi - Jakarta 15000");
        cboTujuan.addItem("Purwokerto - Gambir 35000");
       
        cboJenisTiket.addItem("BISNIS");
        cboJenisTiket.addItem("EKONOMI");
       
        cboPelayananTambahan.addItem("Bagasi 15000");
        cboPelayananTambahan.addItem("Makanan 10000");
        cboPelayananTambahan.addItem("Minuman 5000");
        cboPelayananTambahan.addItem("Bagasi + Makanan + Minuman 25000");
    }

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

        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        txtNama = new javax.swing.JTextField();
        txtNoTelpon = new javax.swing.JTextField();
        cboTujuan = new javax.swing.JComboBox();
        txtTotalBayar = new javax.swing.JTextField();
        cboJenisTiket = new javax.swing.JComboBox();
        btnProses = new javax.swing.JButton();
        Exit = new javax.swing.JButton();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        cboPelayananTambahan = new javax.swing.JComboBox();
        txtNoId = new javax.swing.JTextField();
        txtEmail = new javax.swing.JTextField();
        txtResultPembayaran = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        ListView = new javax.swing.JList();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
        jLabel1.setText("PROGRAM TIKET TRANSPORTASI KERETA");

        jLabel2.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel2.setText("Nama");

        jLabel3.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel3.setText("No Telpon");

        jLabel4.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel4.setText("Tujuan");

        jLabel5.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel5.setText("Jenis Tiket");

        jLabel7.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel7.setText("Total Bayar");

        txtNama.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

        txtNoTelpon.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

        cboTujuan.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

        txtTotalBayar.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

        cboJenisTiket.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

        btnProses.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        btnProses.setText("Proses");
        btnProses.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnProsesActionPerformed(evt);
            }
        });

        Exit.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        Exit.setText("Exit");
        Exit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ExitActionPerformed(evt);
            }
        });

        jLabel10.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel10.setText("No Id(KTP/SIM/KTM)");

        jLabel11.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel11.setText("Email");

        jLabel12.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel12.setText("Pelayanan Tambahan");

        txtNoId.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

        txtEmail.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

        txtResultPembayaran.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtResultPembayaran.setText("Result Pembayaran");

        ListView.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        ListView.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "hasbi-081906998081-181021400067-hasbi1551@gmail.com-Jakarta - Bandung 5000.0-Bisnis-Bagasi+Makanan+Minuman 2500.0-1" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        ListView.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                ListViewMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(ListView);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel12)
                    .addComponent(jLabel11)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addGroup(layout.createSequentialGroup()
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jLabel4)
                                .addComponent(jLabel7))
                            .addGap(144, 144, 144)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(cboPelayananTambahan, javax.swing.GroupLayout.PREFERRED_SIZE, 194, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(cboJenisTiket, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 194, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(cboTujuan, javax.swing.GroupLayout.PREFERRED_SIZE, 194, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addComponent(txtTotalBayar, javax.swing.GroupLayout.PREFERRED_SIZE, 194, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGap(127, 127, 127))
                        .addGroup(layout.createSequentialGroup()
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jLabel5)
                                .addComponent(jLabel3))
                            .addGap(30, 30, 30))
                        .addGroup(layout.createSequentialGroup()
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jLabel2)
                                .addComponent(jLabel10))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(txtEmail, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)
                                .addComponent(txtNoId)
                                .addComponent(txtNoTelpon)
                                .addComponent(txtNama))
                            .addGap(127, 127, 127)))))
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(138, 138, 138)
                        .addComponent(btnProses)
                        .addGap(113, 113, 113)
                        .addComponent(Exit))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(31, 31, 31)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(txtResultPembayaran)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 429, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(31, 31, 31)
                        .addComponent(jLabel1)))
                .addContainerGap(39, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jLabel1)
                .addGap(11, 11, 11)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(txtNama, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(txtNoTelpon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel10)
                    .addComponent(txtNoId, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel11)
                    .addComponent(txtEmail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(cboTujuan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel5)
                    .addComponent(cboJenisTiket, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(12, 12, 12)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel12)
                    .addComponent(cboPelayananTambahan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel7)
                    .addComponent(txtTotalBayar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnProses)
                    .addComponent(Exit))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(txtResultPembayaran)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

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

    private void btnProsesActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
       ClassProgramTiket LN = new ClassProgramTiket();
        LN.Nama=txtNama.getText();
        LN.NoTelpon=txtNoTelpon.getText();
        LN.NoId=txtNoId.getText();
        LN.Email=txtEmail.getText();
        LN.Tujuan= (String)cboTujuan.getSelectedItem();
        LN.JenisTiket= (String)cboJenisTiket.getSelectedItem();
        LN.PelayananTambahan= (String)cboPelayananTambahan.getSelectedItem();
        LN.Totalbayar= Float.parseFloat(txtTotalBayar.getText());
       
       
        txtNama.setText("");
        txtNoTelpon.setText("");
        txtNoId.setText("");
        txtEmail.setText("");
        txtTotalBayar.setText("");
        Tiket.addElement(LN);
    }                                        

    private void ExitActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        this.setVisible(false);
       System.exit(0);
      
    }                                   

    private void ListViewMouseClicked(java.awt.event.MouseEvent evt) {                                     
        // TODO add your handling code here:
        int index=ListView.getSelectedIndex();
        ClassProgramTiket LN = Tiket.getElementAt(index);
        txtNama.setText(LN.Nama);
        txtNoTelpon.setText(LN.NoTelpon);
        txtNoId.setText(LN.NoId);
        txtEmail.setText(LN.Email);
        txtTotalBayar.setText(Float.toString(LN.Totalbayar));

    }                                    

    /**
     * @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(FrameTiketTransportasi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(FrameTiketTransportasi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(FrameTiketTransportasi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(FrameTiketTransportasi.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new FrameTiketTransportasi().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                    
    private javax.swing.JButton Exit;
    private javax.swing.JList ListView;
    private javax.swing.JButton btnProses;
    private javax.swing.JComboBox cboJenisTiket;
    private javax.swing.JComboBox cboPelayananTambahan;
    private javax.swing.JComboBox cboTujuan;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField txtEmail;
    private javax.swing.JTextField txtNama;
    private javax.swing.JTextField txtNoId;
    private javax.swing.JTextField txtNoTelpon;
    private javax.swing.JLabel txtResultPembayaran;
    private javax.swing.JTextField txtTotalBayar;
    // End of variables declaration                  

 
}

 




Tidak ada komentar:

Posting Komentar