Selasa, 28 Februari 2017

How to Login and Lock Application in NetBeans

Cara membuat Form Login disertai source code nya pada NetBeans

Pada pertemuan kali ini kami akan membahas tentang cara login dan lock di dalam sebuah form yang membahas tentang Login

Jika anda memiliki project sebelumnya, beberapa langkah dibawah ini harus kamu lakukan dalam membuat login diatas untuk melengkapi program anda.
  • Buat 1 Package baru pada project dengan cara klik kanan project anda -> New -> Java Package, beri nama package anda sesuai kehendak anda. Disini saya memberi contoh nama package file.
  • Buat sebuah form inputPenjualan dalam package file dengan cara klik kanan package file-> New -> JFrame Form, dan beri nama form tersebut bebas sesuai keinginan author. Disini saya memberi contoh dengan nama login
  • lalu masuk ke halaman DESIGN untuk mendesign form logintersebut. Design seperti dibawah ini
  • Lalu masukkan source code dibawah ini, tapi sebelumnya pindah dulu ke halaman Source  
package mnuFile;

import koneksi.Koneksi;
import model.session;
import java.awt.Frame;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import javax.swing.JRootPane;
import main.mainForm;

/**
 *
 * @author nengjebret
 */
public class login extends javax.swing.JFrame {

    /** Creates new form login */
    public login() {
        initComponents();
        this.setLocationRelativeTo(this);
    }
  • Source untuk login
private void login(){
        String username = txtusername.getText();

        String password = txtpassword.getText();

        try {

            String SQL = "select username,password,id_kasir,nama,akses,status from kasir where username='"+username+"' and password = md5('"+password+"')";

            ResultSet rs = Koneksi.executeQuery(SQL);

            if(rs.next()){

                sessionLogin sesi = new sessionLogin();

                sesi.setIdKasir(rs.getString(3));

                sesi.setNamaKasir(rs.getString(4));

                sesi.setUsername(rs.getString(1));

                JOptionPane.showMessageDialog(rootPane, "Selamat Datang");

                new mainForm().setVisible(true);

                this.dispose();

            }else{

                 JOptionPane.showMessageDialog(rootPane, "gagal");

            }

        } catch (Exception e){

            System.out.println(e);

        }

    }
  •  Double klik pada button login,dan masukkan source code dibawah ini :
login();
  • Double klik pada button keluar, dan masukkan source code dibawah ini :
this.dispose();
Cara Membuat Form Lock Aplikasi di NetBeans
  • Buat sebuah form inputPenjualan dalam package file dengan cara klik kanan package file-> New - > Other->JDialogForm, dan beri nama form tersebut bebas sesuai keinginan author. Disini saya memberi contoh dengan nama login
  • lalu masuk ke halaman DESIGN untuk mendesign form logintersebut. Design seperti dibawah ini
  • Lalu masukkan source code dibawah ini, tapi sebelumnya pindah dulu ke halaman Source  
package mnuFile;
import koneksi.Koneksi;
import model.session;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import javax.swing.JRootPane;
/**
 *
 * @author nengjebret
 */
public class Lock extends javax.swing.JDialog {
    /**
     * Creates new form Lock
     */
    public Lock(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        setUndecorated(true);
        getRootPane().setWindowDecorationStyle(JRootPane.NONE);
        initComponents();
        this.setLocationRelativeTo(this);
    }
  • Source code untuk Lock
private void signin(){
        sessionLogin sesi = new sessionLogin();
        String username = sesi.getUsername();
        String password = txtPassword.getText();
        
        try {
            String SQL = "select username,password from kasir where username='"+username+"' and password = md5('"+password+"')";
            ResultSet rs = Koneksi.executeQuery(SQL);
            if(rs.next()){
                this.dispose();
            }else{
                JOptionPane.showMessageDialog(rootPane, "Password yang anda masukan salah!");
            }
        } catch (Exception e) {
            System.out.println(e);
        }
    }
  • Double klik pada button Unlock dan textfield Password, kemudian masukkan source code ini :
signin();

How to create session in NetBeans

Pada pertemuan kali ini kami akan membahas tentang cara pembuatan session di dalam melengkapi project anda pada NetBeans

Jika anda memiliki project sebelumnya, beberapa langkah dibawah ini harus kamu lakukan dalam membuat session untuk melengkapi program anda.
  • Buat 1 Package baru pada project dengan cara klik kanan project anda -> New -> Java Package, beri nama package anda sesuai kehendak anda. Disini saya memberi contoh nama package model

