May 2014 - Ogat Dezaign

IT Maintenance, Software n' Web Developer

Boxed(True/False)

Hot

Post Top Ad

Friday, May 30, 2014

Membuat Login Multi User pada Java

May 30, 2014 19
Hello... ,
Kembali lagi sobat blogger saya mau lanjut share tutorial java seperti sebelum2nya. Nah pada kali ini saya mau ngeshare gimana cara membuat login multiuser. Oke pada contoh login multiuser disini saya akan bagi level user yang bisa akses aplikasi menjadi 3 level (Administrator, User 1, User 2).
Sebelumnya silakan sobat buat dahulu tabel nya kasih nama "pos_user"


Well..... ini list step2nya ;
1. Buatlah form login menggunakan JFrame dan kasih nama frLogin.
    Komponen yang saya pakai ; JLabel, JTextField, JPasswordField, JPanel, JButton.

2. Buatlah form menu menggunakan JFrame dan kasih nama frMenu.
    Komponen yang saya pakai listnya kayak di bawah ini ;


3. Nah, . . mulae ke tahap coding nya, silakan masuk ke source frLogin dan ketikkan source code
    kayak di bawah ini.
   
    public class frLogin extends javax.swing.JFrame {
    String user;
    private Dimension dmn = Toolkit.getDefaultToolkit().getScreenSize();
    public frLogin() {
        initComponents();
        //kodeLogin = login;
      
        this.setLocation(dmn.width/2-this.getWidth()/2,dmn.height/2-this.getHeight()/2);
        this.setTitle("Login");
       
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
        dispose();
        this.setVisible(false);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        System.exit(0);
    }                                       

    private void BtnMasukActionPerformed(java.awt.event.ActionEvent evt) {                                        
        aksi_login();
       
}                                       

    private void BtnMasukKeyPressed(java.awt.event.KeyEvent evt) {                                   
        aksi_login();
    }


   //Seperti biasa buat method untuk lebih mudah dalam eksekusi event
   private void aksi_login(){
        try{
            String akses = "";
            Connection _Cnn;
            sysKoneksi getCnn = new sysKoneksi();
            _Cnn = null;
            _Cnn = getCnn.getConnection();
            String sql = "  SELECT id_user,pass,lev_akses " +
                    "       FROM pos_user " +
                    "       WHERE id_user='"+TxtUser.getText().replaceAll("'", "")+"' " +
                    "           AND pass = '"+TxtPassword.getText().replaceAll("'", "")+"'";
            Statement stat = _Cnn.createStatement();
            ResultSet res = stat.executeQuery(sql);
            while(res.next()){
                user = res.getString(3);
                akses = "-";
                this.setVisible(false);
                frMenu x = new frMenu(user);
                x.setVisible(true);
               
            }
            if(akses.equals("")){
                JOptionPane.showMessageDialog(this, "Periksa Kembali");
            }
        }catch(Exception ex){}
    }
   
   

4. Masuk ke source form frMenu dan ketikkan source code kayak di bawah ini.

    public class frMenu extends javax.swing.JFrame {
    Connection _Cnn;
    sysKoneksi getCnn = new sysKoneksi();
    String _User;
    private Dimension dimensi = Toolkit.getDefaultToolkit().getScreenSize();
    public frMenu(String userlogin) {
        initComponents();
        //_User = userlogin;
      
        this.setExtendedState(this.getExtendedState() | this.MAXIMIZED_BOTH);
        switch (userlogin) {
            case "Administrator":
                loginAdmin();
                break;
            case "User 1":
                loginUser1();
                break;
            case "User 2":
                loginUser2();
                break;
        }
    }

    public void loginAdmin(){
        mnSis2.setEnabled(true);
        mnSis4.setEnabled(true);
        mnMaster1.setEnabled(true);
       
        mnPersonal1.setEnabled(true);
        mnPersonal2.setEnabled(true);
       
        mnTransaksi1.setEnabled(true);
       
        mnReport1.setEnabled(true);
        mnReport3.setEnabled(true);
       
    }
   
    public void loginUser1(){
        mnSis2.setEnabled(false);
        mnSis4.setEnabled(true);
        mnMaster1.setEnabled(false);
        Menu1.setVisible(true);
        Menu2.setVisible(false);
        Menu3.setVisible(false);
        Menu4.setVisible(true);
        Menu5.setVisible(false);
       
    }
   
    public void loginUser2(){
        mnSis2.setEnabled(false);
        mnSis4.setEnabled(false);
        mnMaster1.setEnabled(false);
        Menu1.setVisible(true);
        Menu2.setVisible(false);
        Menu3.setVisible(false);
        Menu4.setVisible(false);
        Menu5.setVisible(true);
       
    }

5. Well.... coba deh di Run File
     Tampilan Administrator ;




    Tampilan User 1;
   


     Tampilan User 2;





Well..... selamat mencoba   :)
Untuk contoh aplikasi+source code nya bisa di download disini

   
Read More

Thursday, May 22, 2014

Cara Insert, Update, dan Delete pada Java dengan MySQL

May 22, 2014 2
Pagi Sobat Bloger . . . !
( Ceritanya lagi jadi Panitia Ujian, sambil nunggu waktu selesai blogging aja ya? hehe ).

Well, .  Oke langsung saja pada kesempatan kali ini saya mau share bagaimana si caranya menyimpan, mengubah, dan menghapus data di tabel yang sudah tekoneksi dengan database pada aplikasi bahasa pemrograman Java dengan editornya NetBeans.
Owh ya, tutorial ini menyambung dari tutorial sebelumnya ya tentang gimana cara nampilin data pada jtable. Untuk sobat yang belum lihat tutorial sebelumnya silakan klik disini.

Nah kalo udah ... langsung aja kita ke list stepnya ;
1. Tuliskan coding di bawah Class frProfil extends seperti ini
  
   public class frProfil extends javax.swing.JFrame {

    private Dimension dimensi = Toolkit.getDefaultToolkit().getScreenSize();
    private DefaultTableModel _tabel;
    Connection _Cnn;
    sysKoneksi getCnn = new sysKoneksi();
    String _User;
   
    // Deklarasi Komponen = Sesuaikan dengan nama field pada tabel database
    String id_profil, nama, owner, tgl_pendirian, alamat, no_telp, email, website;

2. Kemudian buatlah beberapa method seperti di bawah ini. Letakkan di bawah // End of variables
    declaration atau paling bawah.

    private void form_awal(){
        form_disable();
        form_clear();
        LoadData();
        btSimpan.setText("Simpan");
        btTambah.requestFocus(true);
        btTambah.setEnabled(true);
        btSimpan.setEnabled(false);
        btBatal.setEnabled(false);
        btHapus.setEnabled(false);
    }
   
    private void form_clear(){
        tID.setText("");
        tNama.setText("");
        tOwner.setText("");
        tAlamat.setText("");
        tNoTelp.setText("");
        tEmail.setText("");
        tWebsite.setText("");
    }
   
    private void form_disable(){
        tID.setEnabled(false);
        tNama.setEnabled(false);
        tOwner.setEnabled(false);
        dtTglBerdiri.setEnabled(false);
        tAlamat.setEnabled(false);
        tNoTelp.setEnabled(false);
        tEmail.setEnabled(false);
        tWebsite.setEnabled(false);
    }
   
    private void form_enable(){
        tID.setEnabled(true);
        tNama.setEnabled(true);
        tOwner.setEnabled(true);
        dtTglBerdiri.setEnabled(true);
        tAlamat.setEnabled(true);
        tNoTelp.setEnabled(true);
        tEmail.setEnabled(true);
        tWebsite.setEnabled(true);
    }
   
    private void aksi_tambah(){
        form_enable();
        btTambah.setEnabled(true);
        btSimpan.setEnabled(true);
        btBatal.setEnabled(true);
        btHapus.setEnabled(false);
        
        tID.requestFocus(true);
    }
   
    private void aksi_simpan(){
        id_profil = tID.getText();
        nama = tNama.getText();
        owner = tOwner.getText();
        SimpleDateFormat tanggal = new SimpleDateFormat("yyyy-MM-dd");
        String t = tanggal.format(dtTglBerdiri.getDate());
        tgl_pendirian = t;
        alamat = tAlamat.getText();
        no_telp = tNoTelp.getText();
        email = tEmail.getText();
        website = tWebsite.getText();
            try{
                _Cnn = null;
                _Cnn = getCnn.getConnection(); 
                String sqlinsert = "insert into pos_profil values ('"+id_profil+"','"+nama+"', "
                        + "'"+owner+"', '"+tgl_pendirian+"', '"+alamat+"', '"+no_telp+"', "
                        + "'"+email+"', '"+website+"')";
                Statement state = _Cnn.createStatement();
                state.executeUpdate(sqlinsert);
                form_awal();
                JOptionPane.showMessageDialog(null, "Data berhasil disimpan");
                }catch(SQLException e) {
                    JOptionPane.showConfirmDialog(null, "Ada kesalahan Input", "Informasi",      JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE);
                }
    }
   
    private void aksi_ubah(){
        id_profil = tID.getText();
        nama = tNama.getText();
        owner = tOwner.getText();
        SimpleDateFormat tanggal = new SimpleDateFormat("yyyy-MM-dd");
        String t = tanggal.format(dtTglBerdiri.getDate());
        tgl_pendirian = t;
        alamat = tAlamat.getText();
        no_telp = tNoTelp.getText();
        email = tEmail.getText();
        website = tWebsite.getText();
            try{
                _Cnn = null;
                _Cnn = getCnn.getConnection(); 
                String sqlupdate = "update pos_profil set id_profil = '"+id_profil+"', nama= '"+nama+"', "
                        + " owner = '"+owner+"', tgl_pendirian = '"+tgl_pendirian+"', alamat = '"+alamat+"', "
                        + "no_telp = '"+no_telp+"', email = '"+email+"', website = '"+website+"' "
                        + "where id_profil = '"+id_profil+"'";
                Statement state = _Cnn.createStatement();
                state.executeUpdate(sqlupdate);
                form_awal();
                JOptionPane.showMessageDialog(null, "Data berhasil diubah");
                }catch(SQLException e) {
                    JOptionPane.showConfirmDialog(null, "Ada kesalahan Input", "Informasi", JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE);
                }
    }
   
    private void aksi_hapus(){
            try{
                _Cnn = null;
                _Cnn = getCnn.getConnection(); 
                String sqldelete = "delete from pos_profil where id_profil = '"+tID.getText()+"'";
                Statement state = _Cnn.createStatement();
                state.executeUpdate(sqldelete);
                form_awal();
                JOptionPane.showMessageDialog(null, "Data berhasil dihapus");
                }catch(SQLException e) {
                    JOptionPane.showConfirmDialog(null, "Ada kesalahan Input", "Informasi", JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE);
                }
    }

3. Klik kanan pada JTable - Event - MouseClicked, terus tulis coding di bawah ini.




4. Kalo sudah tinggal double klik pada tiap button dan panggil method2 yuang sudah dibuat tadi.
 
  


4. Well.... silakan di Run File.
     Nah, jika tiap operasinya berhasil maka akan muncul beberapa dialog seperti ini.




Oke, . . Selamat mencoba    :)
     
   
Read More

Sunday, May 18, 2014

Menampilkan Data dari Database ke JTable

May 18, 2014 4
Selamat siang sobat bloger.... !
(nulis selamat siang, soalnya ini nulisnya pas istirahat jam kantor, hehe )

Ok, pada kali ini saya mau sedikit ngeshare bagaimana cara menampilkan data pada database ke sebuah tabel(JTable) yang ada pada NetBeans.
Well... langsung aja ya ini list stepnya :
1. Buat database, pada contoh kali ini saya gunain MySQL lewat Xampp.
    Nama database : db_osd
2. Buat sebuah tabel dengan nama : pos_profil
    Penampakannya kayak gini
   
3. Silakan buat form(JForm) dengan nama frProfil
    Penampakannya kayak gini
   
    Komponen form di atas yg saya pakai : JLabel, JTextField, Panel, JTable, n JXDatePicker

4. Kalo sudah, mulae deh ke coding nya. :)
    Taruh coding ini dibawah konstruktor
    
     private void LoadData(){
        String[] kolom = {"ID","Nama Perusahaan","Owner","Tgl Berdiri","Alamat","No. Telepon","Email","Website"};
        _tabel = new DefaultTableModel(null,kolom){
            Class[] types = new Class [] {
               java.lang.String.class,
               java.lang.String.class,
               java.lang.String.class,
               java.lang.String.class,
               java.lang.String.class,
               java.lang.String.class,
               java.lang.String.class,
               java.lang.String.class
            };
            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }
            // Agar table tidak bisa diedit
            public boolean isCellEditable(int row, int col) {
                int cola = _tabel.getColumnCount();
                return (col < cola) ? false : true;
            }
        };
        tbTabel.setModel(_tabel);
        try{
            _Cnn = null;
            sysKoneksi getCnn = new sysKoneksi();
            _Cnn = getCnn.getConnection();
            HapusTabel();
            String sql = "" +
                    "   SELECT * from pos_profil order by id_profil asc";
            Statement stat = _Cnn.createStatement();
            ResultSet res = stat.executeQuery(sql);
            while(res.next()){
                String id_profil = res.getString(1);
                String nama = res.getString(2);
                String owner = res.getString(3);
                Date tgl_pendirian = res.getDate(4);
                String alamat = res.getString(5);
                String no_telp = res.getString(6);
                String email = res.getString(7);
                String website = res.getString(8);
                Object[] data = {id_profil,nama,owner,tgl_pendirian,alamat,no_telp,email,website};
                _tabel.addRow(data);
            }
            tbTabel.getColumnModel().getColumn(0).setPreferredWidth(20);
            tbTabel.getColumnModel().getColumn(1).setPreferredWidth(100);
            tbTabel.getColumnModel().getColumn(2).setPreferredWidth(100);
            tbTabel.getColumnModel().getColumn(3).setPreferredWidth(50);
            tbTabel.getColumnModel().getColumn(4).setPreferredWidth(200);
            tbTabel.getColumnModel().getColumn(5).setPreferredWidth(50);
            tbTabel.getColumnModel().getColumn(6).setPreferredWidth(100);
            tbTabel.getColumnModel().getColumn(7).setPreferredWidth(100);
        } catch(Exception ex) {
            JOptionPane.showMessageDialog(this,"Error : " + ex);
        }
    }
    ActionListener actionListener;
    private javax.swing.Timer timer = new javax.swing.Timer(100, actionListener);
    private void Refresh(){
        try {
            ActionListener al = new ActionListener() {
                public void actionPerformed(ActionEvent ae) {
                    LoadData();
                    timer.stop();
                }
            };
            timer = new javax.swing.Timer(100, al);
            timer.start();
        } catch(Exception ex) {
        }
    }
   
    public void HapusTabel(){
        int row = _tabel.getRowCount();
        for (int i = 0;i < row;i++){
            _tabel.removeRow(0);
        }
    }


