Sunday, May 29, 2016

Latihan10 (Pembuatan Aplikasi Office Supply Order) "PART1"


Pembuatan Aplikasi Office Supply Order

Mungkin ini sebagai latihan pamungkas, karena kita akan memakai segala latihan yang telah di pelajari untuk membuat program aplikasi dengan netbeans.

Pembuatan Database

Pertama yang harus dilakukan membuat database di xampp ( http://localhost/phpmyadmin/ ) . Masukkan database sebagai berikut :



Pembuatan Class Koneksi

1. Buatlah Folder untuk menyimpan project.
2. Lalu buka netbeans kalian pilih File -> New Project
3.Next
4. isi Project Name: oso_app
5. Pilih tempat penyimpanan
6. Finish
7. Klik kanan pada Source Package,
    pilih New àJava Class

 8.isi Class Name : koneksi

9. Finish
10. Ketik Script Dibawah ini:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package oso_app;

import java.sql.*;
import javax.swing.JOptionPane;


/**
 *
 * @author UCUP
 */
public class koneksi {

        Connection conn;
    Statement st;
    ResultSet rs;

public Connection setKoneksi()
{
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/oso_db","root","");
st=conn.createStatement();
}
catch(Exception e){
JOptionPane.showMessageDialog(null,"Koneksi Gagal : " +e);
}
return conn;
}

}

catatan : yang saya beri warna merah tidak usah diketik atau masukkan karna itu script bawaan netbeans.




11. Tambahkan Libraries untuk menghubungkan ke database, Klik kanan pada Libraries -> Add Libraries 





Pilih MySQL JDBC Driver -> Add Library


 

 

Pembuatan Form Master Produk

1. Klik Kanan Pada Package Oso_appNew       JFrame Form..
2. isi Class Name : Form_Produk, setelah itu pilih Finish


3. Pada form klik kanan -> Set Layout -> Absolute Layout
4. Klik form-> Properties -> defaultCloseOperation: DISPOSE
5. Klik form-> Properties -> CodeForm Size Policy : Generate Resize Code



6. Desain Form Produk seperti dibawah ini :




7.cbkategori dan cbsupplier berisikan “=PILIH=



Ketik Script dibawah ini pada tampilan listing:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package oso_app;

import java.awt.event.KeyEvent;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import sun.misc.Cleaner;

/**
 *
 * @author UCUP
 */
public class Form_Produk extends javax.swing.JFrame {

    koneksi kon=new koneksi();
    private Object [][] dataproduk=null;
    private String[]label={"Id Produk","Id Kategori","Nama Produk","Unit Cost","Id_Supplier"};

    /**
     * Creates new form Form_Produk
     */
        public Form_Produk() {

        initComponents();
        kon.setKoneksi();
        nonaktif();
        BacaTabelProduk();
        isiNamaKategori();
        isiNamaSupplier();
        tid_kategori.setVisible(false);
        tid_supplier.setVisible(false);
    }

void isiNamaKategori(){
        try{
           String sql="Select *From kategori";
            kon.rs=kon.st.executeQuery(sql);
            while (kon.rs.next()){
                cbkategori.addItem(kon.rs.getString("nama_kategori"));
           }
        }catch(SQLException e){
            System.out.println("Koneksi Gagal"+ e.toString());
        }
    }

void isiNamaSupplier(){
       try{
           String sql="Select *From supplier ";
            kon.rs=kon.st.executeQuery(sql);
            while (kon.rs.next()){
                cbsupplier.addItem(kon.rs.getString("nama_supplier"));
            }
          }catch(SQLException e){
            System.out.println("Koneksi Gagal"+ e.toString());
        }
    }

private String idProduk()
    {
        String no=null;
    try{
         kon.setKoneksi();
        String sql = "Select right(id_produk,3)+1 from produk ";
        ResultSet rs = kon.st.executeQuery(sql);
        if (rs.next()){
            rs.last();
            no = rs.getString(1);
            while (no.length()<3){
                no="00"+no;
                no="B"+no;
            tid_produk.setText(no);   
            }
        }else{
            no="B001";
            tid_produk.setText(no);   
        }
    }catch (Exception e){    
    }return no;
    }


