PBO LANJUT TUTORIAL JPA & SWING MENGGUNAKAN NETBEANS. Niko Ibrahim, MIT

dokumen-dokumen yang mirip
PBO LANJUT USING WYSIWYG EDITOR FOR BUILDING GUI. Niko Ibrahim, MIT Universitas Kristen Maranatha

STEP BY STEP IN JAVA NETBEANS PROGRAMMING BY SUYANTO

INSTRUKSI PENCABANGAN

Java Library dan Java Swing

visit :

FAKULTAS TEKNOLOGI INFORMASI UNISKA. Modul NetBeans 8.1. Disusun oleh: Mirza Yogy Kurniawan. Modul Praktek NetBeans 8.1 Studi Kasus Perpustakaan

Belajar Java 2 Tambah, Simpan & Cari Data di Netbeans dengan Database MySQL

1. Silahkan anda buka project dari modul 4 anda yang sudah anda selesaikan 2. Tambahkan 1 buah view dengan nama FormMain

KONEKSI NETBEANS DENGAN DATABASE SQLITE

Membuat Data Mahasiswa dengan Java Netbeans dan SQLite

Menghubungkan Database Access Menggunakan Netbeans Oleh : Yuliana Setiowati

BAGIAN XIII GRAPHICAL USER INTERFACE DENGAN SWING. Praktikum I : Menggunakan JFrame, JTextField, JLabel dan JButton

PERTEMUAN 1 Membuat Project & Komponen Swing [PBO II JAVA] dosen : SOPINGI, S.Kom

Pemograman Swing. Netbeans:

Mudafiq R. Pratama

Program Kalkulator Sederhana Menggunakan Java Netbeans

1. Buka kembali project yang telah dibuat pada latihan 2 (project akademik)

PEMROGRAMAN LANJUTAN JAVA. Dasar-Dasar Netbeans

Pengenalan APLIKASI DATABASE

Tutorial Jasper Report with JDBC Prerequisites: Jasper Report, ireport installed, MySQL installed, and NetBeans IDE

TABEL DATABASE TABEL - KODE BARANG TOKO INFOMART BARANG - NAMA BARANG - HARGA

Praktikum 6a Melakukan koneksi dengan basis data