5. Panggil method LoadData di dalam konstruktor, kayak gini codingnya
    
    public frProfil() {
        initComponents();

        LoadData();

    }

6. Nahh... sebelum di Run File bisa dicek dulu pada import class nya (di bawah Package) sudah
    kayak gini belum.
 
    import java.awt.Dimension;
    import java.awt.Toolkit;
    import Class.sysKoneksi;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.Date;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import javax.swing.JOptionPane;
    import javax.swing.table.DefaultTableModel;

    N jangan lupa di bawah Class extends ketikan coding kyak gini.

    private DefaultTableModel _tabel;
    Connection _Cnn;

7. Well...... selesai deh, silakan di Run File n penampakannya kyak gini
   





Owh ya, . . kalo punya situ pada tabel masih kosong bearti belum ada datanya, silakan diisi dulu secara manual datanya pada database yg sudah dibuat. Untuk tutorial selanjutnya kita akan bahas operasi CRUD ( create, read, update, delete ) atau lazimnya cara menyimpan, menampilkan, mengubah, dan menghapus data.

Ok, . . semoga bermanfaat and Have a good try
:)

    
   
   

Read More

Monday, May 12, 2014

Koneksi Database pada NetBeans dengan MySQL

May 12, 2014 0
Hii sob, . .
Well, . gara-gara dibuat kesel ama kerjaan administrasi kantor pelampiasannya blogging lg deh, -_-. hehe. Ok, langsung aja y pada tutorial kali ini saya akan share bagaimana cara koneksi database pada NetBeans dengan MySQL.