   private void BacaTabelProduk(){
        try{
            String sql="Select *From produk order by id_produk";
            kon.rs=kon.st.executeQuery(sql);
            ResultSetMetaData m=kon.rs.getMetaData();
            int kolom=m.getColumnCount();
            int baris=0;
            while(kon.rs.next()){
                baris=kon.rs.getRow();
            }
            dataproduk=new Object[baris][kolom];
            int x=0;
            kon.rs.beforeFirst();
            while(kon.rs.next()){
                dataproduk[x][0]=kon.rs.getString("id_produk");
                dataproduk[x][1]=kon.rs.getString("id_kategori");
                dataproduk[x][2]=kon.rs.getString("nama_produk");
                dataproduk[x][3]=kon.rs.getString("unitcost");
                dataproduk[x][4]=kon.rs.getString("id_supplier");
                x++;
            }
            tbl_produk.setModel(new DefaultTableModel(dataproduk,label));
        }
        catch(SQLException e){
            JOptionPane.showMessageDialog(null, e);
        }
    }

private void BacaTabelProduk2(){
        try{
            String sql="select *from produk where nama_produk like '%" +tcari.getText()+ "%' ";
            kon.rs=kon.st.executeQuery(sql);
            ResultSetMetaData m=kon.rs.getMetaData();
            int kolom=m.getColumnCount();
            int baris=0;
            while(kon.rs.next()){
                baris=kon.rs.getRow();
            }
             dataproduk=new Object[baris][kolom];
            int x=0;
            kon.rs.beforeFirst();
            while(kon.rs.next()){
                  dataproduk[x][0]=kon.rs.getString("id_produk");
                dataproduk[x][1]=kon.rs.getString("id_kategori");
                dataproduk[x][2]=kon.rs.getString("nama_produk");
                dataproduk[x][3]=kon.rs.getString("unitcost");
                dataproduk[x][4]=kon.rs.getString("id_supplier");
                 x++;
            }
            tbl_produk.setModel(new DefaultTableModel(dataproduk,label));
        }
        catch(SQLException e){
            JOptionPane.showMessageDialog(null, e);
        }
    }

void isiNamaKategori2(){
        try{
            kon.setKoneksi();
             String sql="Select *From kategori where  id_kategori='"+tid_kategori.getText()+"'";
            kon.rs=kon.st.executeQuery(sql);
            if (kon.rs.next()){
                 cbkategori.setSelectedItem(kon.rs.getString("nama_kategori"));
             }
        }catch(SQLException e){
            System.out.println("Koneksi Gagal"+ e.toString());
        }
    }





void isiNamaSupplier2(){
              try{
           String sql="Select *From supplier where id_supplier='"+tid_supplier.getText()+"'";
            kon.rs=kon.st.executeQuery(sql);
            if(kon.rs.next()){
                cbsupplier.setSelectedItem(kon.rs.getString("nama_supplier"));
            }
        }catch(SQLException e){
            System.out.println("Koneksi Gagal"+ e.toString());
        }
    }

 private void setTable(){
       int row=tbl_produk.getSelectedRow();
        tid_produk.setText((String)tbl_produk.getValueAt(row,0));
        tid_kategori.setText((String)tbl_produk.getValueAt(row,1));
        tnm_produk.setText((String)tbl_produk.getValueAt(row,2));
        tunit_cost.setText((String)tbl_produk.getValueAt(row,3));
        tid_supplier.setText((String)tbl_produk.getValueAt(row,4));
        }

private void BersihField(){
        tunit_cost.setText("");
        tid_produk.setText("");
        tnm_produk.setText("");
        tnm_produk.setText("");
        tcari.setText("");
        }

