Membuat Aplikasi CRUD dengan Netbeans Platform

Sekarang, gw bakal bahas gimana caranya bikin semacam pengaksesan data pake Netbeans Platform. Berhubung gw pengennya simple, jadi ini cuma hasil translasi dari situs netbeans-nya dengan beberapa perubahan yang gw anggap gampang dan gak memperhitungkan konsekuensi ke depannya.

Di sini, gw bakal pake JPA buat pengaksesan datanya. Jadi gak pake ala JDBC lagi…

Buat mempersingkat tulisan yang sepertinya bakalan panjang ini, gw langsung mulai yak… Hal pertama yang harus lo lakukan adalah bikin java project untuk mendapatkan library (.jar) dari setiap entity classes yang dibutuhkan nantinya. Lo gak bisa bikin entity classes di module-nya NPA. Gw gak tau kenapa, tapi kayaknya beda core. Jadi yang bisa lo lakukan cuma masukin jar-nya ajah.

Sooo… bikin satu java application,

1. New Java App

2. Java App Name

Hapus class java yang udah terbentuk otomatis (seharusnya kita uncheck pilihan “Create Main Class” dari langkah sebelumnya—tapi gw lupa, jadi yaaa sudah :p).

Udah dihapus, langkah selanjutnya bikin entity classes dari data yang diinginkan. Kebetulan gw cuma punya 1 data… jadi gw langkah2nya gini:

Pilih package yang udah ada, klik kanan di sana, pilih New → Entity Classes from Database… Abis itu muncul satu window, pilih database yang mau dipakai di bagian “Database Connection”, pindahin tabel yang dibutuhkan dari bagian “Available” (sebelah kiri) ke bagian “Selected Table” (sebelah kanan). Pindahinnya pake tombol “Add >”. Kebetulan gw cuma punya 1 tabel doank, jadi gw pake itu ajah.

3. New Entity Classes

4. New Entity Classes-2

Klik finish, ntar terbentuk beberapa class POJO, dan 1 package META-INF sebagai tempat konfigurasi pengaksesan data dalam bentuk file XML. Langkah ini mirip sama tulisan blog balita yang ini.

Karena yang kita butuhin itu jar-nya dan bukan class-nya, jadi kita bikin jar dari project yang tadi. Caranya… klik kanan di bagian project “DataLibrary”, pilih “Properties”, Pilih “Build JAR after Compiling”. Kalo udah kepilih, biarin ajah gitu.

5. Project Porperties

Terus di project yang tadi, klik kanan, pilih “Build” atau “Clean and Build”. Sama ajah itu… cuma bedanya di proses ajah… yang atu pake proses Clean yang atu enggak… hehehe :p Nantinya, cek di bagian file, dan ada

6. Jar Created

Yang gw kasi kotak biru, itu jar yang bakal kita pake. Ditambah 1 jar lagi, yaitu Driver Connector JDBC. Apah?! Katanya gak pake JDBC tapi gw malah pake Driver-nya?!!! Well, gw bilang gak make JDBC maksudnya pengaksesannya. Kalo driver-nya c masi… Driver JDBC MySQL Connector itu bisa lo temui di “/home/<nama_user>/netbeans-7.4/ide/modules/ext” namanya “mysql-connector-java-5.1.23-bin.jar”. Tapi kalo kamu pake Windows, sesuaiin ajah… adanya di direktori tempat peng-instalan netbeans-nya biasanya ada di “C:\Program Files\Netbeans\7.4\ide\modules\ext”, dan nama file-nya c sama (kalo gak salah).

Tapi kalo kamu males, ada cara gampang (at least ini berhasil di gw, tapi gak di temen gw dulunya). Pertama, klik kanan di bagian library dari project yang tadi, pilih “Add Library”, muncul window baru trus pilih “MySQL JDBC Driver” tekan “Add Library”.

7. Add Library

8. Add MySQL JDBC Driver

Trus abis itu, project-nya di “Clean and Build” lagi. Ntar muncul dah si driver jdbc di bagian lib.

9. JDBC Jar Created

Okeh, tahap awal udah dilalui… Jadi kita udah punya jar yang diperlukan. Sekarang, masuk ke bagian NPA-nya.

Buat NPA yang baru (Di Netbeans pilih File → New Project, pilih Netbeans Module di kiri, Netbeans Platform Application di sebelah kanan, tekan “Next”, kasih nama-nya trus “Finish”). Atau kalo mau pake NPA yang lama jugak boleh2 ajah c…

10. New NPA

Di NPA itu, bagian module, klik kanan, pilih “Add New”. Bikin module baru, masukin nama terserah kamu, code base name jugak terserah kamu ajah. Gw, namanya “AksesDatabase”, code name base “org.akses.data”.

Modul-nya udah kebentuk, yang kamu perluin sekarang nge-konfigurasi modul itu supaya ada library jar, berupa 5 file jar yang udah gw tunjukin di atas. Caranya, klik kanan di bagian library, terus pilih “Add New Library”.

11. Add Library Wrapper