Oke, . . langsung aja stepnya kayak gini.
1. Siapkan library yang berfungsi untuk menkoneksikan project aplikasi dengan database "mysql connectornya", bisa di download disini .
2. Silakan buat Class (.java) pada package Class dengan cara klik kanan terus pilih Java Class dan silakan kasih namanya sysKoneksi (namanya g harus sama punya saya y ......  :) ).
   
   Owh ya, .  bagi yang belum paham kenapa koq musti pada package Class, silakan cek tutorial saya   yg sebelumnya Manajemen Root Package NetBeans  .

3. Kalo udah mulaideh situ coding, n silakan tuliskan code kyak di bawah ini.
    
   
4. Nah... terakhir silakan tambahkan library tadi yang sudah di download.
    Caranya klik kanan pada package Libraries ( posisi di bawah ) terus pilih "add Jar/Folder..."
    dan pilih file library mysql connector yang di download tadi. Kalo sudah selesai begini 
    penampakannya.
   





Well, . . selesai deh.
Gimana, . . .  g ribet kan !
kalo udah biasa 1 menit jadi laaah....... hehehe

Ok, . Hav a try  :)
Read More

Friday, May 9, 2014

Manajemen Root Package NetBeans

May 09, 2014 2
Selamat malam sobat blogger !!
Oke, pada kesempatan kali ini saya mau share sedikit tips membuat manajemen root package dalam pembuatan aplikasi Java GUI dengan NetBeans.

