Saturday, January 12, 2019

Belajar Java dengan Netbean - 10 ( menampilkan data di JList )

Pada tahan pelajaran ke - 10, kita akan belajar menampilkan data field  pada JList

buat tampilan seperti dibawah :


disini kita akan menampilkan data nama barang pada JList dengan menggunakan JButton Event 

Code : 
     Connection p_connect;
     Statement st; 
     ResultSet rs; 

       private void btnlistActionPerformed(java.awt.event.ActionEvent evt) {                                        
        p_tampil();
    }                                       

    
    private void p_tampil(){
        DefaultListModel lstmodel = new DefaultListModel<>();

        
        String sql = "select * from barang";
            
        try{
            Class.forName("org.sqlite.JDBC");
            String url = "jdbc:sqlite:d://tokoku.db";
            p_connect = DriverManager.getConnection(url);
            st = p_connect.createStatement();

            rs = st.executeQuery(sql);
           
            while(rs.next()){
                lstmodel.addElement(rs.getString(2).toString());
            }
            
            
            rs.close();
            st.close();
            p_connect.close();
            
            lstbarang.setModel(lstmodel);
        }catch(Exception e)  {
        }
        
    }

hasil :

Belajar Java dengan Netbean - 9 ( menampilkan data di JCombobox)

Pada tahan pelajaran ke - 9, kita akan belajar menampilkan data field  pada JComboBox 

buat tampilan seperti dibawah :

disini kita akan menampilkan data nama barang pada JComboBox dengan menggunakan JButton Event 

Code : 
    Connection p_connect;
    Statement st; 

    ResultSet rs; 


private void btnlistActionPerformed(java.awt.event.ActionEvent evt) {                                        
        p_tampil();
    }                                       

    
    private void p_tampil(){
        cbobarang.removeAllItems();
        String sql = "select * from barang";
            
        try{
            Class.forName("org.sqlite.JDBC");
            String url = "jdbc:sqlite:d://tokoku.db";
            p_connect = DriverManager.getConnection(url);
            st = p_connect.createStatement();

            rs = st.executeQuery(sql);
           
            while(rs.next()){
                cbobarang.addItem(rs.getString(2).toString());
            }
            
            
            rs.close();
            st.close();
            p_connect.close();
            
            
        }catch(Exception e)  {
        }
        

    }

hasil :

Belajar Java dengan Netbean - 8 (Select data, Edit, dan Delete )

Pada tahan pelajaran ke - 8, kita akan belajar menampilkan data dari database Sqllite, Edit dan delete.

Buat tampilan seperti dibawah ini :



