Anda di halaman 1dari 34

PERTEMUAN1,2

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" ;

sql="insertintodata_brgvalues '"+vkode.getText +"','"+


vnama.getText +"','"+
vharga.getText +"','"+
vsatuan.getSelected)tem +"','"+
vstock.getText +"'";

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,

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. Listingprogramuntukhapusdata

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

PERTEMUAN5,6
AplikasiDatabasedenganJavadanMySql
MySql adalah sebuah program database server yang mampu menerima dan mengirimkan

datadengancepatdenganmenggunakanperintahperintahStructureQueryLanguange SQL .SQL

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

private void jMenuItem1ActionPerformed


Nama variable menu item

Namaobject

entri_barang_sql a = new entri_barang_sql();

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

. Selanjutnyatampillayarreportwizarduntukmenentukansumber data datasource ,klik


DataSourceManager.

. 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;

public class NewJFrame1 extends javax.swing.JFrame {

/** Creates new form NewJFrame1 */


public NewJFrame1() {
initComponents();
}

Malano

Page

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();
}
}

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

. Menghubungkanduatable tabledata_barangdantabletransaksi denganlayout

Malano

Page

Langkahlangkah
a. Aktifkankeduatabledanhubungkankeduatabletersebutdenganfieldkuncikode

b. Untuktotaldiperolehdenganmengalikanhargadenganjumlahtransaksi

Malano

Page

5. Membuatdiskondenganaturan
Jikatotaltransaksi>500000,diskon10%dari

Malano

Page

Anda mungkin juga menyukai