Friday, February 15, 2013

Membuat Privileges database di MySQL

Berikut langakh-langlah membuat privileges database di MySQL.


  • Pilih database yang akan ditambahkan privilegas :

























  • kemudian pilih menu privileges dan add new user :






















  •  akan tampil seperti dibawah ini, berikan user name, host dan password serta untuk Global privileges --> Check All


























  • Pilih "go"


Database "db_mahasiswa" telah berhasil kita berikan privileges. selamat mencoba.

Export database MySQL menggunakan Java

Berikut ini code untuk export database MySQL dengan menggunakan java.


 public static void backup(String db, String user, String pass, String path) {
        try {
          
            String executeCmd;

            executeCmd = "mysqldump -u " + user + " -p" + pass + " " + db + " -r " + path + "";

           
            Process runtimeProcess = Runtime.getRuntime().exec(executeCmd);
            int processComplete = runtimeProcess.waitFor();
            if (processComplete == 0) {

             
                JOptionPane.showMessageDialog(null, "Export berhasil");
            } else {
               
                JOptionPane.showMessageDialog(null, "Export gagal");

            }
        } catch (InterruptedException | IOException ex) {
            SplashLauncher.logger.log(Level.SEVERE,null, ex.getMessage());
        }
    }

cara pemanggilan method nya seperti ini, asumsi method yg kita buat ada di class Backup :


String path = "dump" + new SimpleDateFormat("dd-mm-yyyy").format(new Date()) + ".sql";
        
        Backup.backup("db_mahasiswa","adicodes", "1234", path);


ket : 

  • berikan privilages pada database. misalnya disini pada db_mahasiswa dengan nama user "adicodes" dan password "1234". lihat disini 
  • copy kan \xampp\mysql\bin\mysqldump.exe ke system32

file export yang dihasilkan :











Selamat mencoba.

Java : Swing Worker Example

Dari post sebelumnya, saya telah membahas secara singkat mengenai swing worker. Unutk post kali ini saya akan memberikan contoh sederhana implementasi dari swing worker.

Pertama kita buat GUI seperti dibawah ini. Nama frame nya yaitu SwingWorkerFrameExample  berikan nama variable untuk text area dengan nama textArea dan variable untuk button start yaitu start serta untuk button stop yaitu stop.





















Untuk memudahkan kita dalam melakukan pemanggilan objek dari frame diatas, kita tambahkan method seperti dibawah ini, caranya kita masuk ke source dari frame dan tuliskan code dibawah ini.


 private static SwingWorkerFrameExample swingWorkerFrameExample;
    
    public static SwingWorkerFrameExample getInstance(){
        if(swingWorkerFrameExample==null){
            swingWorkerFrameExample= new SwingWorkerFrameExample();
        }
        return swingWorkerFrameExample;
    }

    public JTextArea getTextArea() {
        return textArea;
 }
 

Selanjutna kita buat kelas, contoh kelasnya yaitu SwingWorkerExample yang mengextends ke kelas SwingWorker. codenya seperti dibawah ini.



import javax.swing.SwingWorker;

/**
 *
 * @author adi nuralim adinuralim@gmail.com
 * @since 20-Jan-2013
 */
public class SwingWorkerExample extends SwingWorker<Void, Void> {

    public static SwingWorkerExample swingWorkerExample;
    
    public static SwingWorkerExample getInstance(){
        if(swingWorkerExample==null){
            swingWorkerExample= new SwingWorkerExample();
        }
        return swingWorkerExample;
    }
    @Override
    protected Void doInBackground() throws Exception {
        //masukan statement.....
        
        while(true){
            //menampilkan string ke texarea dari frame
            SwingWorkerFrameExample.getInstance().getTextArea().append("adicodes.blogspot.com\n");
Thread.sleep(1000);
        }
    }

}



Jika kita telah membuat kelas tersebut, kelas itu akan melakukan overaide method doInBackground dari kelas SwingWorker. dimethod tersebut kita masukan statement yang akan dieksekusi dengan background thread. Untuk kasus sekarang, statement yang saya buat yaitu menampilkan "http://adicodes.blogspot.com/". artinya ketikan program dijalankan, maka akan tampil kelayar "http://adicodes.blogspot.com/"  terus menerus.