      private void aktif(){
        tid_produk.setEnabled(true);
        tnm_produk.setEnabled(true);
        tunit_cost.setEnabled(true);
        cbkategori.setEnabled(true);
        cbsupplier.setEnabled(true);
      }

private void nonaktif(){
        tid_produk.setEnabled(false);
        tnm_produk.setEnabled(false);
        tunit_cost.setEnabled(false);
        cbkategori.setEnabled(false);
        cbsupplier.setEnabled(false);
        bt_edit.setEnabled(false);
        bt_update.setEnabled(false);
        bt_hapus.setEnabled(false);
        bt_simpan.setEnabled(false);
       }


private void SimpanData(){
        try{
            String sql="insert into produk values('"+tid_produk.getText()+"','"+tid_kategori.getText()+"','"+tnm_produk.getText()+"','"+tunit_cost.getText()+"','"+tid_supplier.getText()+"')";
            kon.st.executeUpdate(sql);
            JOptionPane.showMessageDialog(null,"Data berhasil disimpan");
            BersihField();
            BacaTabelProduk();
         }
        catch(SQLException e){
            JOptionPane.showMessageDialog(null,e);
        }
    }

private void EditData(){
        try{
            String sql="Update produk set id_produk='"+tid_produk.getText()+"',id_kategori='"+tid_kategori.getText()+"',id_supplier='"+tid_supplier.getText()+"',nama_produk='"+tnm_produk.getText()+"',unitcost='"+tunit_cost.getText()+"' where id_produk='"+tid_produk.getText()+"'";
            kon.st.executeUpdate(sql);
            JOptionPane.showMessageDialog(null,"Data berhasil diupdate");
            BersihField();
            BacaTabelProduk();
            kon.st.close();
            }
        catch(SQLException e){
            JOptionPane.showMessageDialog(null,e);
        }   
    }

private void HapusData(){
        try{
            String sql="Delete from produk where id_produk='"+tid_produk.getText()+"'";
            kon.st.executeUpdate(sql);
            JOptionPane.showMessageDialog(null,"Data berhasil dihapus");
            BersihField();
            BacaTabelProduk();
            kon.st.close();
        }
        catch(SQLException e){
            JOptionPane.showMessageDialog(null, e);
        }
    }



8. Klik kanan pada Jframe, Pilih Events->Window-> WindowActivated





9. Ketik Script dibawah ini :



private void formWindowActivated(java.awt.event.WindowEvent evt) {                                    
        // TODO add your handling code here:
      BersihField();

        nonaktif();
}


10. Klik Kanan pada bt_keluar, Pilih Events  -> Action  ->  ActionPerformed


Ketik Script dibawah ini :



private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        dispose();
}



11. Klik Kanan pada bt_tambah, Pilih Events  -> Action  ->  ActionPerformed
     Ketik Script dibawah ini :




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

        aktif();

        bt_batal.setEnabled(true);

        bt_tambah.setEnabled(false);

        bt_simpan.setEnabled(true);
 }  



12. Klik Kanan pada cbkategori, Pilih Events -> Action -> ActionPerformed
     Ketik Script dibawah ini :


.

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

            kon.setKoneksi();

           String sql="Select *From kategori where nama_kategori='"+cbkategori.getSelectedItem()+"'";

            kon.rs=kon.st.executeQuery(sql);

           if (kon.rs.next()){

                tid_kategori.setText(kon.rs.getString("id_kategori")); 

          }

        }catch(SQLException e){

            System.out.println("Koneksi Gagal"+ e.toString());

        }
    }



13. Klik Kanan pada cbsupplier, Pilih Events -> Action -> ActionPerformed
     Ketik Script dibawah ini :


.

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

          kon.setKoneksi();

          String sql="Select *From supplier where nama_supplier='"+cbsupplier.getSelectedItem()+"'";

            kon.rs=kon.st.executeQuery(sql);

            if (kon.rs.next()){

                tid_supplier.setText(kon.rs.getString("id_supplier")); 

          }

        }catch(SQLException e){

            System.out.println("Koneksi Gagal"+ e.toString());

        }
    }


14. Klik Kanan pada bt_batal, Pilih Events-> Action -> ActionPerformed
     Ketik Script dibawah ini :




private void bt_batalActionPerformed(java.awt.event.ActionEvent evt) {                                        
nonaktif();

        BersihField();

        bt_tambah.setEnabled(true);

        cbkategori.setSelectedItem("=PILIH=");

        cbsupplier.setSelectedItem("=PILIH=");

        try {

            kon.st.close();

        } catch (SQLException ex) {

            Logger.getLogger(Form_Produk.class.getName()).log(Level.SEVERE, null, ex);

        }
    }     



15. Klik Kanan pada bt_simpan, Pilih Events -> Action -> ActionPerformed
     Ketik Script dibawah ini :




private void bt_simpanActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
if (tid_produk.getText().isEmpty() || tnm_produk.getText().isEmpty() || tunit_cost.getText().isEmpty()) {

            JOptionPane.showMessageDialog(this, "Lengkapi Data", "Konfirmasi", JOptionPane.INFORMATION_MESSAGE);

            bt_tambah.setEnabled(true);

        } else {

            bt_tambah.setEnabled(true);

            bt_keluar.setEnabled(true);

            SimpanData();

            cbkategori.setSelectedItem("=PILIH=");

            cbsupplier.setSelectedItem("=PILIH=");

              try {

            kon.st.close();

        } catch (SQLException ex) {

            Logger.getLogger(Form_Produk.class.getName()).log(Level.SEVERE, null, ex);

        }

           }
    }