Di sini, pilih 5 library (file jar) yang gw kasih tau di atas… Pilih library-nya ke file tempat library tersimpan, terus tekan “Next”. Ngelakuin hal ini, secara gak langsung, artinya lo bikin sebuah “library wrapper module”. Singkatnya, nanti bakal ada gini dah:

12. Add Library Wrapper 2

Itu ikutin ajah… tekan next ajah, trus next, kalo minta code base name, masukin terserah… bisa apapun, tapi kalo gw, masukinnya “org.lib.all”. Nanti, dalam library, ada 1 module dependency gitu…

13. Data Library

Liat kan?! Di atas, ada 1 module kebikin, namanya “DataLibrary”, dan module itu dipake di module “AksesDatabase”. Sekarang, maen2nya di module yang lain… Kita bakal bikin 1 module kayak “DataLibrary”. Mulai lagi dari module “AksesDatabase”, klik kanan di bagian “Libraries”, pilih “Add New Library”. Sekarang, browse bagian jar 4 yang lainnya… (3 eclipse link, 1 jdbc driver).

14. Lib

Pilihnya, langsung ke-empatnya yah… Jangan atu2… Boleh ajah c atu2, cuma ntar kebanyakan module. Itu ajah… Tekan “Next”, nama gw ubah jadi “eclipselink-jdbc”, code base name jadi “org.lib.eclipsejdbc”.

Nanti, hirarkis file-nya jadi gini:

15. Library Hirarchies

Jadi kesimpulannya, gw butuh 2 wrapper module, yang atu buat entitas database, yang atu buat eclipse link plus jdbc. Module terakhir digunain buat ngakses Persistence sama JDBC, kalo yang pertama sebagai entitas database-nya. Hal ini musti kamu pahamin bener, dan bandingin sama tutorial di situs sumber. Situs sumber itu pemakaian yang efektif (buat pengembangan ke depan), kalo gw, menurut gw ini pemakaian yang gampang walo gak diketahui tentang keefektifannya.

Segala hal tentang library udah beres, tapi ada yang belum beres jugak… yang belum beresi itu dependency antara “DataLibrary” ke “eclipselink-jdbc”. Module yang pertama disebutkan butuh keberadaan module yang kedua. Jadi, untuk ngehubunginnya bisa klik kanan di bagian “Libraries” di module “DataLibrary”. Pilih “Add Module Dependency”, ketikin “eclipselink-jdbc” di kotak search. Kalo module-nya nemu, pilih “OK”. Ntar bagian “Libraries”-nya bakal nambah deh…

16. Eclipselink lib

17. Library Hirarchies 2

Sekarang, ngelanjutin hal yang belum tersentuh… yaitu GUI-nya. Kita bakal pake JtextArea ajah buat nampilinnya sekarang. Biar gampang… Di module “AksesDatabase”, bagian package, klik kanan, pilih New → Other. Muncul window baru, bagian kiri pilih “Module Development”, bagian kanan pilih “Window”.

18. New Window

Yappp… ini mau bikin window baru… kemunculannya di bagian “explorer” ajah.

18. New Window-2

Class Name Prefix isi terserah, kalo gw ngisinya “DataMember”.

18. New Window-3

Desain Window TopComponent dengan text area full (gw pake layout border di panel/frame-nya). Mau pake Absolute/Free Design jugak boleh, yang penting text area menuhin window itu… kayak gambar di bawah ini. Sebenernya gak musti gitu jugak c yah… itu suka2nya gw ajah.

19. Design Panel

Udah?! Sekarang… waktunya akses data!! Ahhh… akhirnya yah… Pergi ke bagian source, di bagian akhir konstruktor, tambahin kode gini:

        EntityManager entityManager = Persistence.createEntityManagerFactory("CustomerLibraryPU").createEntityManager();
        Query query = entityManager.createNamedQuery("Customer.findAll");
        List<MemberC> resultList = query.getResultList();
        for (MemberC m: resultList) {
            String nama = m.getNama();
            jTextArea1.append(nama+ "\n");
        }

Jangan lupa buat tambahin import ini:

import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
import javax.persistence.Query;
import datalibrary.MemberC;

Yang perlu kamu perhatiin itu adalah package yang terakhir gw import. Package itu bentukan kita dari library “DataLibrary”. Dan, di sana, ada package “datalibrary”. Kebetulan, class yang gw gunain cuma MemberC ajah… dan ini bisa menyesuaikan tergantung library database yang kamu punya.

20. Data Library Dependency

Sekarang… tinggal dijalanin ajah… Run NPA-nya, dan nanti bakal muncul kayak gini:

21. Hasil Akhir

Yaaaiiyyy… keprok2 jadiiii!!! Insert, Delete sama Update-nya bisa diliat di situs sumber atau analogiin ke tulisan gw tentang JPA (link ada di awal tulisan)… Gak gw tulisin yak! Capek… tapi hobi c… maklum, masih ngejalanin hobi setengah2 😀 Jadi maav ajah kl kamu ngerasa ketipu baca tulisan inih… Kan gw judulnya CRUD, kenyataannya yang gw tulis cuma read-nya doank. Maap yak…

Sumber: Link di atas + pribadi
Valid: Yap!
Kadaluarsa: sampe beda versi netbeans (gw pake 7.4)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s