Praktikum GUI menggunakan Netbeans (Yuliana Setiowati

MODUL 6 JDBC (JAVA DATABASE CONNECTIVITY)

Mudafiq R. Pratama

BAB IX MEMBUAT FORM 9.1 Membuat Form Secara Konvensional

JAVA SWING. Swing merupakan library pada java untuk membuat sebuah tampilan seperti

- Setiap pola yang menggambarkan permasalahan yang terjadi secara berulang, serta

Praktikum III : Menggunakan JRadioButton

TUTORIAL SEDERHANA, JAVA (Swing) dan MYSQL (SELECT dan INSERT)

BAB I PROJECT NETBEANS DAN GUI SEDERHANA

BAB 10 NETBEANS DATABASE

Prosedur Percobaan Program Tampilan

PENDAHULUAN TENTANG NETBEANS

DAO design pattern diimplementasi dengan beberapa langkah, yaitu :

E-Trik Visual C++ 6.0

IMPLEMENTASI PEMROGRAMAN VISUAL BASIC DENGAN DATABASE ACCESS

MENGOPERASIKAN PERANGKAT LUNAK BASIS DATA MICROSOFT ACCESS

TUJUAN. Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java

TUGAS 1 SISTEM MANAJEMEN BASIS DATA-S1 LAPORAN PRAKTIK SISTEM BASIS DATA

APLIKASI PERHITUNGAN NILAI MAHASISWA. Untuk membuat aplikasi nilai mahasiswa, langkah-langkahnya adalah sebagai berikut :

KA2173 Pemrograman Berorientasi Objek. 9 BAB IX PEMROGRAMAN GUI: SWING. H a l 56

MEMBUAT LAPORAN DI JAVA DENGAN MENGGUNAKAN IREPORT

BAB II MICROSOFT VISUAL STUDIO

Pembuatan Report menggunakan JasperReports dan ireport

Tugas IV Kelas Virtual Pemr. Visual

SMK BHAKTI NUSANTARA BOJA

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

Koneksi Java GUI-Database

STMIK DIKTAT SINGKAT MACROMEDIA DREAMWEAVER 8 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER TASIKMALAYA.

KA2173 Pemrograman Berorientasi Objek. 10 BAB X PENGAKSESAN DATABASE. H a l 64

NetBeans. Atau bisa juga disebut dengan mengkoneksikan aplikasi atau sistem client server dari

KEAHLIAN PEMROGAMAN JAVA

Aplikasi CRUD dengan Visual Basic 2012 [APLIKASI CRUD DENGAN VISUAL BASIC 2012 & MYSQL] September 18, & MySQL. Bahtiar Imran

Membuat Aplikasi Database dengan Netbeans

ACCURATE 4 QUICK START

Modul Praktikum Basis Data 5 Query

Pemrograman Java III

MICROSOFT OFFICE ACCESS 2007

MEMBUAT REPORT: REPORTPEMBELI

- Menuliskan business logic dari aplikasi untuk mengakses data source

Sebelum kita membahas tentang Microsoft Access ada baiknya jika kita terlebih dahulu mengetahui apa yang dimaksud dengan database.

Pemrograman Berorientasi Obyek. Ramos Somya

Koneksi Java ke MySQL Database. Edi Sugiarto, S.Kom, M.Kom

Microsoft Access 2007

BAB IX KONEKSI POSTGRESQL PADA JAVA (Netbeans)

MENGGUNAKAN SUB FORM. Adi Rachmanto, S.Kom., M.Kom Program Studi Akuntansi FEB UNIKOM

Disini kita akan bahas cara koneksi antara Database MySQL dengan VB.Net 2010, semoga dengan ini E-book ini bisa ingat sepanjang jaman ya ^ ^

MEMBUAT LOGIN MULTI USER ATAU MULTI LEVEL USER (BERBEDA HAK AKSES)

Tutorial Aplikasi Database Matakuliah Berbasis Java Swing Menggunakan Java Database Connectivity (JDBC)

Membuat Program Aplikasi Akademik dengan Menggunakan NetBeans 6.9

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

PRAKTEK 1 CLASS, ATTRIBUTE, METHOD, DAN OBJEK

Pengenalan. Microsoft Access. TI3007 Praktikum Perancangan Sistem Terintegrasi III. Perancangan Basis Data

Modul Pembangunan Aplikasi Basis Data Lanjut 2014

1. Pengertian Database

MEMBUAT PROJECT. 1. Buat project baru, beri nama JHangMan. Gambar 1.1

BAB 2 Membuat dan Menjalankan Form dengan Single Block

PERANCANGAN DAN IMPLEMENTASI BASIS DATA MENGGUNAKAN DB Designer PERANCANGAN DAN IMPLEMENTASI BASIS DATA MENGGUNAKAN MYSQL

Tutorial Lazarus Pemrograman Pascal Console, Visual dan Database Husni, husni.trunojoyo.ac.id, komputasi.wordpress.com

Koneksi Sederhana Database dengan C# (Lihat, Tambah, dan Hapus Data)

LAMPIRAN MODUL 3 PERANCANGAN SISTEM INFORMASI

Membuat Aplikasi Tampil, Entri, Edit, Delete Mahasiswa

Mengoperasikan Dasar-Dasar Basis Data (Database)

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

Refreshing Praktikum: GUI (Graphical User Interface)

REPORT ACCESS Amati isi dari table Employees. Isi dari table Employees berupa Employee ID, Last Name, First Name, Title, Birth Date, dst

Membuat Aplikasi Sederhana Hello World untuk Android

Membuat User Interface dengan Swing. Program yang dibuat sebelumnya selalu berbasis console User lebih senang berinteraksi dengan

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; }

BAB 2 OPEN OFFICE.ORG WRITER TUJUAN

E-trik Ajax. Database MySQL. Dedi Alnas

- Menuliskan business logic dari aplikasi untuk mengakses data source

Pemrograman Java III

Menginstall MYSQL SERVER 5.6 pada Windows 8. Sebelum nya download sql offline installer pada link ini (windows 8 32 bit Support)

KONEKSI KE DATABASE DENGAN JDBC

Crystal Reports (Bagian 2)

Modul Tutorial C# 1. Membuat Class Library ENRICO BUDIANTO MICROSOFT INNOVATION CENTER UNIVERSITAS INDONESIA

Identitas dosen POKOK BAHASAN. mendemonstrasikan tentang membuat project aplikasi dengan database access dengan benar (C3) Suherman,, ST Address

BAB-3 MEMBUAT DAN MENGATUR QUERY

Transkripsi:

PBO LANJUT TUTORIAL JPA & SWING MENGGUNAKAN NETBEANS Niko Ibrahim, MIT

