Selasa, 07 Desember 2010

Program Penjualan dengan Java dan MySQL (Bag.2)

Tulisan ini menyambung tulisan sebelumnya dengan judul yang sama. Kali ini adalah pembuatan form login. Ketika program pertama kali dijalankan maka form ini yang pertama kali akan tampil untuk validasi user siapa saja yang berhak mengakses program utama.

  • Buka Netbeans&project yang dulu sudah dibuat, tambahkan package dan beri nama 'gui'. Package ini untuk menampung class yang menampilkan GUI.
  • Tambahkan JDialog pada package GUI dan beri nama class tersebut dengan 'login', maka secara otomatis Netbeans akan me-generate sebuah JDialog. Rubah variabel name masing-masing komponen dan beri nama txtUser, txtPass, cmdOk, cmdCance, dan mess.

  • Buka bagian tab Source View ketik code di bawah ini:

package gui;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.sql.*;
import javax.swing.ImageIcon;
import javax.swing.UIManager;
import database.database;

/**
 * form login
 * @author Thuba
 */
public class login extends javax.swing.JDialog {
    database db=new database();
    private Statement stmt;
    private ResultSet rs;
    private String dataUser,dataPass;
    boolean pro=true;

    /** Creates new form login */
    public login(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        db.koneksiDBMS();
        initComponents();
        this.setLocationRelativeTo(this);
        AddListener();
    }

    //method AddListener pd objek
    private void AddListener(){
        txtUser.addKeyListener(new KeyAdapter(){
        public void keyPressed(KeyEvent e){
            txtUserkeyPressed(e);
        }
    });

        txtPass.addKeyListener(new KeyAdapter(){
        public void keyPressed(KeyEvent e){
            txtPasskeyPressed(e);
        }
    });
    }

    /**
     * method jika txtUser dienter
     * @param e
     */
    private void txtUserkeyPressed(KeyEvent e){
        int i=e.getKeyCode();
                if(i==10){
                    txtPass.requestFocus();
            }
     }

    /**
     * method jika txtPass dienter
     * @param e
     */
    private void txtPasskeyPressed(KeyEvent e){
        int i=e.getKeyCode();
                if(i==10){
                    cek();
            }
     }

@SuppressWarnings("static-access")
    //method cek u/validasi user,password dan ststus
    private void cek(){
        String user=txtUser.getText();
        String pass=txtPass.getText();
        String status="user";
        String status1="admin";
        try{
            String sql="select * from user";
            Statement ps=db.con.createStatement();
            rs=ps.executeQuery(sql);
            while(rs.next()){
                String u=rs.getString(1);
                //jika username=user di DB
                if(user.equals(u)){
                    String sql2="select * from user where user='"+u+"'";
                    ps=db.con.createStatement();
                    rs=ps.executeQuery(sql2);
                    while(rs.next()){
                        String pas=rs.getString(2);
                        String stat=rs.getString(3);
                        //jika password=password di DB dimana user=username yg diinput
                        if(pass.equals(pas)){
                            if(stat.equals("user")){
                            this.dispose();
                           JOptionPane.showMessageDialog(null,"Anda login sebagai user biasa");
                        } else if(stat.equals("admin")){
                            this.dispose();
                            JOptionPane.showMessageDialog(null, "Anda login sebagai Admin & berhak       mengakses semua program utama");
                            }
                   } else {
                        mess.setFont(new java.awt.Font("Courier New", 1, 11));
                        mess.setText("User or Password Invalid!");
                        mess.setForeground(new java.awt.Color(255, 51, 102));
                        txtUser.requestFocus();
                   }
                 }
              } else {
                    mess.setFont(new java.awt.Font("Courier New", 1, 11));
                    mess.setText("User or Password Invalid!");
                    mess.setForeground(new java.awt.Color(255, 51, 102));
                    txtUser.requestFocus();
                }
            }
        }catch(SQLException ex){}
    }


  • Klik kanan pada cmdOk-->event-->Action-->actionPerformed, ketikan method cek() yang sudah dibuat

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


  • Klik kanan pada cmdCancel-->event-->Action-->actionPerformed, ketikan method 'System.exit(0)'.

private void cmdCancelActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        System.exit(0);
    }

  • Klik kanan pada project-->Clean and Build, kemudian jalankan program dan login dengan user dan password sesuai yang ada di basis data 



