2pemrograman Garfis Java 6 5 Libre
2pemrograman Garfis Java 6 5 Libre
MemulaipemrogramanJavaNetBeanId6.5dengantampilangrafis
1. File>newproject
2. Next>selanjutnyabuatnamaprojectdantentukanlokasitempatpenyimpananproject
Laluklikfinish
Malano
Page
3. Selanjutnyaakantampil
4. Klikkananpadafoldersisfo_barang>new>JFrameForm
Malano
Page
Makaakantampil,
BuatnamaclasspadakotakisianClassName.Namaclassnantinyaakansamadengannamaform,
selanjutnyaklikFinish.Makaakantampilformtempatperancanganprogram
Malano
Page
Selanjutnyakitaakanmerancangprogramuntukentridatakedalamdatabasedengantampilan
VKODE
VNAMA
VHARGA
VSATUAN
VSTOCK
TSimpan
TBatal
TSatuan
Dalam program ini data yang diinputkan akan direkam dalam sebuah database, dimana
databaseyangdigunakanadalahMs.Acces2007.(.accdb)
Adapunspesifikasidatabaseyangakandigunakanyaitu:
NamaDatabase :DBBarang
NamaTabel
:data_brg
FieldName
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
databasedenganprogramjava,secaralogicdapatkitagambarkan
koneksi
Java
programming
Database
Konek_brg
Malano
Page
Langkahlangkahkoneksidatabasedenganprogram
1. Buka jendela control Panel > double klik Administrative tools > double kilk Data Sources
(ODBC)
2. KlikAdd
3. PilihMSAccessDatabase(*.mdb,*.accdb)>Finish
Malano
Page
4. MakaselanjutnyaakantampilkotakdialogODBCMicrosoftAccessSetup,isikannamakoneksi
pada kotak Data Source Name, lalu cari database yang akan digunakan dengan cara mengklik
kotakselect,laluklikOK.
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
sumberdata(Datasource)yangakankitagunakandalamprogramnantinya.
Setelah penentuan Data Source selesai dilakukan maka selanjutnya kita kembali pada rancangan
programjavayangtelahkitabuatsebelumnya.
Malano
Page
DalamrancanganiniterdapattigabuahtombolyaitutombolSAVE,CANCEL,danEXIT.Programbaru
akan memberikan suatu aksi kalau kita mengklik salah satu tombol tersebut. Tombol SAVE akan
melakukanpenyimpanankedalamdatabaseterhadapdatayangkitainputkan,tombolCANCELakan
mengosongkan kembali layar yang sudah diisi, sedangkan tombol EXIT berfungsi untuk menutup
program.
1. ListingprogramuntuktombolSAVE
packagesisfo_barang;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.Statement;
importjavax.swing.JOptionPane;
publicclassentri_barangextendsjavax.swing.JFrame{
publicConnectioncon;
publicStatementstat;
publicStringsql="";
publicentri_barang {
initComponents ;
}
Malano
Page
privatevoidTSimpanActionPerformed java.awt.event.ActionEventevt {
try
{
Class.forName "sun.jdbc.odbc.JdbcOdbc" ;
con=DriverManager.getConnection "jdbc:odbc:konek_brg" ;
stat=con.createStatement ;
stat.execute sql ;
}
catch Exceptione
{
JOptionPane.showMessageDialog null,e ;
}
}
PenjelasanListingProgram
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.Statement;
importjavax.swing.JOptionPane;
importmerupakanstatementuntukmemanggilkomponenkomponenpendukungyang
akandigunakandalamprogramsuatuprogram.
publicConnectioncon;
publicStatementstat;
publicStringsql=;
publicResultSetrs;
con dan stat adalah objek objek yang dibuat dari class Connection dan class
statement.Conmerupakanobjekyangberfungsisebagaipenghubungantaraprogramjava
dengandatabase,sedangkanstatadalahobjekyangberfungsiuntukmengeksekusiperintah
sqlyangdigunakandalamprogram.
Malano
Class.forName("sun.jdbc.odbc.JdbcOdbc");
con=DriverManager.getConnection("jdbc:odbc:konek_brg");
Keduastatementdiatasberfungsiuntukmenghubungkanantaraprogramdengandatabase.
Page
sql="insertintodata_brgvalues('"+vkode.getText()+"','"+
vnama.getText()+"','"+
vharga.getText()+"','"+
vsatuan.getSelectedItem()+"','"+
vstock.getText()+"')";
Merupakanperintahsqluntukmemasukkandatakedalamtableyangterdapatdalamsuatu
database.
stat=con.createStatement();
stat.execute(sql);
statementdiatasdigunakanuntukmengeksekusiperintahsqlyangdiberikansebelumnya.
2. ListingprogramuntuktombolCANCEL
TombolCanceldisinidimaksudkanuntukmembersihkanteksisiandata.
vkode.setText("");
vnama.setText("");
vharga.setText("");
vstock.setText("");
vkode.requestFocus();
3. TombolEXIT
This.dispose();
Malano
Page
PERTEMUAN3,4
Dari program pertama selanjutnya dilakukan pengembangan untuk edit data dan hapus data
terdadapdatayangsudahdiinputkandalamdatabase.Adapunrancanganformnyadapatkitalihatpada
gambarberikut.
Dalam pengembangan rancangan ini ditambahkan dua buah tombol yaitu tombol EDIT untuk
mengeditdatadantombolDELETEuntukmenghapusdata.Dalammelakukanperbaikandatamaupun
menghapus data maka satu hal yang terlebih dahulu harus dilakukan adalah mencari data yang akan
dihapusataupundatayangakandiedit.
Pada contoh program ini pencarian data akan dilakukan sewaktu menekan tombol enter pada
textfield(sebelumnyadiberinamavkode)kodebarangyangakandieditataudihapus.
1. Listingprogramuntukpencariandata
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
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){}
}
}
Penjelasanlistingprogram
intascii=evt.getKeyCode();
if(ascii==10)
int ascii digunakan untuk membuat sebuah variable dengan nama ascii yang selanjutnya
digunakanuntukmenangkatnilaiyangdiinputkanlewatkeyboard.Jikanilainyasamadengan10maka
akandilakukanprosesselanjutnya.(nilai10adalahnilaiasciiuntukenter).
Class.forName("sun.jdbc.odbc.JdbcOdbc");
con=DriverManager.getConnection("jdbc:odbc:konek_brg");
Keduaperintahdiatasadalahperintahuntukmembuatkoneksidengansourcenamedatabase.
sql="select*fromdata_brgwhereKode='"+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
ditampilkannama,hargadansatuan
Malano
Page
2. Listingprogramuntukeditdata
Setelah dilakukan pencarian terhadap data, maka langkah selanjutnya adalah melakukan
perubahanterhadapfieldfieldyangdiinginkan(kecualikodebarang),dilanjutkankemudiandengan
menekantomboledit.Adapunlistingprogramuntukeditdataadalah,
3. Listingprogramuntukhapusdata
Page
PERTEMUAN5,6
AplikasiDatabasedenganJavadanMySql
MySql adalah sebuah program database server yang mampu menerima dan mengirimkan
sendiri merupakan salah satu dari sekian banyak bahasa pemrograman database yang paling
popular.
DalamMySqlterdapattigasubbahasa,yaitu
. DataDefinitionLanguange DDL
Merupakankumpulanperintahyangdigunakanuntukmembangundatabase.Dengankatalain,
suatubentukbahasayangdigunakanuntukmendefenisikanstrukturtable.Perintahinilahyang
digunakanuntukmenciptakansuatudatabasedantabel
. DataManipulationLanguange 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 )NSERT
untuk memasukkan data, SELECT untuk memilih data, UPDATE untuk memperbaharui dan
DELETEuntukmenghapusdata.
. DataControlLanguange DCL
Digunakanuntukmenanganimasalahsecuritydalamsuatudatabase,yaitumengaturhakakses
tertentubagisetiapuser.
Untuk melakukan perintah perintah DDL, DML maupun DCL dapat dilakukan secara text melalui
CommandLineataubisajugadenganmemamfaatkansoftwareyangkhususmenanganipengolahan
database secara grafis misalnya EMS MySql Manager atau menggunakan software untuk web
browser ieatauMozilla
Malano
Page
PerancangandatabasedenganmenggunakanEMSMySqlManager
Klikstar>allprogram>EMS>MYSQLManager lite>EMSmanager lite
Perancangandatabasedenganmenggunakanwebbrowser(ieatauMozilla)
BukainternetexploreratauMozillalaluketikalamat
Localhost/phpmyadmin
Malano
Page
Adapunspesifikasidatabaseyangakandigunakanyaitu:
NamaDatabase :DBBarang
NamaTabel
:data_brg
FieldName
Type
Width
Kode_brg
Text
5
Nama_brg
Text
10
Harga_brg
Numeric
8
Satuan
Text
8
Stock
numerik
8
AgarMySqldapataktifmelaluiwebservermakaharusdiaktifkanapachemelaluiphptriadatau
dapatjugamenggunakansoftwarexamp.
RANCANGANFORM
ListingProgramUntukTombolSAVE
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
stat.execute(sql);
vkode.setText("");
vnama.setText("");
vharga.setText("");
vstock.setText("");
vkode.requestFocus();
} catch(Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
PenjelasanListingProgram
YangmenjadiperbedaanpemanggilanJDBCdriverantaradatabasedenganMS.Accessdan
MySQLyaitudalampemanggilandriveryangdigunakanuntukkoneksidengandatabase:
MS.Access
Namadatasource
Class.forName("sun.jdbc.odbc.JdbcOdbc");
con=DriverManager.getConnection("jdbc:odbc:konek_brg");
Namadatabase
MySQL
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("Jdbc:mysql://localhost/db_barang","root","");
JAVADATABASECONNECTOR(JDBC)
JDBC Aplication Programming Interface (API) adalah kelas java AP) untuk mengakses segala
databerupatabledanberkaitandenganpengolahandatabase.BerikutcaramengaktifkanJDBC
. Bukatabproject>klikkananlibraries>Addjar/Folder
Malano
Page
. TambahkanconnectoruntukkoneksikeMySQLmisalkan
myslconnectorJava3.1.10binJar
Malano
Page
PEMBUATANMENU
Terdapat beberapa pilihan menu yang dapat dibuat dengan menggunakan fasilitas swing
menusyangterdapatpadatablepallete.Berikutbentukmenudengantampilanmenubar.
ListingprogramuntukmemanggilDataBarang
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
Namaobject
Malano
Namaform/classyangakan
dipanggil/digunakan
Page
a.setLocation(100,100);
a.setSize(800,500);
SetLocationdansetSizedigunakanuntukmengaturtataletakdariformyangdipanggil.
Malano
Page
PEMBUATANLAPORANDENGANMENGGUNAKAN)NETCRYSTALCLEAR
)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,
Oracledanlainsebagainya.
Ms.Access
Berikut langkah pembuatan laporan dengan crystal clear dimana data data disimpan dalam
databaseMs.Access.
. Aktifkaninetcrystalclear
Malano
Page
. Selanjutnyaakantampillayarcrystalclear
. Pilih File > New. Maka akan tampil Report Wizard, selanjutnya tentukan jenis templates
yangdiinginkan,laluklikOk
Malano
Page
. MakaselanjutnyaakantampillayarJavaDataSourceManager,tambahkandatasourceyang
barudenganmengkliktombolAdd
Malano
Page
. Darilangkahno. akantampillayaruntukmemilihDriver,karenayangakandiaksesadalah
databaseyangtersimpandalamMySQL,pilihLocalMySQLServer>add
. TampillayarDriverSelection,doubleklikMySQL
Malano
Page
. SelanjutnyaisikanDataSourceName,danpilihdatabaseyangakandigunakan,klikokdan
close
. Setelahdatasourcedandatabaseditentukanmakalayarrancanganlaporanakantampil
Malano
Page
. Selanjutnyabarudiisikanfieldfieldyanginginditampilkanpadalaporan,dengancaraklik
kananpadadatabasefield
. DoublekliknewConnection
Malano
Page
. Pilihdatasourceyangakandigunakan
. Pilihtableyangakanditampilkan,ok
Malano
Page
. Tampilkanfieldfieldyangakandigunakan,selanjutnyatarikkedalambagianperancangan
dantempatkandibagiandetail.
. Untukmelihathasilkliktabresult
Malano
Page
Memanggilreportmelaluiprogramjava
Reportyangkitarancangdenganinetcrystalclearselanjutnyadapatkitapanggildalam
pemrogramanjava.Adapunlangkahlangkahnyasebagaiberikut:
1. Terlebihdahuludirancangsebuahformdengantampilan
Tombolpreviewiniselanjutnyaakankitadigunakanuntukmemanggilreportyangtelah
dibuatdenganinetcrystalclear
packageprojectbarang;
import com.inet.viewer.SwingReportViewer;
import com.inet.viewer.URLRenderData;
import java.awt.BorderLayout;
import javax.swing.JFrame;
Malano
Page
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();
}
}
MEMBUATQUERYDALAMLAPORAN
Dalamcrystalclearjugamemungkinkankitamembuatqueryuntukmenampilkan
data dengan criteria tertentu. Pada contoh berikut akan dibuat query untuk
menampilkandatabarangberdasarkansatuanbarang.Langkahlangkahnyayaitu:
1. Rancanglaporandengantampilansebagaiberikut
Malano
Page
PERTEMUAN5,6
Dari rancangan input barang yang telah dikerjakan sebelumnya, berikutnya dilakukan lagi
pengembanganuntuktransaksibarang.RancangandariEntityRelationshipDiagramnyaadalahsebagai
berikut,
NoFakt
kode
nama
kode
Data_brg
harga
satuan
stock
have
jumlah
transaksi
Tgl tran
Malano
. Membuattotalharga
Page
Langkahlangkah
. Membuatdiskondaritabletransaksi
Malano
Page
Malano
Page
Langkahlangkah
a. Aktifkankeduatabledanhubungkankeduatabletersebutdenganfieldkuncikode
b. Untuktotaldiperolehdenganmengalikanhargadenganjumlahtransaksi
Malano
Page
5. Membuatdiskondenganaturan
Jikatotaltransaksi>500000,diskon10%dari
Malano
Page