Modul Praktikum Hibernate

download Modul Praktikum Hibernate

of 28

Transcript of Modul Praktikum Hibernate

  • 7/28/2019 Modul Praktikum Hibernate

    1/28

    Di Ruang PraktikumPusat Belajar Ilmu Pengetahuan(Pusbelitahu)

    Oleh : Tadonny Vani/ 672009228FTI UKSW

  • 7/28/2019 Modul Praktikum Hibernate

    2/28

    Di dalam praktikum kali ini kita akan mempelajari tentang Hibernate, anggap sajakalian sudah belajar teori tentang ORM dan Hibernate. Saatnyalah sekarang kitaakan mengimplementasikan teori yang sudah kita dalam di kelas dosen.Dari pada panjang lebar langsung aja kita ke TKP.

    Alat-alat yang kita gunakan :1. Laptop/Komputer yang lumaian bagus untuk programming.2. NetBeans 7.2 (Bisa menggunakan versi yang lain atau Eclipse).3. MySQl (di sini saya menggunakan phpmyadmin yang ada di XAMPP).

    Pada praktikum kali ini, kita mencoba membuat sebuah aplikasi sederhanamenggunakan Hibernate dan MySQl dalam pemrograman Java, kita disini hanyamembuat sebuah Form dengan fasilitas CRUD (Create, Read, Update dan Delete).

    Sekarang hal pertama yang perlu kita lakukan adalah membuat database yang akan

    kita gunakan untuk aplikasi sederhana ini. Misalnya kita membuat databasePraktekHibernate, seperti gambar berikut ini :

    Setelah membuat database, sekarang kita membuat table Mahasiswa. TableMahasiswa ini memiliki kolom, yaitu NIM, Nama, Jurusan, Alamat.

  • 7/28/2019 Modul Praktikum Hibernate

    3/28

    Sekarang kita sudah mempunyai sebuah database dan table. Saatnya sekarang kitalanjutkan membuat project menggunakan NetBeans IDE 7.2.

    Sama seperti seblum-sebelumnya, membuat project dalam NetBeans IDE kita dapatmembuatnya menggunakan menu File=> New Project. Setelah itu kita pilih kategori

    Java dan pilih tipe project-nya Java Application.

    Klik Next saja untuk melanutkan pembuatan project

    Beri nama project dan jangan di ceklis checkbox Create Main Class. Karena kitatidak memerlukan dahulu sebuah Main Class. Setelah itu kita klik tombol Finish.

    Setelah membuat project tadi, saatnya kita membuat koneksi dari Hibernate keDatabase PraktekHibernate yang telah kita buat tadi atau kita konfirgurasiHibernate. Jadi pertama-tama yang kita lakukan adalah menambahkan Library drive

    MySQL dan Libray Hibernate JPA kedalam project Java yang telah kita buat tadi.

  • 7/28/2019 Modul Praktikum Hibernate

    4/28

    Caranya adalah klik kanan pada Libraries project yang telah kita buat tadi lalu pilihAdd Library.

    Setelah dialog Add Library keluar, pilih MySQL JDBC Driver lalu klik tombol Add

    Library untuk menambahkan MySQL Driver kedalam project yang sudah kita buat.Setelah menambahkan driver MySQL, sekarang kita tambahkan Library HibernateJPA. Caranya adalah klik kanan pada Libraries project yang telah kita buat tadi lalupilih Add Library.

    Setelah dialog Add Library keluar, pilih Hibernate JPA lalu klik tombol Add Libraryuntuk menambahkan Hibernate JPA kedalam project.

  • 7/28/2019 Modul Praktikum Hibernate

    5/28

    Setelah kita menambahkan Library Driver MySQL dan Hibernate JPA, sekarangsaatnya kita membuat kelas untuk konfirgurasi hibernate ke MySQL. Caranya klikkanan package lalu pilih New => Other

    Pilih kategori Hibernate dan File Types pilih Hibernate Configuration Wizard, setelahitu klik tombol Next untuk melanutkan-nya.

    Biarkan saja seperti itu, setelah itu klik tombol Next untuk melanjutkan-nya.

  • 7/28/2019 Modul Praktikum Hibernate

    6/28

    Setelah itu pilih comboBox yang ada di Database Connection, pilih dan klik NewDatabase Connection untuk melanjutkan-nya.

  • 7/28/2019 Modul Praktikum Hibernate

    7/28

    Setelah itu pilih ComboBox yang ada di Driver, pilih dan klik MySQL (Connector/jdriver). Setelah itu klik tombol Next untuk melanjutkannya.

  • 7/28/2019 Modul Praktikum Hibernate

    8/28

    Setelah itu dibagian Database di ganti dengan nama database yang sudah kita buattadi misalnya praktekhibernate setelah itu untuk bagian User Name dan passworddisesuikan dengan UserNama dan Password database kalian masing-masingmisalnya user name root password (kosong). Setelah itu kita klik TestConnection kalau connection-nya benar akan muncul informasi ConnectionSucceeded tetapi kalau salah akan muncul Cannot establish a connection to jdbc(artinya nama database-nya belum ada atau namanya salah). Setelah itu klik tombolFinish untuk melanjutkannya.

    klik tombol Finish saja untuk melanjutkannya.

  • 7/28/2019 Modul Praktikum Hibernate

    9/28

    Setelah kita menambahkan kelas konfigurasi hibernate, sekarang saatnya kita

    membuat kelas HibernateUtil. Caranya klik kanan package lalu pilih New => Other

  • 7/28/2019 Modul Praktikum Hibernate

    10/28

    Pilih kategori Hibernate dan File Types pilih HibernateUtil, setelah itu klik tombolNext untuk melanjutkan-nya.

    Beri nama project HibernateUtil, untuk nama package kita kasih nama tdv.Until.Setelah itu kita klik tombol Finish. Setelah itu kelas HibernateUtil ini tidak usah dirubah-rubah dibiarkan saja seperti itu.

    Setelah kita menambahkan kelas HibernateUtil, sekarang saatnya kita membuatHibernate mapping. Caranya klik kanan package lalu pilih New => Other

  • 7/28/2019 Modul Praktikum Hibernate

    11/28

    Pilih kategori Persistence dan File Types pilih Entity Classes from Database, setelahitu klik tombol Next untuk melanjutkan-nya.

    Setelah itu pilih comboBox yang ada di Database Connection, pilih dan klik NewDatabase Connection untuk melanjutkan-nya.

    Setelah itu pilih ComboBox yang ada di Driver, pilih dan klik MySQL (Connector/jdriver). Setelah itu klik tombol Next untuk melanjutkannya.

  • 7/28/2019 Modul Praktikum Hibernate

    12/28

    Setelah itu dibagian Database di ganti dengan nama database yang sudah kita buattadi misalnya praktekhibernate setelah itu untuk bagian User Name dan passworddisesuikan dengan UserNama dan Password database kalian masing-masingmisalnya user name root password (kosong). Setelah itu kita klik TestConnection kalau connection-nya benar akan muncul informasi ConnectionSucceeded tetapi kalau salah akan muncul Cannot establish a connection to jdbc(artinya nama database-nya belum ada atau namanya salah). Setelah itu klik tombolFinish untuk melanjutkannya.

    Pilih tbmahasiswa dan klik tombol Add.

  • 7/28/2019 Modul Praktikum Hibernate

    13/28

    Setelah kita Add, klik tombol Next untuk melanjutkannya.

    Beri nama package tdv.Entity. Setelah itu kita klik tombol Finish.

    Sekarang kita kembali ke kelas Konfigurasi yaitu kelas hibernate.cfg, klik dua kali

    pada kelas itu. Setelah itu kita pilih dan klik Design

  • 7/28/2019 Modul Praktikum Hibernate

    14/28

    Setelah kita klik Design, sekarang kita menambahkan Tbmahasiswa ke dalamMappings. Caranya klik Mappings lalu pilih Add.

    Pilih kategori Class dan klik Browse.

  • 7/28/2019 Modul Praktikum Hibernate

    15/28

    Pilih folder Entity dan file Tbmahasiswa. Kalau sudah klik Select File untukmelanjutkan.

    Setelah itu klik Ok saja untuk melanjutkan kelangkah berikutnya.

    Sekarang saatnya kita membuat kelas DAO Hibernate. Caranya klik kanan packagelalu pilih New => Other.

    Pilih kategori Java dan File Types pilih Java Class, setelah itu klik tombol Next untuk

    melanjutkan-nya.

  • 7/28/2019 Modul Praktikum Hibernate

    16/28

    Beri nama project MahasiswaDAO, untuk nama package kita kasih nama tdv.DAO.Setelah itu kita klik tombol Finish.

    Sekarang, saatnya melakukan proses pengkodean. Tetapi di sini saya tidakmenjelaskan tentang pengkodeannya. Lain kali saya akan jelaskan.Pertama kita tambahkan kode berikut ini.

    Session session;SessionFactory sessionFactory;

    public MahasiswaDAO(){sessionFactory = HibernateUtil.getSessionFactory();

    }

  • 7/28/2019 Modul Praktikum Hibernate

    17/28

    Kita mau menampilkan data dari database di Aplikasi kita. Caranya kita tambahkankode berikut ini.

    public List getAll(){List tbMhsList = new ArrayList();try {

    session = sessionFactory.openSession();tbMhsList = session.createQuery(

    "SELECT m FROM tdv.Entity.Tbmahasiswa m").list();} catch (Exception e) {}return tbMhsList;

    }

    Kita mau menambah data ke dalam dalabase. Caranya kita tambahkan kode ini.

    public String Insert(Tbmahasiswa m){String status = "Insert Gagal";

    try {session = sessionFactory.openSession();session.getTransaction().begin();session.save(m);session.getTransaction().commit();status = "Insert Sukses";

    } catch (Exception e) {e.printStackTrace();

    }return status;

    }

    Kita mau merubah data yang ada di dalam dalabase. Caranya kita tambahkan kodeini.

    public String Update(Tbmahasiswa m){String status = "Update Gagal";try {

    session = sessionFactory.openSession();session.getTransaction().begin();session.update(m);session.getTransaction().commit();

    status = "Update Sukses";} catch (Exception e) {

    e.printStackTrace();}return status;

    }

  • 7/28/2019 Modul Praktikum Hibernate

    18/28

    Kita mau menghapus data yang ada di dalam dalabase. Caranya kita tambahkankode ini.

    public String Delete(Tbmahasiswa m){String status = "Delete Gagal";try {

    session = sessionFactory.openSession();session.getTransaction().begin();session.delete(m);session.getTransaction().commit();status = "Delete Sukses";

    } catch (Exception e) {e.printStackTrace();

    }return status;

    }

    Sekarang kita telah selesai membuat kelas untuk proses DAO. Sekarang saatnya

    kita membuat Form Aplikasinya.

    Pada program sederhana ini, kita akan membuat aplikasi berbasis GUI. Dalampemrograman Java untuk membuat program berbasis GUI di sebut dengan JavaSwing. Sekarang untuk membuat Form, kita harus membuat Jframe, caranyadengan klik kanan package, pilih New => Other

    Pilih kategori Swing GUI Forms dan pilih File Type Jframe Form. Lalu klik Next untukmelanjutkan membuat sebuah Form.

  • 7/28/2019 Modul Praktikum Hibernate

    19/28

    Beri nama Form tersebut, misalnya dengan nama MahasiswaGUI.Sekarang kita bisa melihat GUI builder pada editor NetBeans dan disebelah kanankita bisa lihat terdapat Pallete yang merupakan komponen dari GUI yang ada di Javadan Properties yang merupakan editor atribut dari komponen.

    Untuk menambahkan komponen GUI lainnya, kita cukup mengklik dan mendragsalah satu komponen yang ada dalam Pallete ke dalam Form. Misalnya kita klik dandrag sebuah Label dari Pallete.

  • 7/28/2019 Modul Praktikum Hibernate

    20/28

    Untuk mengubah tulisan pada Label, kita dapat mengklik label tersebut, lalu lihatpada Properties. Ubah atribut text, misal menjadi Nim, Nama, Jurusan dan Alamat.

    Setelah itu kita klik dan drag lagi tiga buah Text Field dan satu buah Text Area, yangkita gunakan untuk masing-masing Label tersebut.

    Untuk mengosongkan isi tulisan pada Nim, Nama, Jurusan, kosongkan atribut textpada setiap komponen pada proterties.

  • 7/28/2019 Modul Praktikum Hibernate

    21/28

    Sekarang saatnya kita mengubah setiap variabel komponennya, misal untuk TextField Nim kita beri nama variabelnya dengan txtNim, untuk Text Field Nama dengannama txtNama dan seterusnya. Cara dengan mengklik kanan pada komponen lalupilih menu Change Variable Name.

    Setelah kita menambahkan input Form, sekarang saatnya kita menambahkantombol ke dalam Form. Caranya dengan klik dan drag komponen Button padaPallete ke dalam Form.Tambahkan 3 buah tombol.

  • 7/28/2019 Modul Praktikum Hibernate

    22/28

    Tambahkan 3 buah tombol, Insert, Upade dan Delete. Untuk mengubah texttombolnya. Caranya sama seperti Label, yaitu dengan mengubah atribut text padaProperties.

    Setelah kita menambahkan input pada Form berserta tombolnya, sekarang saatnyakita menambah Table ke Form, caranya tinggal klik dan drag komponen Table dari

    Pallete ke Form.

    Jangan lupa rubah nama variabel Tabel yang tadi kita masukkan ke Form. Caranyaklik kanan Tabel nya lalu pilih Change Variabel Name, Misal dengan namaTableMahasiswa.

  • 7/28/2019 Modul Praktikum Hibernate

    23/28

    Sekarang, saatnya melakukan proses pengkodean. Tetapi di sini saya tidakmenjelaskan tentang pengkodeannya. Lain kali saya akan jelaskan. Caranya masukke bagian SourcePertama kita tambahkan kode berikut ini.

    public class MahasiswaGUI extends javax.swing.JFrame {private Session session;private MahasiswaDAO mhsDao;private Tbmahasiswa tbMhs;private List lishMhs;

    /*** Creates new form MahasiswaGUI*/public MahasiswaGUI() {

    this.mhsDao = new MahasiswaDAO();initComponents();setLocationRelativeTo(this);bindTableMahasiswa();

    }

    Kita mau menampilkan data yang ada di database di Table yang ada di Form tadi.

    Caranya tambahkan kode berikut.private void bindTableMahasiswa(){try {

    this.lishMhs = mhsDao.getAll();String[][] data = new String[this.lishMhs.size()][4];int row = 0;for(Tbmahasiswa m : this.lishMhs){

    data[row][0] = m.getNim()+"";data[row][1] = m.getNama();data[row][2] = m.getJurusan();data[row][3] = m.getAlamat();

    row++;}TableMahasiswa.setModel(new DefaultTableModel(data,

    new String[]{"NIM","Nama Mahasiswa","Jurusan","Alamat"}));} catch (Exception e) {}

    }

  • 7/28/2019 Modul Praktikum Hibernate

    24/28

    Sekarang kita menambahkan aksi load data untuk menjadi kosong. Caranyatambahkan kode berikut ini.

    private void bindKosong(){try {

    txtNim.setText("");

    txtNama.setText("");txtJurusan.setText("");txtAlamat.setText("");

    } catch (Exception e) {}

    }

    Sekarang kita tambahkan aksi ketika baris Table terseleksi, misalnya baris pertamaterseleksi, maka program akan menampilkan data yang terseleksi tersebut padaForm, ini agar pengubahan lebih mudah. Untuk menambahkan aksi baris terseleksi,kita dapat menggunakan aksi Mouse Clik. Caranya klik kanan pada komponen Tablepada Form setelah itu pilih Events => Mouse => mouseClicked. Sekarang

    tambahkan koder berikut ini.try {

    tbMhs = lishMhs.get(TableMahasiswa.getSelectedRow());txtNim.setText(tbMhs.getNim()+"");txtNama.setText(tbMhs.getNama());txtJurusan.setText(tbMhs.getJurusan());txtAlamat.setText(tbMhs.getAlamat());

    } catch (Exception e) {e.printStackTrace();

    }

    Sekarang kita tambahkan aksi tombol. Dimana tombol aksi itu akan berjalan ketikatombol Insert diklik. Caranya kita kembali ke bagian Design, setelah itu kita tinggalklik kanan pada tombol Insert setelah itu pilih menu Events => Action =>ActionPerformed. Sekarang kita tambahkan kode berikut ini

    try {if(txtNim.getText().isEmpty()||txtNama.getText().isEmpty()||

    txtJurusan.getText().isEmpty()||txtAlamat.getText().isEmpty()){JOptionPane.showMessageDialog(this,"Data Kosong");

    }else{Tbmahasiswa tbMhs = new Tbmahasiswa();

    tbMhs.setNim(Integer.valueOf(txtNim.getText()));tbMhs.setNama(txtNama.getText());tbMhs.setJurusan(txtJurusan.getText());tbMhs.setAlamat(txtAlamat.getText());mhsDao.Insert(tbMhs);JOptionPane.showConfirmDialog(this,

    "Anda ingain menyimpan !!! click OK", "INFORMATION",1);}bindKosong();bindTableMahasiswa();

    } catch (Exception ex) {

    JOptionPane.showMessageDialog(this, ex.getMessage());}

  • 7/28/2019 Modul Praktikum Hibernate

    25/28

    Sekarang kita tambahkan aksi tombol Update. Dimana tombol aksi itu akan berjalanketika tombol Update diklik. Caranya kita kembali ke bagian Design, setelah itu kitatinggal klik kanan pada tombol Insert setelah itu pilih menu Events => Action =>ActionPerformed. Sekarang kita tambahkan kode berikut ini

    try {

    tbMhs.setNim(Integer.valueOf(txtNim.getText()));tbMhs.setNama(txtNama.getText());tbMhs.setJurusan(txtJurusan.getText());tbMhs.setAlamat(txtAlamat.getText());mhsDao.Update(tbMhs);JOptionPane.showMessageDialog(this, "Apakah anda ingin merubah data

    ini ?? Click OK","INFORMATION", 1);bindKosong();bindTableMahasiswa();

    } catch (Exception e) {JOptionPane.showMessageDialog(this, e.getMessage());

    }

    Sekarang kita tambahkan aksi tombol Delete. Dimana tombol aksi itu akan berjalanketika tombol Delete diklik. Caranya kita kembali ke bagian Design, setelah itu kitatinggal klik kanan pada tombol Insert setelah itu pilih menu Events => Action =>ActionPerformed. Sekarang kita tambahkan kode berikut ini

    try {if(tbMhs!=null){

    //tbj = listtbj.get(listtbj.size()-1);txtNim.setText(tbMhs.getNim()+"");txtNama.setText(tbMhs.getNama());txtJurusan.setText(tbMhs.getJurusan());txtAlamat.setText(tbMhs.getAlamat());mhsDao.Delete(tbMhs);

    }JOptionPane.showMessageDialog(this, "Apakah anda ingin merhapus data

    ini ?? Click OK","INFORMATION", 1);bindKosong();bindTableMahasiswa();

    } catch (Exception e) {JOptionPane.showMessageDialog(this, e.getMessage());

    }

  • 7/28/2019 Modul Praktikum Hibernate

    26/28

    Sekarang aplikasi sederhanya yang kita buat udah selesai.Sekarang saatnya kita mendistribusikan program yang telah kita buat ke komputerlain, ini perlu dilakukan agar untuk menjalankan program kita tidak menggunakanNetBeans IDE lagi.Langkah pertama adalah kita build project yang telah kita buat tadi agar menajadi file

    yang siap didistribusikan. Caranya klik kanan pada project lalu pilih Clear and Build.Setelah itu terciptalah sebuah folde dist pada folder project yang telah kita buat tadi.

    Dalam folder dist tersebut terdapat file JAR bernama PraktikumHibernate, sesuaidengan nama project yang kita buat tadi. Selain itu ada folder lib yang berisi libraryyang dibutuhkan oleh program yang kita buat tadi.

  • 7/28/2019 Modul Praktikum Hibernate

    27/28

    Untuk menjalankan dari luar NetBeans, kita hanya perlu menjalankan menggunakanterminal atau command menggunakan perintah :

    javajar PraktikumHibernate.jar

    Maka program akan berjalan seperti berjalan pada NetBeans IDE.

    Referensi :Buku Java Desktop oleh Ifnu Bima, 2011.

  • 7/28/2019 Modul Praktikum Hibernate

    28/28

    Tentang Penulis

    Penulis bernama Tadonny Vani, Lahir di KotaNanga Bulik 18 Maret 1989. Penulis merupakanberasal dari desa Toka Kecamatan Bulik TimurKab. Lamandau Kal-Teng, besar di Kota NangaBulik Kabupaten Lamandau Kalimantan

    Tengah. Penulis masih study S1 di JurusanTeknik Informatika konsetrasi keahlian MobileApplication Fakultas Teknologi InformasiUniversitas Kristen Satya Wacana.Penulis aktif di berbagai komunitas teknologi.

    Penulis dapat dihubungi di : WebBlog : www.tdvdonny.com E-mail : [email protected] YM : [email protected] FB : Tadonny Vani

    Pusbelitahu30 November 2012