Kemudian kita berikan sebuah aksi untuk button start. button start ini berfungsi untuk menjalankan background  thread yang telah kita buat.

code programnya seperti dibawah ini.


private void startActionPerformed(java.awt.event.ActionEvent evt) {
//mengecek thread di cancel atau tidak
        if (SwingWorkerExample.getInstance().isCancelled()) {
       
            //isCanceled
            SwingWorkerExample swe = new SwingWorkerExample();
            SwingWorkerExample.swingWorkerExample=swe;
            swe.execute();
        } else {
            //false
            SwingWorkerExample.getInstance().execute();
        }
}


Setelah kita memberikan aksi untuk button start, sekarang kita berikan aksi juga untuk button stop. fungsinya untuk menghentikan background thread.


private void stopActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
   
            SwingWorkerExample.getInstance().cancel(true);
        
    }

Oke, sekarang kita coba running, maka hasilnya akan seperti berikut ini :




















  • struktur filenya :










Selamat mencoba, semoga bermanfaat.

Contoh Pembangunan Aplikasi dengan Menggunakan Hibernate : Bag 1

Studi Kasus :
Kita buat sebuah aplikasi  untuk mengelola data mahasiswa. Aplikasi ini harus dapat melakukan proses CRUD data mahasiswa yang ada pada database.


Kita buat sebuah project, disini saya buat dengan nama project "HibernateExample" dan struktur
package nya seperti digambar dibawah ini :













Kita bisa membuat nama project atau struktur file yang berbeda sesuai dengan keinginan. Nah sekarang saya akan menjelaskan fungsi dari package yang telah kita buat :
  • dao : dao disini merupakan package yang nantinya berisi class yang melakukan pengaksesan object.
  • gui : berisi tampilan untuk user.
  • pojo : class entity / model.
  • utils : berisi class bantuan .
Langkah - langkah pembangunan aplikasi :

  • Buat konfigurasi hibernate, dengan cara klik kanan di source package dan pilih new dan selanjutnya pilih "Hibernate Configuration Wizard".












  • Jika "Hibernate Configuration Wizard" tidak ditemuakan pilih menu other .























  • akan tampil seperti berikut. Pilih Categories "Hibernate" dan Filet Types "Hibernate Configuration Wizard".























  • Selanjutnya, kita pilih "Next".  Pada saat berada pada tab untuk memilih data source, kita tentukan data source sesuai dengan database yang telah kita buat. Jika belum ada maka kita buat koneksi database baru. Pilih  "New Database Connection".














  • tentukan driver yang akan digunakan , pilih "Next" :
























  • akan tampil seperti dibawah ini, isi database, username dan password seperti contoh. Kemudian test connection. jika berhasil pilih "Next" dan "Finish".


























  • struktur package kita sekarang seperti ini, dan berikut hibernate.cfg.xml yg telah kita buat :




























  • selanjutnya kita buat Reveng Wizard, dengan cara klik kanan dan new --> Hibernate Reverse Engineering Wizard








  • pilih "Next" dan tentukan tabel - table yang akan kita mapping dan terakhir pilih "Finish"


























  • akan tampil seperti dibawah ini :










Langkah berikutnya kita buat pojo yang kita tempatkan dalam package pojo. klik kanan di package pojo pilih new --> Hibernate Mapping Files and Pojos form Database




















  • pilih "finish"


























  • package pojo akan seperti dibawah ini :

















Pada tahap ini kita sudah selesai dalam membuat konfigurasi hibernate dan membuat pojo yang akan digunakan dalam aplikasi kita.












Thursday, February 14, 2013

Membuat Database di Netbeans

Untuk posting kali ini saya akan memberikan contoh sederhana membuat sebuah database di netbeans. 

Studi kasus :
Buat sebuah database untuk menampung data mahasiswa. data yang akan disimpan yaitu nrp dan nama dari mahasiswa tersebut. Database dibuat menggunakan MySql.


