Kamis, 11 Januari 2018

TUGAS UAS ALGORITMA & PEMROGRAMAN (DATABASE JDBC XAMPP)

PROGRAM APLIKASI

INPUT DATA PENJUALAN TOKO SEDERHANA

  • NAMA  : JIKRI FIRDAUS
  • NIM   : 161021450160
  • KELAS : 02TPLP001
  • KAMPUS: STMIK ERESHA


Tugas UAS Project kali ini saya akan Membuat Program Aplikasi java connect to Database JDBC XAMPP.


#Deskripsi dan Tujuan Pembuatan Project.

Sesuai pembahasan saya di lembar jawaban UAS kemarin, saya akan membuat program "Input Data Penjualan Toko Sederhana"

Program ini saya buat untuk mempermudah Pemilik Toko dan Kasir atau bagian Administrasi dalam penyimpanan Data Penjualan barang barang yang telah terjual.

Aplikasi ini saya buat bisa disebut juga untuk Pembukuan dalam suatu Toko Sederhana, dimana nanti kita bisa mengetahui barang barang apa saja yang telah terjual dan sangat laku atau kita bisa memantau Stockan barang barang yang ada di Toko.
Dan juga memudahkan Toko untuk Administrasinya ketika Stock Opname barang

Program ini juga untuk menarik perhatian para konsumen agar lebih banyak berbelanja di Toko Sederhana ini dengan menggunakan Sistem Komputer. Seperti yang kita tau, banyak Toko Sederhana yang bermunculan namun kebanyakan Tidak ditunjang dengan sistem penjualan secara Modern. Hal ini yang menyebabkan Toko Sederhan susah bersaing dengan Minimarket. Untuk dapat bersaing , Dibutuhkan perubahan sistem penjualannya, misalnya yang dahulu hanya mencatat pada buku setiap transaksinya, sekarang dapat menggunakan komputer untuk input data penjualan atau yang lainnya.




#Screenshoot Project dan Penjelasannya.



Pertama tama buka untuk Aplikasi XAMPP dan Start pada Apache
dan MySql, guna untuk mengkoneksikan project ke dalam Database.

1. Lalu saya akan membuat Field dan Type nya pada Database sesuai
   Frame project yang akan saya buat nanti, berikut screen shootnya:





2. Kemudian koneksikan pada Database yang telah dibuat, pilih pada
   menu service lalu klik kanan pada Database yang telah dibuat,
   lalu pilih Connect, berikut screenshootnya :






3. Lalu buka aplikasi Netbeans, buat Project baru dan judulnya, dan
   Jangan Lupa untuk Add Library pada project dengan cara klik kanan
   pada project yang telah dibuat, lalu pilih Add Library.



4. Pada menu Add Library, pilih MySQL JDBC Driver, lalu Add.




5. Kemudian masuk ke Netbeans, Lalu buat untuk Project Desainnya 
   yang diinginkan, berikut Desain project yang saya buat :




6. Setelah selesai membuat Desainnya, Lalu kita buat untuk Source 
   Codenya, berikut Source Code yang saya buat :


package jikri;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

/**
 *
 * @author GONZIK
 */
public class Projek_Jikri extends javax.swing.JFrame {
    double nama,harga,jmlhjual,total;
    int a=0;
    Model_penyimpanan penjualan = new Model_penyimpanan();
    /**
     * Creates new form Projek_Jikri
     */
    public Projek_Jikri() {
        initComponents();
        tblBarang.setModel(penjualan.getTabel());
    }

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

        jScrollPane2 = new javax.swing.JScrollPane();
        tblBarang = new javax.swing.JTable();
        jLabel1 = new javax.swing.JLabel();
        btnSave = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        txtNama = new javax.swing.JTextField();
        txtHarga = new javax.swing.JTextField();
        txtJumlah = new javax.swing.JTextField();
        btnSimpan = new javax.swing.JButton();
        btnHapus = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        tblBarang.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        tblBarang.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(tblBarang);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jLabel1.setText("Input Data Penjualan Toko Sederhana");