Persiapan 1. Install NetBeans 6 Tutorial ini dibuat dengan menggunakan NetBeans Silahkan install terlebih dahulu di komputer yang Anda gunakan. 2. Nama Project: JPA_SWING_DEMO 3. Database: MySQL 1. Nama Database: swingerp 2. Username: root 3. Password: (kosong) Estimasi waktu pengerjaan: 90 menit Apabila telah selesai segera tunjukkan untuk diberi point nilai oleh Dosen/Asisten

1a. Buat MySQL Database & Table Nama database: swingerp Username: root Password: (empty) Buatlah 1 tabel berdasarkan model relasional berikut Nama tabel: customer Kolom: idcustomer: varchar(20) namacustomer: varchar(45) alamatcustomer: varchar(45) kotacustomer: varchar(45)

1b. Koneksi Database di NetBeans Pada bagian Services, buat koneksi baru: Klik kanan MySQL Klik New Connection

1c. Isikan URL pada koneksi tsb URL: jdbc:mysql://localhost:3306/swingerp User name: root Password: (kosongkan)

1d. Mengeksekusi SQL command Klik folder Tables untuk melihat tabel yang telah dibuat. Klik kanan folder Tables, lalu pilih Execute Command Ketikan 2 perintah insert berikut dan klik tombol execute insert into customer values ('111','John Doe','Jl. Jakarta 1', 'Jakarta'); insert into customer values ('222','John Smith','Jl. Bandung 1', 'Bandung');

1e. Tambahkan Driver MySQL & TopLink Tambahkan driver.jar MySQL ke dalam Library project. Browse di drive C Nama file (biasanya): mysql-connector-java-5.0.7-bin.jar CARA LAIN: klik Add Library, tambahkan MySQL Driver Tambahkan juga driver TopLink Essentials

2a. Buat Project: Java Application Buat sebuah Java Application baru

2b. Nama project: JPA_SWING_DEMO Uncheck Create Main Class

3a. Buat MDI Application Klik kanan Source Package Pilih New Other

3b. Buat MDI Application Pilih Swing GUI Forms Pilih MDI Aplication Sample Form

3c. Beri nama dan package Class Name: MainWindow Package: jpa_swing

3d. Hasil Berikut Design View dari aplikasi:

4a. Tambahkan Internal Frame Klik Internal Frame pada palette Drag & Drop ke dalam MainWindow Resize (perbesar) ukuran Internal Frame tsb Internal Frame

4b. Ubah Properties dari Internal Frame Pada bagian property, ubah field berikut: closeable true (beri tanda check) defaultcloseoperation HIDE title Data Customer visible false Rename nama variabel internal frame tsb menjadi: customerframe

5a. Tambahkan: Menu Data & Menu Item Customer Klik Menu pada palette. Drag & drop ke sebelah menu Edit Rename menu tersebut: Data Drag & drop sebuah Menu Item kepada menu Data Rename menu item tersebut: Customer Rename juga nama variabel menu item tsb: customermenuitem

5b. Beri Event-Handling kepada Menu Item Klik kanan menu item Customer Pilih Events Action actionperformed Di dalam method actionperformed tsb, ketikkan: customerframe.setvisible(true);

RUN PROGRAM Klik menu Data, pilih Customer

6a. Dekorasi Customer Frame Pada bagian Inspector, double klik customerframe

6b. Tambahkan JTable Drag & drop sebuah JTable ke dalam customerframe Rename JTable: customerjtable

7a. Membuat Entity Class Pada Source Package, klik kanan, pilih NEW Pilih Entity Classes from Database Note: kalau tidak ada pilihannya, cari di bagian Other

7b. Entity Classes Pada Database Connection, pilih: swingerp Pindahkan semua tabel ke window kanan. Klik Next 2x. Klik Finish.

7c. Entity Classes generated NetBeans secara otomatis membuatkan: Entity classes (file java) untuk semua tabel dan relasi yang ada. Persistence unit (file xml) Klik kanan package jpa_swing, klik Compile Package Buka file Customer.java untuk melihat variabel, access methods & annotation-nya yang dibuat secara otomatis oleh NetBeans!

8a. Membuat EntityManager Sekarang Anda akan membuat: EntityManager customerquery ( select b from barang b ) customerlist Anda bisa membuat satu per satu dari palette Tapi, NetBeans dapat membuatkannya secara otomatis untuk Anda dengan cara drag&drop table ke dalam JTable (lihat slide berikutnya)

8b. Drag & Drop table Customer Drag & drop table customer ke dalam customerjtable NetBeans secara otomatis akan membuatkan 3 objek berikut: Rename swingerppuentitymanager menjadi entitymanger Klik kanan setiap objek tsb, pilih property untuk melihat hubungan di antara ketiga objek tersebut!