Langkah pertama, kita buat dulu database dengan nama mahasiswa dan setelah itu buat table mahasiswa dengan field  id int , nrp varchar(9) dan nama varchar(25). Berikut langkah-langkah pembuatan database :

  • masuk ke menu service .










  • klik kanan di "Database" dan pilih "Register MySQL Server"



















  • isi host name, port dan user name. sesuaikan dengan yang kita gunakan. disini saya menggunakan settingan default. kemudiak pilih  "OK"















  • selanjunya, koneksikan ke MySQL dengan cara klik kanan dan pilijh "Connect" maka akan tampil daftar database yang ada di MySQL.























  • Klik kanan di "MySQL Server", dan pilih menu "create database".









  • tuliskan nama database dan pilih "OK"














  • lakukan koneksi dari database "db_mahasiswa" dengan cara klik kanan kemudian pilih "connect".







  • Pada tahap ini kita sudah berhasil membuat database. sekarang kita buat sebuah tabel dengan nama tabel "mahasiswa" dan memiliki field id, nrp, dan nama.








  • tuliskan nama table dan tambahkan field dengan memilih button "add column".























  • tambahkan field id,nrp dan nama. berikan nama field,type data serta property untuk field sesuai dg ketentuan.


























Jika sudah selesai, pilih "OK". maka hasilnya akan seperti ini :














Pembuatan database dan table telah selesai. Selamat mencoba dan semoga bermanfaat.

Tuesday, February 12, 2013

Hibernate – ERROR LazyInitializationException

Bagi anda yang sering membangun aplikasi dengan menggunakan hibernate, mungkin error seperti ini sudah biasa anda jumpai. Ketika kita memetakan Objek dengan Object Relational di hibernate, kemungkinan besar terjadi error  ini sangat besar. karena, secara default jika kita ingin melakukan load data atau SELECT ke database, maka hibernate akan mengambil object tersebut tapi tidak dapat mengambil object yang ikut dipetakan dalam object tersebut. ini merupakan perilaku default dari hibernate yang bisa disebut dengan Lazy Initialization.

Pertanyaannya : Bagaimana cara kita mengatasi masalah ini ?

Salah satu cara mengatasi masalah ini yaitu kita menambahkan 'lazy="false"'. kita tambahkan code ini di xml dari pojo yang kita buat. tapi dengan catatat code tersebut hanya ditambahkan dibeberapa bagian yang memiliki keterkaitan object. misalnya ada hubungan 1 - N atau N - M.

Contoh nya bisa dilihat dibawah ini :








Pilih dan ubah seperti contoh dibawah ini :





















Clean and build project anda dan silahkan running. Semoga berhasil, terima kasih.


Konfigurasi hibernate

Sebenarnya konfigurasi hibernate bisa langsung otomatis dilakukan ketika kita menggenerate hibernate.cfg.xml. tapi itu merupakan konfigurasi default dari hibernate. Dari pengalaman yang saya dapat, jika kita menggunakan konfigurasi default tersebut, ada kemungkinan ketika aplikasi mulai kita build ke dalam bentuk "exe" akan ada beberapa kesalahan/bugs. diantaranya kita tidak dapat melakukan load data dari database.

berikut ini config tambahan untuk hibernate jika kita menemukan bugs sepeti diatas :


  • kita masuk ke desain config hibernate



  • kemudian pilih miscellaneous properties dan klik button add, seperti gambar dibawah ini :





  • langkah selanjutnya kita ubah property name menjadi "hibernate.query.factory_class" dan property value menjadi "org.hibernate.hql.classic.ClassicQueryTranslatorFactory", 




dan yang terakhir kita pilih ok, serta clean and build project yang telah dibuat. Konfigurasi hibernate telah selesai kita lakukan. Selamat mencoba dan semoga bermanfaat. terima kasih










Aplikasi Web Crawler Untuk Pengarsipan Konten Web

Berikut ini printscreen tampilan dari aplikasi web crawler : Gambar 1 Splashscreen Gambar 2  Halaman Utama Gambar 3  Pengat...