Pemrograman garfis java 6.5 - · PDF filedatabase yang digunakan adalah Ms. Acces 2007....
Transcript of Pemrograman garfis java 6.5 - · PDF filedatabase yang digunakan adalah Ms. Acces 2007....
Malano Page 1
PERTEMUAN 1,2
Memulai pemrograman Java NetBean Id 6.5 dengan tampilan grafis
1. File ‐> new project
2. Next ‐> selanjutnya buat nama project dan tentukan lokasi tempat penyimpanan project Lalu klik finish
Malano Page 2
3. Selanjutnya akan tampil
4. Klik kanan pada folder sisfo_barang ‐> new ‐> JFrame Form
Malano Page 3
Maka akan tampil, Buat nama class pada kotak isian Class Name. Nama class nantinya akan sama dengan nama form, selanjutnya klik Finish. Maka akan tampil form tempat perancangan program
Malano Page 4
Selanjutnya kita akan merancang program untuk entri data kedalam database dengan tampilan Dalam program ini data yang diinputkan akan direkam dalam sebuah database, dimana database yang digunakan adalah Ms. Acces 2007. (.accdb) Adapun spesifikasi database yang akan digunakan yaitu : Nama Database : DBBarang Nama Tabel : data_brg
Field Name Type Width Kode_brg Text 5 Nama_brg Text 10 Harga_brg Numeric 8 Satuan Text 5 Stock numerik 8 Setelah selesai pembuatan database, langkah berikutnya adalah membuat koneksi antara database dengan program java, secara logic dapat kita gambarkan
TSimpan TSatuanTBatal
Java programming
Database
Konek_brg
koneksi
VKODE
VNAMA
VHARGA
VSATUAN
VSTOCK
Malano Page 5
Langkah langkah koneksi database dengan program 1. Buka jendela control Panel ‐> double klik Administrative tools ‐> double kilk Data Sources
(ODBC)
2. Klik Add
3. Pilih MS Access Database (*.mdb,*.accdb) ‐> Finish
Malano Page 6
4. Maka selanjutnya akan tampil kotak dialog ODBC Microsoft Access Setup, isikan nama koneksi pada kotak Data Source Name, lalu cari database yang akan digunakan dengan cara mengklik kotak select, lalu klik OK.
5. Hasil dari langkah no.4 kembali akan menampilkan kotak dialog ODBC Data Source
Administrator, perhatikan bahwa nama koneksi yang dibuat sebelumnya akan masuk dalam kolom user Data source, selanjutnya klik OK. Maka selesailah langkah pembuatan penentuan sumber data (Data source) yang akan kita gunakan dalam program nantinya.
Setelah penentuan Data Source selesai dilakukan maka selanjutnya kita kembali pada rancangan program java yang telah kita buat sebelumnya.
Malano Page 7
Dalam rancangan ini terdapat tiga buah tombol yaitu tombol SAVE, CANCEL, dan EXIT. Program baru akan memberikan suatu aksi kalau kita mengklik salah satu tombol tersebut. Tombol SAVE akan melakukan penyimpanan kedalam database terhadap data yang kita inputkan, tombol CANCEL akan mengosongkan kembali layar yang sudah diisi, sedangkan tombol EXIT berfungsi untuk menutup program. 1. Listing program untuk tombol SAVE
package sisfo_barang; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import javax.swing.JOptionPane; public class entri_barang extends javax.swing.JFrame { public Connection con; public Statement stat; public String sql =""; public entri_barang() { initComponents(); }
Malano Page 8
private void TSimpanActionPerformed(java.awt.event.ActionEvent evt) { try { Class.forName("sun.jdbc.odbc.JdbcOdbc"); con = DriverManager.getConnection("jdbc:odbc:konek_brg"); sql="insert into data_brg values('"+vkode.getText()+"','" + vnama.getText()+"','"+ vharga.getText()+"','"+ vsatuan.getSelectedItem()+"','"+ vstock.getText()+"'"; stat = con.createStatement(); stat.execute(sql); } catch(Exception e) { JOptionPane.showMessageDialog(null,e); } } Penjelasan Listing Program
import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import javax.swing.JOptionPane;
import merupakan statement untuk memanggil komponen komponen pendukung yang akan digunakan dalam program suatu program.
public Connection con; public Statement stat; public String sql=””; public ResultSet rs;
con dan stat adalah objek objek yang dibuat dari class Connection dan class statement. Con merupakan objek yang berfungsi sebagai penghubung antara program java dengan database, sedangkan stat adalah objek yang berfungsi untuk mengeksekusi perintah sql yang digunakan dalam program.
Class.forName("sun.jdbc.odbc.JdbcOdbc"); con = DriverManager.getConnection("jdbc:odbc:konek_brg"); Kedua statement diatas berfungsi untuk menghubungkan antara program dengan database.
Malano Page 9
sql="insert into data_brg values('"+vkode.getText()+"','" + vnama.getText()+"','"+ vharga.getText()+"','"+ vsatuan.getSelectedItem()+"','"+ vstock.getText()+"')";
Merupakan perintah sql untuk memasukkan data kedalam table yang terdapat dalam suatu database.
stat = con.createStatement(); stat.execute(sql);
statement diatas digunakan untuk mengeksekusi perintah sql yang diberikan sebelumnya.
2. Listing program untuk tombol CANCEL Tombol Cancel disini dimaksudkan untuk membersihkan teks isian data. vkode.setText("");
vnama.setText(""); vharga.setText("");
vstock.setText(""); vkode.requestFocus(); 3. Tombol EXIT
This.dispose();
Malano Page 10
PERTEMUAN 3,4
Dari program pertama selanjutnya dilakukan pengembangan untuk edit data dan hapus data terdadap data yang sudah diinputkan dalam database. Adapun rancangan formnya dapat kita lihat pada gambar berikut.
Dalam pengembangan rancangan ini ditambahkan dua buah tombol yaitu tombol EDIT untuk mengedit data dan tombol DELETE untuk menghapus data. Dalam melakukan perbaikan data maupun menghapus data maka satu hal yang terlebih dahulu harus dilakukan adalah mencari data yang akan dihapus ataupun data yang akan diedit.
Pada contoh program ini pencarian data akan dilakukan sewaktu menekan tombol enter pada text field (sebelumnya diberi nama vkode) kode barang yang akan diedit atau di hapus.
1. Listing program untuk pencarian data
private void vkodeKeyPressed(java.awt.event.KeyEvent evt) { // TODO add your handling code here: int ascii=evt.getKeyCode(); if (ascii==10) { try { Class.forName("sun.jdbc.odbc.JdbcOdbc"); con=DriverManager.getConnection("jdbc:odbc:konek_brg"); sql = "select * from data_brg where Kode = '"+vkode.getText()+"'"; stat = con.createStatement(); rs = stat.executeQuery(sql);
Malano Page 11
while(rs.next()) { vnama.setText(rs.getString("nama")); vharga.setText(rs.getString("harga")); vsatuan.setSelectedItem(rs.getString("satuan")); vstock.setText(rs.getString("stock")); } } catch(Exception e){} } }
Penjelasan listing program
int ascii=evt.getKeyCode(); if (ascii==10)
int ascii digunakan untuk membuat sebuah variable dengan nama ascii yang selanjutnya digunakan untuk menangkat nilai yang diinputkan lewat keyboard. Jika nilainya sama dengan 10 maka akan dilakukan proses selanjutnya. (nilai 10 adalah nilai ascii untuk enter).
Class.forName("sun.jdbc.odbc.JdbcOdbc"); con=DriverManager.getConnection("jdbc:odbc:konek_brg");
Kedua perintah diatas adalah perintah untuk membuat koneksi dengan source name database.
sql = "select * from data_brg where Kode = '"+vkode.getText()+"'"; stat = con.createStatement(); rs = stat.executeQuery(sql); while(rs.next()) {
vnama.setText(rs.getString("nama")); vharga.setText(rs.getString("harga")); vsatuan.setSelectedItem(rs.getString("satuan")); }
Statement diatas adalah untuk membuat perintah sql untuk mencari kode barang yang sesuai dengan kode yang diinputkan, jika seandainya ketemu kode yang diinputkan maka akan ditampilkan nama, harga dan satuan
Malano Page 12
2. Listing program untuk edit data
Setelah dilakukan pencarian terhadap data, maka langkah selanjutnya adalah melakukan perubahan terhadap field field yang diinginkan (kecuali kode barang), dilanjutkan kemudian dengan menekan tombol edit. Adapun listing program untuk edit data adalah,
private void TEditActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: try { Class.forName("sun.jdbc.odbc.JdbcOdbc"); con=DriverManager.getConnection("jdbc:odbc:konek_brg"); sql="update data_brg set nama='"+vnama.getText()+"', harga='"+vharga.getText()+"', satuan='"+vsatuan.getSelectedItem()+"', stock='"+vstock.getText()+"' where kode='"+vkode.getText()+"'"; stat = con.createStatement(); stat.execute(sql); vkode.setText(""); vnama.setText(""); vharga.setText(""); vstock.setText(""); vkode.requestFocus(); JOptionPane.showMessageDialog(null,"Data Telah Diedit"); } catch(Exception e){} }
3. Listing program untuk hapus data
private void TDeleteActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try { Class.forName("sun.jdbc.odbc.JdbcOdbc"); con=DriverManager.getConnection("jdbc:odbc:konek_brg"); sql="delete from data_brg where kode='"+vkode.getText()+"'"; stat = con.createStatement(); stat.execute(sql); vkode.setText(""); vnama.setText(""); vharga.setText(""); vstock.setText(""); vkode.requestFocus(); JOptionPane.showMessageDialog(null,"Data Telah Dihapus"); } catch(Exception e){} }
Malano Page 13
PERTEMUAN 5,6
Aplikasi Database dengan Java dan MySql
MySql adalah sebuah program database server yang mampu menerima dan mengirimkan
data dengan cepat dengan menggunakan perintah perintah Structure Query Languange (SQL). SQL
sendiri merupakan salah satu dari sekian banyak bahasa pemrograman database yang paling
popular.
Dalam MySql terdapat tiga subbahasa, yaitu
1. Data Definition Languange (DDL)
Merupakan kumpulan perintah yang digunakan untuk membangun database. Dengan kata lain,
suatu bentuk bahasa yang digunakan untuk mendefenisikan struktur table. Perintah inilah yang
digunakan untuk menciptakan suatu database dan tabel
2. Data Manipulation Languange (DML)
DML berfungsi setelah DDL digunakan. Perintah ini berfungsi untuk mengelola isi/data yang
terdapat dalam sebuah database. Untuk mengola data ini biasanya digunakan query INSERT
untuk memasukkan data, SELECT untuk memilih data, UPDATE untuk memperbaharui dan
DELETE untuk menghapus data.
3. Data Control Languange (DCL)
Digunakan untuk menangani masalah security dalam suatu database, yaitu mengatur hak akses
tertentu bagi setiap user.
Untuk melakukan perintah perintah DDL, DML maupun DCL dapat dilakukan secara text melalui
Command Line atau bisa juga dengan memamfaatkan software yang khusus menangani pengolahan
database secara grafis misalnya EMS MySql Manager atau menggunakan software untuk web
browser (ie atau Mozilla )
Malano Page 14
Perancangan database dengan menggunakan EMS MySql Manager
Klik star ‐> all program ‐> EMS ‐> MYSQL Manager 3 lite ‐> EMS manager 3 lite
Perancangan database dengan menggunakan web browser (i e atau Mozilla)
Buka internet explorer atau Mozilla lalu ketik alamat
Localhost/phpmyadmin
Malano Page 15
Adapun spesifikasi database yang akan digunakan yaitu : Nama Database : DBBarang Nama Tabel : data_brg
Field Name Type Width Kode_brg Text 5 Nama_brg Text 10 Harga_brg Numeric 8 Satuan Text 8 Stock numerik 8
Agar MySql dapat aktif melalui web server maka harus diaktifkan apache melalui php triad atau
dapat juga menggunakan software xamp.
RANCANGAN FORM
Listing Program Untuk Tombol SAVE
private void TSimpanActionPerformed(java.awt.event.ActionEvent evt) { try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("Jdbc:mysql://localhost/db_barang","root",""); sql="insert into data_barang values('"+vkode.getText()+"','" + vnama.getText()+"','"+ vharga.getText()+"','"+ vsatuan.getSelectedItem()+"','"+ vstock.getText()+"')"; stat = con.createStatement();
Malano Page 16
stat.execute(sql); vkode.setText(""); vnama.setText(""); vharga.setText(""); vstock.setText(""); vkode.requestFocus(); } catch(Exception e) { JOptionPane.showMessageDialog(null,e); } } Penjelasan Listing Program
Yang menjadi perbedaan pemanggilan JDBC driver antara database dengan MS. Access dan
MySQL yaitu dalam pemanggilan driver yang digunakan untuk koneksi dengan database:
MS.Access
Class.forName("sun.jdbc.odbc.JdbcOdbc"); con=DriverManager.getConnection("jdbc:odbc:konek_brg");
MySQL
Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("Jdbc:mysql://localhost/db_barang","root","");
JAVA DATABASE CONNECTOR (JDBC)
JDBC Aplication Programming Interface (API) adalah kelas java API untuk mengakses segala
data berupa table dan berkaitan dengan pengolahan database. Berikut cara mengaktifkan JDBC
1. Buka tab project ‐>klik kanan libraries ‐> Add jar/Folder
Nama data source
Nama database
Malano Page 17
2. Tambahkan connector untuk koneksi ke MySQL misalkan
myslconnectorJava3.1.10bin Jar
Malano Page 18
PEMBUATAN MENU
Terdapat beberapa pilihan menu yang dapat dibuat dengan menggunakan fasilitas swing
menus yang terdapat pada table pallete. Berikut bentuk menu dengan tampilan menu bar.
Listing program untuk memanggil Data Barang
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: entri_barang_sql a = new entri_barang_sql(); a.setLocation(100,100); a.setSize(800,500); a.show(); }
Penjelasan
private void jMenuItem1ActionPerformed
entri_barang_sql a = new entri_barang_sql();
Nama variable menu item
Nama form / class yang akan dipanggil/digunakan
Nama object
Malano Page 19
a.setLocation(100,100);
a.setSize(800,500);
SetLocation dan setSize digunakan untuk mengatur tata letak dari form yang dipanggil.
Malano Page 20
PEMBUATAN LAPORAN DENGAN MENGGUNAKAN I‐NET CRYSTAL CLEAR I‐net crystal clear merupakan salah satu softwares dari beberapa software yang dapat
digunakan dalam pembuatan laporan yang terkoneksi dengan program java. Software ini dapat
dikoneksikan dengan berbagai macam software pengolahan database seperti Ms.Access, MySQL,
Oracle dan lain sebagainya.
Ms. Access
Berikut langkah pembuatan laporan dengan crystal clear dimana data data disimpan dalam
database Ms. Access.
1. Aktifkan i‐net crystal clear
Malano Page 21
2. Selanjutnya akan tampil layar crystal clear
3. Pilih File ‐> New. Maka akan tampil Report Wizard, selanjutnya tentukan jenis templates
yang diinginkan, lalu klik Ok
Malano Page 22
4. Selanjutnya tampil layar report wizard untuk menentukan sumber data (data source), klik
Data Source Manager.
5. Maka selanjutnya akan tampil layar Java Data Source Manager, tambahkan data source yang
baru dengan mengklik tombol Add
Malano Page 23
6. Dari langkah no.5 akan tampil layar untuk memilih Driver, karena yang akan diakses adalah
database yang tersimpan dalam MySQL, pilih Local MySQL Server ‐> add
7. Tampil layar Driver Selection, double klik MySQL
Malano Page 24
8. Selanjutnya isikan Data Source Name, dan pilih database yang akan digunakan, klik ok dan
close
9. Setelah data source dan database ditentukan maka layar rancangan laporan akan tampil
Malano Page 25
10. Selanjutnya baru diisikan field field yang ingin ditampilkan pada laporan, dengan cara klik
kanan pada database field
11. Double klik new Connection
Malano Page 26
12. Pilih data source yang akan digunakan
13. Pilih table yang akan ditampilkan, ok
Malano Page 27
14. Tampilkan field field yang akan digunakan, selanjutnya tarik kedalam bagian perancangan
dan tempatkan dibagian detail.
15.
16. Untuk melihat hasil klik tab result
Malano Page 28
Memanggil report melalui program java
Report yang kita rancang dengan i‐net crystal clear selanjutnya dapat kita panggil dalam
pemrograman java. Adapun langkah – langkahnya sebagai berikut :
1. Terlebih dahulu dirancang sebuah form dengan tampilan
Tombol preview ini selanjutnya akan kita digunakan untuk memanggil report yang telah
dibuat dengan i‐net crystal clear
package projectbarang;
import com.inet.viewer.SwingReportViewer;
import com.inet.viewer.URLRenderData;
import java.awt.BorderLayout;
import javax.swing.JFrame;
public class NewJFrame1 extends javax.swing.JFrame {
/** Creates new form NewJFrame1 */
public NewJFrame1() {
initComponents();
}
Malano Page 29
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try
{
JFrame window = new JFrame("Report");
SwingReportViewer viewer = new SwingReportViewer();
URLRenderData renderConnectData = new
URLRenderData("http://localhost:9000/?report=file:D:/latihan/report1.rpt");
viewer.addNewReportView( renderConnectData );
window.getContentPane().add(BorderLayout.CENTER, viewer);
window.setVisible(true);
window.setSize(800, 600);
this.dispose();
}
catch(Exception e)
{
e.printStackTrace();
}
}
MEMBUAT QUERY DALAM LAPORAN
Dalam crystal clear juga memungkinkan kita membuat query untuk menampilkan
data dengan criteria tertentu. Pada contoh berikut akan dibuat query untuk
menampilkan data barang berdasarkan satuan barang. Langkah‐langkahnya yaitu :
1. Rancang laporan dengan tampilan sebagai berikut
Malano Page 30
PERTEMUAN 5,6
Dari rancangan input barang yang telah dikerjakan sebelumnya, berikutnya dilakukan lagi
pengembangan untuk transaksi barang. Rancangan dari Entity Relationship Diagramnya adalah sebagai
berikut,
2. Membuat total harga
Data_brg
nama kode
harga
satuan
have transaksi
NoFaktkode
jumlah
Tgl tran stock
Malano Page 31
Langkah‐langkah
3. Membuat diskon dari table transaksi
Malano Page 32
4. Menghubungkan dua table (table data_barang dan table transaksi ) dengan layout
Malano Page 33
Langkah – langkah a. Aktifkan ke dua table dan hubungkan kedua table tersebut dengan field kunci kode
b. Untuk total diperoleh dengan mengalikan harga dengan jumlah transaksi
Malano Page 34
5. Membuat diskon dengan aturan ‐ Jika total transaksi > 500000, diskon 10% dari