Code : ( tambahkan event masing - masing componen dan class )
    Connection p_connect;
    Statement st; 
    ResultSet rs; 
    DefaultTableModel  model = new DefaultTableModel();
  
     private void btneditActionPerformed(java.awt.event.ActionEvent evt) {                                        
        p_update();
    }                                       

    private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
        p_bersihkanText();
        p_tampil();
    }                                 

    private void txtkodeKeyTyped(java.awt.event.KeyEvent evt) {                                 
        char c = evt.getKeyChar();
        
        if (txtkode.getText().length() >= 10){
            evt.consume();
        }
        if (c == KeyEvent.VK_ENTER){
           txtnama.nextFocus();
       }
    }                                

    private void txtnamaKeyTyped(java.awt.event.KeyEvent evt) {                                 
        char c = evt.getKeyChar();
        
        if (txtnama.getText().length() >= 150){
            evt.consume();
        }
        if (c == KeyEvent.VK_ENTER){
           txtqty.nextFocus();
       }
    }                                

    private void txtqtyKeyTyped(java.awt.event.KeyEvent evt) {                                
        char c = evt.getKeyChar();
        
        if (txtkode.getText().length() >= 10 || !Character.isDigit(evt.getKeyChar())){
            evt.consume();
        }
        
        if (c == KeyEvent.VK_ENTER){
           txtqty.nextFocus();
       }
    }                               

    private void btncancelActionPerformed(java.awt.event.ActionEvent evt) {                                          
        p_bersihkanText();
    }                                         

    private void btngetActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String kode;
        String nama;
        String qty;
        
        kode = tblbarang.getValueAt(tblbarang.getSelectedRow(), 0).toString();
        nama = tblbarang.getValueAt(tblbarang.getSelectedRow(), 1).toString();
        qty = tblbarang.getValueAt(tblbarang.getSelectedRow(), 2).toString();
        
        txtkode.setText(kode);
        txtnama.setText(nama);
        txtqty.setText(qty);
    }                                      

    private void btndeleteActionPerformed(java.awt.event.ActionEvent evt) {                                          
        p_delete();
    }                                         

    private void p_bersihkanText(){
        txtkode.setText("");
        txtnama.setText("");
        txtqty.setText("");
    }
    
    @SuppressWarnings({"UnusedAssignment", "RedundantStringToString"})
    private void p_update(){
        String pesan = "";
        String sqlinsert = "";
        String kode = "";
        String nama = "";
        int qty = 0;
        
        kode = txtkode.getText().toString();
        nama = txtnama.getText().toString();
        qty = Integer.parseInt(txtqty.getText().toString());
            
        try{

            Class.forName("org.sqlite.JDBC");
            String url = "jdbc:sqlite:d://tokoku.db";
            p_connect = DriverManager.getConnection(url);
            st = p_connect.createStatement();
            
            sqlinsert = "update barang set nama = '" + nama + "', qty = " + qty + " where kode = '" + kode + "'";
            
            st.execute(sqlinsert);
            st.close();
            p_connect.close();
            
            JOptionPane.showMessageDialog(rootPane, "data tersimpan");
            p_bersihkanText();
            
        }catch(Exception e)  {
            pesan = " gagal koneksi ke database ";
        }
        
        p_tampil();
    }
    
    private void p_delete(){
        int p_jawab = 0;
        
        p_jawab = JOptionPane.showConfirmDialog(rootPane, "Anda yakin ingin menghapus data ini", "Confirmation", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
        
        if ( p_jawab == 0){
            p_hapus();
        }
    }
    
    @SuppressWarnings("UnusedAssignment")
    private void p_hapus(){
        String sqldelete = "";        
        String kode = "";
        
        kode = tblbarang.getValueAt(tblbarang.getSelectedRow(), 0).toString();
            
        try{

            Class.forName("org.sqlite.JDBC");
            String url = "jdbc:sqlite:d://tokoku.db";
            p_connect = DriverManager.getConnection(url);
            st = p_connect.createStatement();
            
            sqldelete = "delete from barang where kode = '" + kode + "'";
            
            st.execute(sqldelete);
            st.close();
            p_connect.close();
//            
            JOptionPane.showMessageDialog(rootPane, "data terhapus");
            model.removeRow(tblbarang.getSelectedRow());

            
        }catch(Exception e)  {
        }
    }
    private void p_tampil(){
        String sql = "select * from barang";
        
            
        try{
            Class.forName("org.sqlite.JDBC");
            String url = "jdbc:sqlite:d://tokoku.db";
            p_connect = DriverManager.getConnection(url);
            st = p_connect.createStatement();

            rs = st.executeQuery(sql);
            ResultSetMetaData metaData = rs.getMetaData();

            
            // names of columns
            Vector columnNames = new Vector();
            int columnCount = metaData.getColumnCount();
            for (int column = 1; column <= columnCount; column++) {
                columnNames.add(metaData.getColumnName(column));
            }

            // data of the table
            Vector> data = new Vector>();
            while (rs.next()) {
                Vector vector = new Vector();
                for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
                    vector.add(rs.getObject(columnIndex));
                }
                data.add(vector);
            }

            model = new DefaultTableModel(data, columnNames);
        
            
            tblbarang.setModel(model);
            
//            tblbarang.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
            tblbarang.getColumnModel().getColumn(0).setPreferredWidth(100);
            tblbarang.getColumnModel().getColumn(1).setPreferredWidth(250);
            
            rs.close();
            st.close();
            p_connect.close();
            
            
        }catch(Exception e)  {
        }
        
    }

Hasil


untuk edit --> pilih barang nya , lalu klik Edit
  hasil setelah diubah

untuk melakukan penghapusan, pilih barang, lalu klik hapus
maka akan dihapus








Belajar Java dengan Netbean - 7 (Insert data )

Pada tahan pelajaran ke - 7, kita akan belajar menambahkan data ke database Sqllite dengan sintax insert.
pada tahap awal table : barang isinya kosong pada database 

pertama kita cek data dulu, supaya tahu nanti hasil dari program insert yang kita buat.

untuk awal data kosong

buka proyek netbean :
buat tampilan seperti ini :

dengan penamaan pada JTextfield :
kode : txtkode
nama : txtnama
qty    : txtqty
simpan : btnsimpan
cancel : btncancel ( ini berfungsi membersihkan data )

code :
    // tambahkan masing-masing Event pada kompnent

    private void btnsimpanActionPerformed(java.awt.event.ActionEvent evt) {                                                 p_simpan();
    }                                         


    private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
        p_bersihkanText();
    }                                 

    private void txtkodeKeyTyped(java.awt.event.KeyEvent evt) {                                 
        char c = evt.getKeyChar();
        
        if (txtkode.getText().length() >= 10){
            evt.consume();
        }
        if (c == KeyEvent.VK_ENTER){
           txtnama.nextFocus();
       }
    }                                

    private void txtnamaKeyTyped(java.awt.event.KeyEvent evt) {                                 
        char c = evt.getKeyChar();
        
        if (txtnama.getText().length() >= 150){
            evt.consume();
        }
        if (c == KeyEvent.VK_ENTER){
           txtqty.nextFocus();
       }
    }                                

    private void txtqtyKeyTyped(java.awt.event.KeyEvent evt) {                                
        char c = evt.getKeyChar();
        
        if (txtkode.getText().length() >= 10 || !Character.isDigit(evt.getKeyChar())){
            evt.consume();
        }
        
        if (c == KeyEvent.VK_ENTER){
           txtqty.nextFocus();
       }
    }                               

    private void btncancelActionPerformed(java.awt.event.ActionEvent evt) {                                          
        p_bersihkanText();
    }                                         

    private void p_bersihkanText(){
        txtkode.setText("");
        txtnama.setText("");
        txtqty.setText("");
    }
    
    @SuppressWarnings({"UnusedAssignment", "RedundantStringToString"})
    private void p_simpan(){
        String pesan = "";
        String sqlinsert = "";
        String kode = "";
        String nama = "";
        int qty = 0;
        
        kode = txtkode.getText().toString();
        nama = txtnama.getText().toString();
        qty = Integer.parseInt(txtqty.getText().toString());
            
        try{

            Class.forName("org.sqlite.JDBC");
            String url = "jdbc:sqlite:d://tokoku.db";
            p_connect = DriverManager.getConnection(url);
            st = p_connect.createStatement();
            
            sqlinsert = "insert into barang(kode, nama, qty) values ('" + kode + "', '" + nama + "', " + qty + ")";
            
            st.execute(sqlinsert);
            st.close();
            p_connect.close();
            
            JOptionPane.showMessageDialog(rootPane, "data tersimpan");
            p_bersihkanText();
            
        }catch(Exception e)  {
            pesan = " gagal koneksi ke database ";
        }
        
        lblConnect.setText(pesan);
    }