16. Klik Kanan pada tcari, Pilih Events  -> KeyKeyTyped

Ketik Script dibawah ini :



private void tcariKeyTyped(java.awt.event.KeyEvent evt) {
        // TODO add your handling code here:
kon.setKoneksi();

     BacaTabelProduk2();
    }


17. Klik Kanan pada tbl_produk, Pilih Events ->Mouse MouseClicked

Ketik Script dibawah ini :



private void tbl_produkMouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
setTable();

    isiNamaKategori2();

    isiNamaSupplier2(); 

    bt_hapus.setEnabled(true);

    bt_edit.setEnabled(true);

    bt_tambah.setEnabled(false);
    }



18. Klik Kanan pada bt_hapus, Pilih Events  ->  Action  ->   ActionPerformed
     Ketik Script dibawah ini :



private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
    if (JOptionPane.showConfirmDialog(this, "yakin mau dihapus?", "konfirmasi", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {

            HapusData();

            bt_tambah.setEnabled(true);

            nonaktif();

            BersihField();

             cbkategori.setSelectedItem("=PILIH=");

             cbsupplier.setSelectedItem("=PILIH=");

       } else {



            JOptionPane.showMessageDialog(this, "Data Batal Dihapus", "Konfirmasi", JOptionPane.INFORMATION_MESSAGE);

            bt_tambah.setEnabled(true);

             nonaktif();

            BersihField();

             cbkategori.setSelectedItem("=PILIH=");

             cbsupplier.setSelectedItem("=PILIH=");



            return;

        }

        formWindowActivated(null);
    }

19. Klik Kanan pada bt_edit, Pilih Events  ->     Action   ->   ActionPerformed

    Ketik Script dibawah ini :



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

     tid_produk.setEnabled(false);

     bt_edit.setEnabled(false);

     bt_update.setEnabled(true);

     bt_batal.setEnabled(true);

     bt_hapus.setEnabled(false);

     bt_tambah.setEnabled(false);
    }



20. Klik Kanan pada bt_update, Pilih Events  ->  Action  ->  ActionPerformed
     Ketik Script dibawah ini



private void bt_updateActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    bt_update.setEnabled(false);

    bt_tambah.setEnabled(true);

    EditData();

    cbkategori.setSelectedItem("=PILIH=");

    cbsupplier.setSelectedItem("=PILIH=");
    }




Silakan lanjut Ke Part 2 berikutnya :)



MATERI JAVA NETBEANS

Untuk kalian yang baru belajar java netbeans belajarlah dari materi pertama :
Materi ke-1 : Teori Java Netbeans
Materi ke-2 : Konsep Dasar Class Object
Materi ke-3 : Encapsulation
Materi ke-4 : Pewarisan
Materi ke-5 : Polymorpishm
Materi ke-6 : JFrame dan Objek
Materi ke-7 : Operator
Materi ke-8 : Percabangan
Materi ke-9 : Perulangan
Materi ke-10 : Dasar SQL Java
Materi ke-11 : Pembuatan Aplikasi Supply Part 1
Materi ke-12 : Pembuatan Aplikasi Supply Order Part 2
Materi ke-13 : Pembuatan Aplikasi Supply Order Part 3
Materi ke-14 : Pembuatan Aplikasi Supply Order Final


Reviewer: FajarYusuf.Com
ItemReviewed: Latihan10 (Pembuatan Aplikasi Office Supply Order) "PART1"

Seseorang yang ingin membagi pengalaman dan ilmu yang berguna untuk para pembaca FajarYusuf.Com :)

2 comments

I like this, but not any form login, form kategori and form supplier ?

Coba agan download file hasil latihannya saja gan,lalu dicocokan apa yang salah :)

TENTANG SITUS

SITUS INI ADALAH SITUS PEMBELAJARAN PEMROGRAMAN DAN JUGA PEMAHAMAN TERHADAP TEKNOLOGI KOMPUTER. KALIAN BISA MENGIKUTI PEMBELAJARAN PEMROGRAMAN DENGAN BERTAHAP PADA MATERI YANG SUDAH SAYA SEDIAKAN, JIKA ADA MATERI YANG MEMBINGUNGKAN SILAKAN LAKUKAN KOMENTAR PADA MATERI YANG ANDA TANYAKAN ATAU KALIAN BISA MENGHUBUNGI SAYA DIHALAMAN KONTAK.