Kenapa kita perlu me-manage package kita pada saat kita membuat aplikasi?
Jawabannya sederhana. Itu digunakan untuk mempermudah kita untuk meletakkan file-file kita nantinya sesuai dengan pengelompokannya masing-masing. Semisal package Form digunakan untuk meletakkan semua file yang berbentuk Form (JForm, JDialog, JPanel, etc), atau semisal package Img digunakan untuk meletakkan semua file bentuk/format gambar atau image.
Nah.... itulah kegunaanya manajemen root package. Hemmm......... sebenernya manajemen root package ini gak cuma di NetBeans aja. Semisal sobat pake bahasa pemrograman lain kayak Delphi, VB. Net, etc itu sama aja perlunya manajemen root package atau istilahnya aja yang beda yang mungkin lebih gampangnya manajemen folder/file.

Oke, langsung aja ya ! ane kasih liat penampakan manajemen root package salah satu project saya.  :)

1. Tampilan Root Package pada Source Package
     Berisi package Class, Form, Img, dan Report. Owh ya, untuk package berwana kuning itu tandanya 
     package tersebut mempunyai isi sedangkan yang berwarna abu-abu itu package tersebut masih kosong.
   

2. Tampilan Isi Package Form
    Bersisi form-form baik JFrame, JDialog, JPanel, etc