  • Setelah package model tercipta, anda lanjutkan dengan cara klik kanan pilih Java Class dan beri nama session.

  • Setelah halaman session muncul anda bisa masukkan source code berikut ini, ini projek saya sebelumnya tentang aplikasi penjualan buku ;
package mnuModel;
         /**
         *
         * @author nengjebret
         */
         public class sessionLogin {
               private static String idKasir;
               private static String NamaKasir;
               private static String refresh = "false";
               private static String username; 
  • Setelah source code diatas, dimasukkan klik kanan pada halaman session pilih 
  • Lalu select beberapa field yang perlu di Refactor, anda ceklis beberapa field lalu klik tombol Refactor yang ada di bawah.
  • Lalu untuk menampilkan Nama atau user yang me log in. kalian harus membuat Form baru contohnya di HalamanUtama, seperti di bawah ini.

Jlabel1 ganti kan variable name nya menjadi user.
  • Lalu buat method untuk user tersebut, dan anda masuk an coding di bawah ini

private void username(){
        String User = session.getNamaKasir();
        user.setText(User);
    }
  • Dan Selesai.
  • Senin, 27 Februari 2017

    How to input your data in NetBeans

    1). MEMBUAT DATA BASE DI MYSQL

    • Nyalakan xampp control yang ada pada perangkat komputer anda. 




    • Buka di web browser anda dengan menginputkan address : "http://localhost/phpmyadmin"
    • Buat database sesuai perintah, dengan contoh "penjualanbuku" pada kolom "Create New Database", lalu tekan tombol "create"


    • Lalu masukkan tabel yang diperlukan sebagai isi dari database anda. Seperti dibawah ini :
    • Lalu anda tekan tombol "go" yang berada di samping kanan.
    • Lalu buatlah field seperti gambar dibawah ini :

              Keterangan : id_distributor sebagai PRIMARY KEY
    • Sisipkan data pada field tabel untuk menjadi bahan ujicoba saat penampilan data. Caranya klik "insert" pada menu bar lalu isikan data dan jangan lupa klik "go"






















    • Setelah proses di database. Kita lanjut ke NetBeans, dan buat project Baru. Dengan contoh seperti di bawah ini : 




      • Lalu Anda buat satu package Caranya klik kanan pada Source Packages ->New->Java Package...



      • Setelah itu buat package untuk sebuah koneksi dengan nama koneksi.
      • Dalam package tersebut buat java.class dengan nama Koneksi. Ikuti langkah-langkah berikut : dengan cara klik kanan pada package koneksi lalu pilih tools Java Class.


      • Maka akan tampil seperti di bawah ini


      • Setelah anda memasuki halaman form java.class tersebut anda pilih tools "source" pada bagian atas form, disamping tools "design".
      • Masukkan source code dibawah ini agar form java.class koneksi anda berjalan.
      package koneksi;
      import java.sql.Connection;
      import java.sql.DriverManager;
      import java.sql.ResultSet;
      import java.sql.SQLException;
      import java.sql.Statement;
      import java.util.logging.Level;
      import java.util.logging.Logger;
      /**
       *
       * @author nengjebret
       */
      public class Koneksi {
          
          public static Connection setKoneksi() {
          String konString = "jdbc:mysql://localhost:3306/penjualanbuku";
          Connection koneksi = null;
          try{
              Class.forName("com.mysql.jdbc.Driver");
              koneksi = (Connection) DriverManager.getConnection(konString,"root","");
              System.out.println("Koneksi Berhasil");
          } catch (ClassNotFoundException | SQLException ex){
              Logger.getLogger(Koneksi.class.getName()).log(Level.SEVERE, null, ex);
              System.out.println("Koneksi Gagal");
          }
          return koneksi;
      }
      
      public static int execute(String SQL) {
          int status = 0;
          Connection koneksi = setKoneksi();
          try {
              Statement st = koneksi.createStatement();
              status = st.executeUpdate(SQL);
          } catch (SQLException ex) {
              Logger.getLogger(Koneksi.class.getName()).log(Level.SEVERE, null, ex);
          }
          return status;
      }
      