        btnSave.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnSave.setText("SAVE");
        btnSave.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSaveActionPerformed(evt);
            }
        });

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

        jLabel3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jLabel3.setText("Harga");

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

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

        txtHarga.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

        txtJumlah.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

        btnSimpan.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnSimpan.setText("Simpan");
        btnSimpan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSimpanActionPerformed(evt);
            }
        });

        btnHapus.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnHapus.setText("Hapus");
        btnHapus.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnHapusActionPerformed(evt);
            }
        });

        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()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addGap(57, 57, 57)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel4)
                                .addGap(218, 218, 218)
                                .addComponent(txtJumlah))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(btnSave)
                                .addGap(197, 197, 197)
                                .addComponent(btnSimpan)
                                .addGap(69, 69, 69)
                                .addComponent(btnHapus))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                .addGap(0, 0, Short.MAX_VALUE)
                                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabel3)
                                    .addComponent(jLabel2))
                                .addGap(173, 173, 173)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(txtNama)
                                    .addComponent(txtHarga)))))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jLabel1)
                        .addGap(12, 12, 12)))
                .addGap(122, 122, 122))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(45, 45, 45)
                .addComponent(jLabel1)
                .addGap(29, 29, 29)
                .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(21, 21, 21)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(txtHarga, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(26, 26, 26)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(txtJumlah, 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(btnSimpan)
                    .addComponent(btnHapus)
                    .addComponent(btnSave))
                .addGap(38, 38, 38)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

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

    private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        try {
            String host = "jdbc:mysql://localhost:3306/jikri_sql",
            user = "root",
            pass = "";
            Connection con = (Connection) DriverManager.getConnection(host, user, pass);

            String Nama_Barang = txtNama.getText ();
            int Harga = Integer.parseInt(txtHarga.getText());
            int Jumlah = Integer.parseInt(txtJumlah.getText());
            double Total = Double.parseDouble(String.valueOf(total));

            Statement st = (Statement) con.createStatement();
            st.executeUpdate ("INSERT INTO input_data_penjualan ( Nama_Barang, Harga, Jumlah, Total) VALUES ('"+Nama_Barang+"', "+Harga+", "+Jumlah+", "+Total+")");

            JOptionPane.showMessageDialog(null, "BERHASIL");
        }
        catch (SQLException err) {
            JOptionPane.showMessageDialog(null, err.getMessage()); }
    }                                       

    private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
        String[] data = new String[5];

        a=a+1;
        data[0]=String.valueOf(a);
        data[1] = txtNama.getText();
        data[2] = txtJumlah.getText();
        data[3] = txtHarga.getText();
        jmlhjual = Float.parseFloat(txtJumlah.getText());
        harga = Float.parseFloat(txtHarga.getText());
        total = (double) (jmlhjual * harga);
        data[4]=String.valueOf(total);

        penjualan.getTabel().addRow(data);
    }                                         

    private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        txtNama.setText("");
        txtHarga.setText("");
        txtJumlah.setText("");
    }                                        

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

    // Variables declaration - do not modify                     
    private javax.swing.JButton btnHapus;
    private javax.swing.JButton btnSave;
    private javax.swing.JButton btnSimpan;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTable tblBarang;
    private javax.swing.JTextField txtHarga;
    private javax.swing.JTextField txtJumlah;
    private javax.swing.JTextField txtNama;
    // End of variables declaration                   
}


         # Berikut  hasil Screen Schoot Codingannya :












7. Dan setelah di input Codingannya, masukkan contoh Nama barangnya 
   dan Harga serta Jumlah barang yang akan dibeli, kemudian pilih 
   tab SIMPAN untuk menyimpan data pada tabel data penjualannya,
   berikut adalah Hasil Outputnya:





8. Setelah data data penjualan semua di simpan, Lalu pilih tab SAVE 
   untuk menyimpan data penjualan pada Database, berikut hasil SAVE 
   dan muncul notifikasi BERHASIL pada outputnya, Lalu OK.




9. Dan Berikut adalah Hasil Databasenya yang telah di SAVE tadi pada
   Project netbeans yang telah dibuat. Dan BERHASIL data sesuai
   dengan apa yang di Input di Project Data Penjualan.






Demikian Hasil Project yang telah saya buat.



Thanks & Regards,

JIKRI FIRDAUS




Tidak ada komentar:

Posting Komentar

TUGAS UAS SEMESTER 6 MOBILE PROGRAMMING membuat aplikasi CRUD SQLite

MOBILE PROGRAMMING MEMBUAT APLIKASI DATABASE CRUD SQLite MENGGUNAKAN ANDROID STUDIO NAMA  : JIKRI FIRDAUS NIM   : 161021450160...