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 1
3. Selanjutnya akan tampil 4. Klik kanan pada folder sisfo_barang ‐> new ‐> JFrame Form
Malano
Page 2
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 3
Selanjutnya kita akan merancang program untuk entri data kedalam database dengan tampilan VKODE VNAMA VHARGA VSATUAN VSTOCK TSimpan TBatal TSatuan 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 koneksi Java programming Database Konek_brg Malano
Page 4
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 5
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 6
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 7
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 8
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 9
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 10
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 11
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 12
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 13
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 14
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 15
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
Nama data source
Class.forName("sun.jdbc.odbc.JdbcOdbc"); con=DriverManager.getConnection("jdbc:odbc:konek_brg");
Nama database
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
Malano
Page 16
2. Tambahkan connector untuk koneksi ke MySQL misalkan myslconnectorJava3.1.10bin Jar
Malano
Page 17
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 Nama variable menu item
Nama object
entri_barang_sql a = new entri_barang_sql(); Malano
Nama form / class yang akan dipanggil/digunakan
Page 18
a.setLocation(100,100); a.setSize(800,500);
SetLocation dan setSize digunakan untuk mengatur tata letak dari form yang dipanggil.
Malano
Page 19
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 20
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 21
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 22
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 23
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 24
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 25
12. Pilih data source yang akan digunakan
13. Pilih table yang akan ditampilkan, ok
Malano
Page 26
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 27
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 28
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 29
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,
NoFakt
kode
nama
kode
Data_brg
harga
have
jumlah
transaksi
satuan
stock
Tgl tran
2. Membuat total harga
Malano
Page 30
Langkah‐langkah
3. Membuat diskon dari table transaksi
Malano
Page 31
4. Menghubungkan dua table (table data_barang dan table transaksi ) dengan layout
Malano
Page 32
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 33
5. Membuat diskon dengan aturan ‐ Jika total transaksi > 500000, diskon 10% dari
Malano
Page 34