Bersambung.........

    Sabtu, 04 Desember 2010

    Program Penjualan Dengan Java dan MySQL

    Setelah sekian lama gak nulis di blog, kali ini saya ingin menulis tentang Pemrograman Java yang khusus bagi pemula seperti saya sendiri. Tulisan ini akan mencoba mengetengahkan pembuatan program penjualan sederhana dengan Java. Langsung saja, uraian pembuatan program dengan IDE Netbeans dan basis data MySQL. Pastikan Java, Netbeans dan MySQL sudah diinstall dan konfigurasi dengan benar. Agar program Java yang kita buat dapat terkoneksi dengan MySQL, lakukan setting mysql-connector (cari dengan bantuan Prof. Google), setelah berhasil didownload, copy-paste file mysql-connector-xx-xx.jar (xx-xx adalah versi dari mysql-connector yang sudah anda download) ke dalam folder ext yang terdapat di folder Java yang sudah diinstall. Misalnya untuk Windows XP di C:\Program Files\Java\jre6\lib\ext
    Untuk Linux Ubuntu di $ home/jdk1.6.xx/jre/lib/ext (sesuaikan dengan tempat java diinstall di komputer anda.

    Sebelum ke langkah pembuatan program, kita buat dulu database di MySQL dengan nama Toko. Buat tabel user di database Toko dengan field seperti di bawah ini:
      CREATE TABLE `user` ( `user` varchar(20) NOT NULL, `password` varchar(20) NOT NULL,
      `stat` varchar(15) NOT NULL, PRIMARY KEY  (`user`))
    ;

    Kemudian isi tabel tersebut
      INSERT INTO `user` VALUES ('root', 'root', 'admin');
      INSERT INTO `user` VALUES ('thuba', 'p3g3linux', 'user');

    Tabel user di atas sebagai test validasi saat user pertama kali menjalankan program, yaitu login.

    Sekarang adalah langkah pembuatan programnya:
    • Buka Netbeans Anda, buat project baru dengan klik File-->New Project, beri nama project terserah Anda (penulis menamainya Penjualan) dan simpan di lokasi yang Anda kehendaki. Hilangkan centang di Create Main Class
    • Setelah project dibuat, klik kanan pada project -->New-->Java Package-->beri nama pada package 'database'. package ini untuk menampung class yang berhubungan dengan koneksi ke basis data.
    • Klik kanan pada package database-->New-->Java Class kemudian beri nama class dengan db. Maka akan terbentuk file dengan nama db.java. Ketikkan kode di bawah ini di dalam class db.
    package database;


    import java.sql.*;
    public class db {
    private String url = "jdbc:mysql:";
        private String jdbcDriver="com.mysql.jdbc.Driver";
        /**
         * nama database server
         */
        String servername="localhost";
        /**
         * nomor port database server
         */
        String port="3306";
        /**
         * nama database
         */
        String dbname="Toko";
        /**
         * username untuk login ke database (sesuaikan dengan root user di database anda)
         */
        String username = "root";
        /**
         * password untuk login ke database (sesuaikan dg root password di database anda)
         */
        String password = "root";
       /**
         * variabel koneksi
         */
        public Connection con=null;
       
        /**
         * loading jdbc driver
         * @return true jika loading driver berhasil
         *         dan false untuk sebaliknya
         */
        private boolean loadDriver(){
            try {
                Class.forName(jdbcDriver);
                return true;
            } catch (Exception e) {
                System.out.println
                        ("Gagal me-load JDBC/ODBC driver.");
                return false;
            }
        }
    public boolean koneksiDBMS (){
            loadDriver();
            try {
                Connection conn = DriverManager.getConnection
                      (url + "//" +servername +":"+port+ "/" +
                      dbname + "?user=" + username+ "&" +
                      "password=" + password);
                con=conn;
                return true;
            } catch (Exception e) {
                e.printStackTrace();
                return false;
            }
        }

    }
    Bersambung.......

    Senin, 22 November 2010

    Gagal upgrade Ubuntu 9.04 ke Ubuntu 9.10 Karmic Koala


    Salam ketemu lagi, kali ini saya ingin menulis pengalaman saya ketika menggunakan Ubuntu 9.04 Jaunty dan melakukan upgrade ke Ubuntu 9.10 Karnic Koala.
    Ceritanya begini:
    Saat saya upgrade ubuntu 9.04 ke ubuntu 9.10 Karmic Koala dengan cara online (dengan koneksi internet), setelah semua file berhasil didownload dan proses instalasi yang lumayan lama, tiba-tiba komputer mengalami mati atau restart sendiri. Setelah booting, kemudian tampil menu Grub dan saya memilih Ubuntu. nah, di sini masalah mulai muncul yaitu saya tidak bisa masuk ke X window, jadi saat proses loading terus menerus dan tidak bisa masuk ke tampilan login dan muncul pesan:

    One or more of the mounts listed in /etc/fstab cannot yet be mounted:
    (ESC for recovery shell)
    /:waiting for /dev/disk/by-uuid/1913bf63-c394-4b2e-8d1d-a9a2bb059af4
    /tmp:waiting for(null)
    swap:waiting for UUID=1e04a1af-dcbb-4a59-9738-b21fcd6326f2

    begitu saya tekan ESC bisa masuk terminal/console. Tapi saat saya jalankan "startx"  tetap tidak bisa masuk X Window. Disini sepertinya GDM mengalami masalah.


    Setelah cari-cari solusi lewat artikel-artikel di internet, akhirnya Ubuntu 9.10 Karmic Koala sembuh dari sakitnya dan membuat saya jatuh hati.

    Berikut langkah-langkah yang bisa Anda jalankan jika anda mengalami hal yang sama:

    Saat booting, jika masuk terminal/console (ESC to recovery shell):

    • ketik "blkid /dev/sdx" ('x' disini partisi tempat linux di install), jangan lupa catat UUID-nya (misal: UUID=xxxxxx...)
    • ketik "sudo mount -o rw,remount /dev/disk/by-uuid/xxxxx" (x disini UUID yg udah dicatet)
    • ketik "sudo update-grub"
    • ketik "sudo dpkg --configure -a"

    Jika berhasil dan tidak mengalami masalah, ikuti permintaan Ubuntu yang ditampilkan. Setelah selesai dan tidak mengalami masalah, lakukan reboot komputer.

    Semoga sedikit membantu buat Anda mengalami masalah seperti saya.


    Salam
    ---------------------------------------------------------

    Sabtu, 20 November 2010

    Windows XP Blue Screen

    Hai agan-agan semua, pernah mengalami kejadian yang namanya blue screen pada Windows XP kamu. Hal ini sangat menyebalkan ketika kita sedang asyik-asyik nonton film, buka-buka laman website, ngetik tugas-tugas kuliah dll. Kejadian ini sering saya alami ketika memakai OS Windows XP. Tampilan blue screen seperti di bawah ini:

    Berikut sedikit tips buat mengatasi masalah di atas:

    • Virus patut "dituduh" atas kejadian ini, lakukan scan dengan anti virus kepercayaan Anda.
    • Hal ini juga bisa dikarenakan ada hardware yang rusak, socket RAM, PCI, AGP, harddisk bad sector. Jika ada hardware yang baru diinstall coba lepas hardware tersebut, seperti external LAN card, soundcard, AGP.
    • Jika cara diatas belum mengatasi masalah, bisa juga karena driver hardware mengalami corrupt. Masuk ke safe mode saat masuk ke Windows dengan menekan F8 saat booting Windows, buang driver atau software2 yang ditengarai mengalami error atau corrupt, restart komputer.
    • Jika kedua hal di atas masih belum bisa mengatasi massalah, restart komputer, masuk settingan BIOS, cari menu External Chacing, rubah settingan menjadi Disable, jika hal ini tetap menyebabkan blue screen, setting ulang External Chacing menjadi Enable, ganti Internal Chacing menjadi Disable.
    • Jika semua cara diatas tidak menyelesaikan masalah, bisa ditempuh jalan yang paling mudah, yaitu install ulang Windows (Kalau anda masih senang budaya instal ulang) :->
    Demikian sedikit tips dari saya, mudah-mudahn membantu. Jika ada yang mau menambahkan kritik dan saran, silakan....


    Salam

    Sabtu, 13 November 2010

    Install paket Netbeans+Java di Ubuntu Lucid

    Berikut langkah instalalsi Netbeans+Java yang sudah di bundle dalam satu paket, sehingga tidak perlu lagi menginstall secara terpisah.

    • Klik 2x file (biiasanya berekstensi ".sh") yang sudah di download, atau melalui  terminal console dengan cara masuk ke folder tempat file yang sudah di download tadi, ketik:  sh xxxx-xxxx.sh (xxxx-xxx adalah nama file Anda)
    • Ikuti instruksi yang ditampilkan, tunggu sampai instalasi selesai
    • Setelah selesai kemudian adalah dengan setting path agar java dapat berjalan. Buka terminal consol ketik:  sudo gedit /etc/profile
    • Copas kode di bawah ini di baris paling akhir file
             RUMAH_JAVA=/home/tmpat_java_diinstall/jdk1.6.0_16
             export RUMAH_JAVA
             PATH=$RUMAH_JAVA/bin:$PATH
             export PATH
    • Copaskan juga kode di atas ke /etc/bash.bashrc
    • Tutup terminal console, kemudian buka lagi
    • Tes apakah setting path sudah benar dengan mengetikkan di console: java -version
    • Jika settingan sudah benar maka akan menampilkan versi java yang sudah diinstall.
    Semoga bermanfaat...