RUN PROJECT

9a. Tambahkan Dekorasi pada customerinternalframe Tambahkan satu JPanel di bawah customerjtable Tambahkan 4 label & 4 text field Tambahkan 4 button Ubah nama variabel sebagai berikut: JTextField: idtf, namatf, alamattf, kotatf JButton: tambahbutton, hapusbutton, refreshbutton, savebutton dan tutupbutton Ubah property Enable false (uncheck), untuk hapusbutton & savebutton

9b. Hasil Dekorasi Berikut hasil dekorasi customerframe:

10a. Binding JTextField JTable Kita akan lakukan binding setiap JTextField dengan suatu nilai yang ada di JTable. Klik kanan idtf, pilih Bind, pilih text

10b. Bind idtf.text Pilih Binding Source customerjtable Pilih Binding Expression: idcustomer Klik OK Lakukan hal yang sama untuk: namatf, alamattf, dan kotatf

RUN PROJECT Run project Pilihlah baris pada tabel, sambil memperhatikan perubahan nilai pada textfield. BINDING

11. Membuat List menjadi Observable Pada menu Inspector, pilih objek customerlist Pada property customerlist, beri tanda check pada field Observable Dengan men-set Observable, data (list) & view (cell JTable) akan dapat otomatis bertambah secara bersamaan.

12a. Tambahkan import Tambahkan dua perintah import berikut: import javax.swing.event.listselectionevent; import javax.swing.event.listselectionlistener;

12b. Customize Code: consctructor Editlah custructor MainWindow() sbb: public MainWindow() { initcomponents(); this.setlocationrelativeto(null); TableSelectionListener listener = new TableSelectionListener(); customerjtable.getselectionmodel().addlistselectionlistener(listener); entitymanager.gettransaction().begin(); }

12c. Tambahkan class TableSelectionListner Tambahkan kode berikut setelah constructor (di luar) tadi: private class TableSelectionListener implements ListSelectionListener { public void valuechanged(listselectionevent e) { if (e.getsource() == customerjtable.getselectionmodel()) { boolean enabled = (customerjtable.getselectedrow()!= -1); hapusbutton.setenabled(enabled); savebutton.setenabled(enabled); } } }

12d. Tambahkan method tambahcustomerbaru Tambahkan kode berikut setelah class (12c) tadi: private void tambahcustomerbaru() { Customer c = new Customer(); entitymanager.persist(c); customerlist.add(c); //System.out.println(customerList.size()); int row = customerlist.size() - 1; } customerjtable.setrowselectioninterval(row, row); customerjtable.scrollrecttovisible(customerjtable.getcellrect(row, 0, true)); savebutton.setenabled(true);

Event-Handling tambahbutton hapusbutton refreshbutton savebutton tutupbutton

13a. Beri event untuk tambahbutton Ketikan kode berikut di dalam method tambahbuttonactionperformed : tambahcustomerbaru();

13b. Event untuk hapusbutton int[] selected = customerjtable.getselectedrows(); List<Customer> toremove = new ArrayList<Customer>(selected.length); for (int idx = 0; idx < selected.length; idx++) { Customer c = customerlist.get(customerjtable.convertrowindextomodel(selected[idx])); toremove.add(c); entitymanager.remove(c); } customerlist.removeall(toremove); savebutton.setenabled(true); Note: tambahkan import untuk List dan ArrayList

13c. Event untuk refreshbutton entitymanager.gettransaction().rollback(); entitymanager.gettransaction().begin(); customerlist.clear(); customerlist.addall(customerquery.getresultlist());

13d. Event untuk savebutton try { entitymanager.gettransaction().commit(); // Akan error kalau ID Customer tidak diisi savebutton.setenabled(false); } catch (java.lang.exception e) { // Kalau ID Customer tidak diisi, maka akan masuk ke sini: System.out.println("ERRORNYA ADALAH:"); System.out.println(e.getMessage()); System.out.println("Akhir pesan eror"); // Sekarang, kita lanjutkan penambahan customer yang diinginkan: customerlist.clear(); customerlist.addall(customerquery.getresultlist()); tambahcustomerbaru(); } finally { entitymanager.gettransaction().begin(); }

13e. Event untuk tutupbutton customerframe.setvisible(false);

Run Project Program pengolahan Data Customer telah selesai. Silahkan menambah atau menghapus data pada tabel. Tekan tombol save untuk melakukan commit. Selamat Mengerjakan! Niko Ibrahim, MIT