      public static ResultSet executeQuery(String SQL) {
          ResultSet rs = null;
          Connection koneksi = setKoneksi();
          try {
              Statement st = koneksi.createStatement();
              rs = st.executeQuery(SQL);
          } catch (SQLException ex) {
              Logger.getLogger(Koneksi.class.getName()).log(Level.SEVERE, null, ex);
          }
          return rs;
      }
      
      }
      • Selanjutnya anda membuat package baru dengan nama Master, caranya sama seperti saat anda membuat package koneksi diatas. 
      • Bila telah tercipta package tersebut lalu anda klik kanan pilih "New" lalu "JFrame Form" beri nama "ListDistributor" lalu klik Finish dan anda masuk pada tools DESIGN


      Ket:
      1. Tulisan DAFTAR LIST DISTRIBUTOR diambil dari Palette Label 
      2. Tambahkan ScrollPane pada Palette untuk menampung design tabel.
      3. Tambahkan Table dari Palette untuk menampilkan data dari tabel di database dan ubah variable name table tersebut dengan cara klik kanan pada Table->Change Variable Name. Tuliskan nama variable table yang baru seperti contoh tbldistributor.
      4. Tulisan Action  diambil dari Palette Label.
      5. Baru, Ubah, Hapus, Refresh, Keluar adalah Button yang di ambil dari Palette dan ubah variable name table tersebut dengan cara klik kanan pada->Change Variable Name. Tuliskan nama variable table yang baru seperti contoh btnbaru, btnubah, btnhapus, btnrefresh, dan btnkeluar.
      • Apabila DESIGN telah selesai, silahkan anda lanjutkan dengan memasukan source code dibawah ini, pilih terlebih dahulu tools SOURCE
      package Master;
      
      
      
      import koneksi.Koneksi;
      
      import java.sql.ResultSet;
      
      import java.sql.SQLException;
      
      import java.util.logging.Level;
      
      import java.util.logging.Logger;
      
      import javax.swing.JOptionPane;
      
      import javax.swing.table.DefaultTableModel;
      
      
      
      /**
      
       *
      
       * @author nengjebret
      
       */
      
      public class distributor extends javax.swing.JFrame {
      
      
      
          /** Creates new form distributor */
      
          public distributor() {
      
              initComponents();
      
              this.setLocationRelativeTo(this);
      
            
      
          }
      
      • Source code untuk menampilkan data
      public void selectData() {
          String kolom[] = {"ID Distributor","Nama Distributor","Alamat","Telepon"};
          DefaultTableModel dtm = new DefaultTableModel(null, kolom);
          String SQL = "SELECT id_distributor, nama_distributor, alamat, telepon FROM distributor";
          ResultSet rs = Koneksi.executeQuery(SQL);
          try {
              while(rs.next()) {
                  String ID  = rs.getString(1);
                  String Nama = rs.getString(2);
                  String Alamat = rs.getString(3);
                  String Telepon = rs.getString(4);
                  String data[] = {ID,Nama,Alamat,Telepon};
                  dtm.addRow(data);
              }
          } catch (SQLException ex) {
              Logger.getLogger(distributor.class.getName()).log(Level.SEVERE, null, ex);
          }
          tbldistributor.setModel(dtm);
          }
      
          
      • Source code untuk mencari data
      public void cari(){
      
          DefaultTableModel table = new DefaultTableModel();
      
          table.addColumn("ID Distributor");
      
          table.addColumn("Nama Distibutor");
      
          table.addColumn("Alamat");
      
          table.addColumn("Telepon");
      
          String keyword = txtcari.getText();
      
              try{
      
                  String SQL = "SELECT id_distributor, nama_distributor, alamat, telepon from distributor where "+" id_distributor like '%"+keyword+"%' or nama_distributor like '%"+keyword+"%' or alamat like '%"+keyword+"%' or telepon like '%"+keyword+"%'";
      
              ResultSet rs = Koneksi.executeQuery(SQL);
      
              while(rs.next()){
      
              table.addRow(new Object[] {
      
                  rs.getString("id_distributor"),
      
                  rs.getString("nama_distributor"),
      
                  rs.getString("Alamat"),
      
                  rs.getString("Telepon")
      
              });
      
          }
      
              }catch(Exception e){
      
              System.out.println();
      
             }
      
              tbldistributor.setModel(table);
      
          }
      