3. Tampilan Isi Package Class
     Bersisi file-file class java.

 

Nahh.... sedikit share dari ya.
Semoga bermanfaat !
:)


Read More

Sunday, May 4, 2014

Contoh Form Perhitungan Sederhana pada Java Editor NetBeans

May 04, 2014 9


Ok guys !! Selamat nongol di blog saya. Selamat membaca n’ selamat belajar tentunya J .
Langsung saja pada kesempatan kali ini saya akan sedikit share cara membuat perhitungan sederhana pada NetBeans.
Nah sebelum ke coding-shit tentunya masuk ke design dong. Well….. pada kali ini komponen yang saya gunakan listnya kayak di bawah ini :
1.       JFrame
2.       Label
3.       Panel
4.       JTextField
5.       JFormattedTextField
Ok, . . Cuma gitu doing g usah banyak2. Ehh iya, mungkin sedikit share buat yang belum tahu pada nomor 4 dan 5 kenapa ada JTextField dan JFormattedTextField. Sedikit gambaran ya, lazimnya JTextField itu digunakan untuk data bertipe karakter sedangkan JFormattedTextField digunakan untuk input data bertipe angka atau uang.
Yah intinya kayak gini. Kalo situ mau buat nge-input data seperti Nama, Tempat Lahir, Alamat, No. Telepon gunakan JTextField. Kalo mau buat nge-input data Jumlah, Discon, Harga gunakan JFormattedTextField. Untuk tahu bedanya silakan dipraktekin aja ya . . . J
Untuk step penulisan codingnya kayak gini ;
1.       Buat method / event atau apalah saya kurang paham teorinya di bawah konstruktor.
      public frHitung_SKS() {
        initComponents();
    }

    private void Hitung(){
       double jmlsks, biayapersks, total; // 1
      
       jmlsks = Double.parseDouble(tJmlSks.getText()); // 2
      
       if (rbPagi.isSelected()){ // 3
           biayapersks = 85000;
       }else{
           biayapersks = 90000;
       }
       tBiayaPerSks.setValue(biayapersks); // 4
      
       total = jmlsks * biayapersks; // 5
       tTotal.setValue(total); // 6
      
      
    }

2.       Klik 2 kali pada masing-masing radio button dan tuliskan codenya kayak gini.
       private void rbPagiActionPerformed(java.awt.event.ActionEvent evt) {
        Hitung();
    }                                     

    private void rbMalamActionPerformed(java.awt.event.ActionEvent evt) {                                       
        Hitung();
    }
3.   Well.... Done then Run File  :)
     


Read More

Post Top Ad