hasil program :


hasil data yang disimpan :







Belajar Java dengan Netbean - 6 ( Koneksi Database )

Pada tahan pelajaran ke - 6, kita akan belajar yang berkaitan dengan database.
Untuk tahap awal ada koneksi database

Sebelum memulai belajar koneksi database dengan java, ada baiknya mengenal database dulu secara singkat dan simple. pada kesempatan ini, saya menggunakan sqllite untuk pembelajarannya, yang mana nanti bisa disesuaikan dengan masing-masing database. untuk penggunaan pembuatan database, table, insert, delete, edit, dan select dipakai yang standard, sehingga semua database bisa menjalankan

untuk bisa membuat sqlite, gunakan tools SQLiteStudio baik yang portable maupun yang diinstall. silahkan download di internet, tinggal google search dengan key "SQLiteStudio", kalau yang install diinstalkan dulu, kalau yang portable, tinggal jalankan saja.

buka SQLiteStudio :
lalu kita buat database

pada tahap ini kita buat database baru dengan nama "tokoku.db", lalu klik ok
maka sekarang database sudah ada dengan nama tokoku
tahap selanjutnya ada kita buat table dengan nama : barang
    hasil table yang dibuat
 
    untuk tahap pembuatan database dan table cukup singkat, karena kita hanya mau mengakses database serta isi dari table, baik utk insert, update dan delete serta select, yang nanti akan digunakan untuk program java nya

Cara Koneksi database :
    untuk koneksi database mysql di perlukan Connector sesuai dengan database masing-masing
   yang nanti ditambahkan di library pada proyek yang dibuat

1. Koneksi database Mysql
          connecttor : mysql-connector-java-5.1.23-bin.jar

          code :
String url ="jdbc:mysql://localhost/tutorial";
  String user="root";
   String pass="";
     Class.forName("com.mysql.jdbc.Driver");
     con =DriverManager.getConnection(url,user,pass);
     stm = con.createStatement();


2. Koneksi database Sqlite
            connetor : sqlite-jdbc-3.7.2.jar

            code :
            Class.forName("org.sqlite.JDBC");
            String url = "jdbc:sqlite://" + p_ip + "//" + nama_database;
            p_connect = DriverManager.getConnection(url);
            st = p_connect.createStatement();

3. Koneksi database SQL Server
           connetor : sqljdbc4.jar

            code :
              String url = “jdbc: postgresql://localhost:5432/praktikumdbd”;
               Properties prop = new java.util.Properties(); // tidak mengimpor kelas prop.put(“user”,”NamaUser”);
               prop.put(“password”,”datapassword”);
               Connection koneksi = DriverManager.getConnection(url, prop);

4. Koneksi database Oracle
           connetor : ojdbc6.jar

            code :
            private static String driverName = "oracle.jdbc.driver.OracleDriver";  
            private static String jdbc = "jdbc:oracle:thin:";  
            private static String host = "@localhost:";  
            private static String port = "1521:";  
            private static String SID = "xe";   
            private static String database = "zTutorial";   
            private static String url = jdbc + host + port + SID;  
            private static String username = "HD_ZTUTORIAL";   
            private static String password = "admin";  
            Class.forName(driverName);  
            connect = DriverManager.getConnection(url, username, password); 


pada tahap belajar ini, kita hanya akan menggunakan Sqllite, kalau menggunakan database lain tinggal disesuaikan koneksi nya saja.

Pada kesempatan ini kita membuat program untuk konek ke database sqllite,
database : tokoku.db, ditaruh di D:
tambahkan connector sqllite, cara nya :


buat tampilan seperti dibawah ini :
code :


hasil






Memunculkan Simbol & Emoji Pada OS Mac

  Memunculkan Simbol & Emoji  1. Buka aplikasi Pages / Notes pada Macbook. 2. Klik pada Menubar Edit --> Pilih Emoji and Symbols a...