      • Source code untuk mengubah data
       
      private void Ubah(){
              try {
              int i = tbldistributor.getSelectedRow();
              String id = tbldistributor.getValueAt(i, 0).toString();
              String nama = tbldistributor.getValueAt(i, 1).toString();
              String alamat = tbldistributor.getValueAt(i, 2).toString();
              String telepon = tbldistributor.getValueAt(i, 3).toString();
              inputdistributor dist = new inputdistributor();
              dist.setIdDistributor(id);
              dist.setNamaDistributor(nama);
              dist.setAlamatDistributor(alamat);
              dist.setTeleponDistributor(telepon);
              dist.setUpdate(true);
              dist.setVisible(true);
              } catch (Exception e) {
             JOptionPane.showMessageDialog(rootPane, "Pilihdata","Informasi",JOptionPane.INFORMATION_MESSAGE);
              }
                  
          }
      

      • Source code untuk menghapus data
       
      private void hapus(){
              try {
                  int i = tbldistributor.getSelectedRow();
                  String ID = tbldistributor.getValueAt(i, 0).toString();
                  if (JOptionPane.showConfirmDialog(rootPane,"Anda Yakin Akan Menghapus\nData "+ID, "Informasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE) ==JOptionPane.OK_OPTION) {
                  String query = "DELETE FROM distributor WHERE id_distributor= '"+ID+"'";
                  int a = Koneksi.execute(query);
                  if (a>0) {
                      JOptionPane.showMessageDialog(this, "Data Berhasil Dihapus!", "Sukses",                     JOptionPane.INFORMATION_MESSAGE);
                  } else {
                      JOptionPane.showMessageDialog(this, "Data Gagal Dihapus!", "Gagal", JOptionPane.WARNING_MESSAGE);
                  }
                }
              } catch (Exception e){
                  JOptionPane.showMessageDialog(this, "Pilih Baris Data Terlebih Dahulu", "Error", JOptionPane.WARNING_MESSAGE);
              }
           }
      
      • Source code untuk button Baru, caranya double klik button nya. lalu secara otomatis kita akan di minta memasukan souce code ke dalamnya. di bawah ini adalah souce codenya.
       new inputdistributor().setVisible(true); 

      • Seperti cara yang pertama, double klik pada button Ubah dan masukan code di bawah ini.
      Ubah(); //Memanggil method ubah

      • double klik button Hapus dan masukan code di bawah ini.
      Hapus(); //Memanggil method hapus

      • double klik button Refresh dan masukan code di bawah ini.
      selecetData(); //Memanggil method selectData

      • double klik button keluar lalu masukan kode di bawah ini.
      if(JOptionPane.showConfirmDialog(rootPane, "Anda akan keluar dari daftar distributor ?",
                      "Informasi", JOptionPane.CANCEL_OPTION,
                      JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)this.dispose();
      
      • untuk menjalankan method cari, silahkan anda klik kanan texfield cari dengan variable name txtcari lalu pilih event->Key->KeyReleased. Dan masukan method di bawah ini.
      cari(); //untuk memanggil method cari



      CARA MENGINPUT DATA 

      • Pertama kalian buat sebuah form baru dengan menggunakan cara seperti saat anda membuat form list distributor.
      • Dari package master tersebut lalu anda klik kanan pilih "New" lalu "JFrame Form" beri nama "inputDistributor" lalu klik Finish dan anda masuk pada tools DESIGN

      Ket:
      1. Tulisan INPUT DATA DISTRIBUTOR diambil dari Palette Label 
      2. Tulisan ID Distributor, Nama Distributor, Alamat, Telepon  diambil dari Palette Label.
      3. Tambahkan textfield untuk menginputkan data ID Distributor, Nama Distributor, Alamat dan Telepon dan ubah variable name textfield tersebut dengan cara klik kanan pada textfield->Change Variable Name. Tuliskan nama variable textfield yang baru seperti contoh txtiddistributor, txtnamadistributor, txtalamat, txttelepon
      4. Simpan, Keluar adalah Button yang di ambil dari Palette dan ubah variable name table tersebut dengan cara klik kanan pada->Change Variable Name. Tuliskan nama variable table yang baru seperti btnsimpan dan btnkeluar.
      • Apabila DESIGN telah selesai, silahkan anda lanjutkan dengan memasukan source code dibawah ini, pilih terlebih dahulu tools SOURCE

      package mnuMaster;
      
      import koneksi.Koneksi;
      import javax.swing.JOptionPane;
      
      /**
       *
       * @author nengjebret
       */
      public class inputdistributor extends javax.swing.JFrame {
      
          /** Creates new form inputbuku */
          
          private String idDistributor;
          private String namaDistributor;
          private String alamatDistributor;
          private String teleponDistributor;
          private boolean update = false;
          
          public inputdistributor() {
              initComponents();
              this.setLocationRelativeTo(this);
          }
      
      • Source code untuk menyimpan data
      private void simpan(){
      
            if ("".equals(txtiddistributor.getText()) || "".equals(txtnamadistributor.getText()) || "".equals(txtalamat.getText()) || "".equals(txttelepon.getText())) {
                  JOptionPane.showMessageDialog(this, "Harap Lengkapi Data", "Error", JOptionPane.WARNING_MESSAGE);
              } else {
                  try{
                      String ID = txtiddistributor.getText();
                      String Nama = txtnamadistributor.getText();
                      String Alamat = txtalamat.getText();
                      String Telepon = txttelepon.getText();
                      String SQL = "insert into distributor(id_distributor,nama_distributor,alamat,telepon)"
                              + "VALUES ('"+ID+"','"+Nama+"','"+Alamat+"','"+Telepon+"')";
                      int i = Koneksi.execute(SQL);
                      if (i>0) {
                     JOptionPane.showMessageDialog(rootPane, "Data Berhasil Ditambahkan", "Sukses", JOptionPane.INFORMATION_MESSAGE);
                 } else {
                     JOptionPane.showMessageDialog(rootPane, "Data Gagal Ditambahkan", "Sukses", JOptionPane.WARNING_MESSAGE);
                 }
              } catch (Exception e){
                 JOptionPane.showMessageDialog(rootPane, "Kesalahan Dalam Menyimpan Data");
              }  
            }
          }
      
      • Source Code untuk membatalkan input data
      this.dispose();
      • Source Code untuk mengupdate data
      private void UpdateData(){
              String ID = txtiddistributor.getText();
              String Nama = txtnamadistributor.getText();
              String Alamat = txtalamat.getText();
              String Telepon = txttelepon.getText();
              String SQL = "update distributor set id_distributor = '"+ ID +"', nama_distributor = '"+ Nama +"', alamat = '"+Alamat+"',"
                      + "telepon  = '"+ Telepon +"' where id_distributor = '"+ this.getIdDistributor() +"'";
              int i = Koneksi.execute(SQL);
               if (i>0) {
                     JOptionPane.showMessageDialog(rootPane, "Data Berhasil Diubah", "Sukses", JOptionPane.INFORMATION_MESSAGE);
                 } else {
                     JOptionPane.showMessageDialog(rootPane, "Data Gagal Diubah", "Gagal", JOptionPane.WARNING_MESSAGE);
                 }
            }
          
      
              private void pushData(){
              txtiddistributor.setText(this.getIdDistributor());
              txtnamadistributor.setText(this.getNamaDistributor());
              txtalamat.setText(this.getAlamatDistributor());
              txttelepon.setText(this.getTeleponDistributor());
          }
      
      • Saat anda akan menjalankan button simpan, double klik pada button simpan dan masukkan source code berikut :

      if (isUpdate()==true){
      
                  UpdateData();
              } else {
                  simpan();
              }
      

    • Agar program berjalan silahkan ikuti langkah berikut :

      1. Klik kanan pada JFrame di tools Navigator saat anda masuk ke DESIGN
      2. Pilih Events
      3. Pilih Window
      4. Klik windowOpened[formWindowOpened] 
      • Dan masukkan source code nya :
      if (update == true){
      
                  pushData();
                  btnsimpan.setText("Ubah");
              } else {
                  btnsimpan.setText("Simpan");
              }