03 February, 2013

Soal Ujian Perancangan Sistem Bisa di Download disini

Pengumpulan Jawaban Paling Lambat tgl 7 Feb 2013 ke email rachmadhw@gmail.com

GoodLuck

01 October, 2009

Pemrograman data base dengan menggunakan java dan OpenOffice Base

Download :

Pemrograman data base dengan menggunakan java dan OpenOffice Base.pdf

Source Code bin



Bahasa pemrograman java memiliki banyak keunggulan selain OpenSource juga mampu terhubung dengan bermacam-macam database.

kali ini saya akan membahas tentang bagaimana cara menghubungkan java dengan OpenOffice Base.

Yang perlu anda siapkan sbb:

1. javaSE
2. Netbeans 6.7 (kebetulan yang saya pakai)
3. HSQLDB jdbc, kalo belum punya download disini.
4. Windows (he... he.. coz waktu koding pake windows)
5. Secangkir Kopi biar ga boring! :)

OpenOffice
Buat data base melalui OpenOffice base, sbb:
1.Buka OpenOffice base anda, Start → All Program → OpenOffice.org → OpenOffice.org Base. Seperti pada gambar berikut:

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 1
2.Akan muncul window baru dan tekan tombol Next.

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 2

3.Tekan tombol Finish.

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 3

4.Isikan nama data base dengan ”database” pada kolom File Name, pilih direktori tempat anda akan menyimpan database tersebut. Tekan tombol Save

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 4

5.Pilih menu Table → Create Table In Design View

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 5

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 6


6.Buat field sbb:

username text[varchar] 10
password text[varchar] 10


Sehingga seperti pada gambar dibawah ini, dan simpan dengan nama tbuser.

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 7

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 8


6.Isikan data pada tbuser dengan double klik pada tbuser, seperti pada gambar berikut:

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 9


Setelah database telah dibuat sekarang anda rename database.odb menjadi database.zip kemudian extract, kemudian cari dan copikan file berikut ke c:\base\
1.backup
2.data
3.properities
4.script
kemudian rename semua file tsb menjadi
1.database.backup
2.database.data
3.database.properities
4.database.script


Java Project
nah sekarang kita buat java projectnya
1.buka netbans pilih File → New project → JavaAplication → Next.

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 10

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 11


2.Isi Project Name dengan “javaoobase” kemudian tekan tombol Finish

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf

Gambar 12

3.Klik kanan project javaoobase → new → Java Class

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 13


4.Isi Class Name dengan”Koneksi” kemudian tekan tombol Finish.

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 14

5.Berikut source lengkap Koneksi.java

/*
* Program ini dibuat oleh Rachmad Hadi Wijoyo
* anda boleh menggunakan dan mendistribusikan dengan bebas
* asalkan tidak mengubah license ini.
* copyright by Rachmad Hadi Wijoyo
*/


package javaoobase;

import java.text.ParseException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
*
* @author Acer
*/
public class Koneksi {

public static Connection con = null;
public Koneksi(){
try
{
String db_file_name_prefix = "c:\\base\\database";
Class.forName("org.hsqldb.jdbcDriver");
con = DriverManager.getConnection("jdbc:hsqldb:file:" + db_file_name_prefix, // filenames
"sa", // username
""); // password

Statement statement = con.createStatement();
System.out.println("Koneksi Sukses!!");


} catch (SQLException ex)
{
JOptionPane.showMessageDialog(null, ex);
} catch (ClassNotFoundException ex)
{
JOptionPane.showMessageDialog(null, "class org.hsqldb.jdbcDriver ga ketemu! \n"+ex);
}
}

}

6.Nah sekarang kita coba buat form login, langkahnya seperti pada tahap 3 & 4 diatas tetapi bukan java class yang kita pilih melainkan Jframe Form. Isi Nama Form dengan frmLogin, kemudian tekan tombol Finish.

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 15

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 16


7.Setelah muncul from kosong, buat tampilan seperti berikut:

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 17

8.Berikut Source code lengkapnya:\
/*
* Program ini dibuat oleh Rachmad Hadi Wijoyo
* anda boleh menggunakan dan mendistribusikan dengan bebas
* asalkan tidak mengubah license ini
* copyright by Rachmad Hadi Wijoyo
*/

/*
* frmLogin.java
*
* Created on 28 Jun 09, 8:23:45
*/

package javaoobase;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
*
* @author Acer
*/
public class frmLogin extends javax.swing.JFrame {

/** Creates new form frmLogin */
public frmLogin() {
initComponents();
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {

jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
txUserName = new javax.swing.JTextField();
txPassword = new javax.swing.JPasswordField();
btLogin = new javax.swing.JButton();
btCancel = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
formWindowClosing(evt);
}
});
getContentPane().setLayout(null);

jPanel1.setBackground(new java.awt.Color(153, 153, 255));
jPanel1.setLayout(new java.awt.BorderLayout());

jLabel1.setFont(new java.awt.Font("Tahoma", 1, 24));
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Login");
jPanel1.add(jLabel1, java.awt.BorderLayout.CENTER);

getContentPane().add(jPanel1);
jPanel1.setBounds(0, 0, 400, 50);

jLabel2.setText("User Name");
getContentPane().add(jLabel2);
jLabel2.setBounds(10, 70, 70, 14);

jLabel3.setText("Password");
getContentPane().add(jLabel3);
jLabel3.setBounds(10, 100, 70, 14);

txUserName.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
txUserNameKeyReleased(evt);
}
});
getContentPane().add(txUserName);
txUserName.setBounds(90, 70, 300, 20);

txPassword.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
txPasswordKeyReleased(evt);
}
});
getContentPane().add(txPassword);
txPassword.setBounds(90, 100, 300, 20);

btLogin.setText("Login");
btLogin.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btLoginActionPerformed(evt);
}
});
btLogin.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
btLoginKeyReleased(evt);
}
});
getContentPane().add(btLogin);
btLogin.setBounds(280, 150, 110, 23);

btCancel.setText("Cancel");
btCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btCancelActionPerformed(evt);
}
});
getContentPane().add(btCancel);
btCancel.setBounds(10, 150, 110, 23);

java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-408)/2, (screenSize.height-218)/2, 408, 218);
}//


private void btLoginActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Login();
}

private void btCancelActionPerformed(java.awt.event.ActionEvent evt) {
try {
Koneksi.con.close();
} catch (SQLException ex) {
Logger.getLogger(frmLogin.class.getName()).log(Level.SEVERE, null, ex);
}
System.exit(0);
}

private void formWindowClosing(java.awt.event.WindowEvent evt) {
try {

Koneksi.con.close();
} catch (SQLException ex) {
Logger.getLogger(frmLogin.class.getName()).log(Level.SEVERE, null, ex);
}
}

private void txUserNameKeyReleased(java.awt.event.KeyEvent evt) {
if(evt.getKeyCode()==10){
txPassword.requestFocus();
}
}

private void txPasswordKeyReleased(java.awt.event.KeyEvent evt) {
if(evt.getKeyCode()==10){
btLogin.doClick();
}
}

private void btLoginKeyReleased(java.awt.event.KeyEvent evt) {
if(evt.getKeyCode()==10){
btLogin.doClick();
}
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new frmLogin().setVisible(true);
}
});
}

public void Login(){
try {
String hasil="0";
String sql = "Select count(*) as jml from \"tbUser\" where \"username\" = '"+txUserName.getText().trim()+"' "+
"and \"password\"='"+txPassword.getText().trim()+"' ";

stat = Koneksi.con.createStatement();

set = stat.executeQuery(sql);
set.next();
hasil = set.getString("jml");

if (Integer.valueOf(hasil)> 0){
//JOptionPane.showMessageDialog(null, "Login Sukses!");
System.out.println("Login Sukses!");
new frmInputBarang().setVisible(true);
}else{
JOptionPane.showMessageDialog(null, "Login GAGAL");
System.out.println("Login GAGAL");
}
System.out.println("isi jml :"+hasil);


}
catch (Exception e) {
System.out.println("Kesalahan : "+e.toString());
}
}

// Variables declaration - do not modify
private javax.swing.JButton btCancel;
private javax.swing.JButton btLogin;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JPasswordField txPassword;
private javax.swing.JTextField txUserName;
// End of variables declaration
public Statement stat;
public ResultSet set;
}
9.Pada class Main.java, anda tambahkan perintah untuk memangil class Koneksi dan frmLogin,berikut source codenya:
/*
* Program ini dibuat oleh Rachmad Hadi Wijoyo
* anda boleh menggunakan dan mendistribusikan dengan bebas
* asalkan tidak mengubah license ini.
* copyright by Rachmad Hadi Wijoyo
*/


package javaoobase;

/**
*
* @author Acer
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
new Koneksi();
new frmLogin().setVisible(true);
}

}
10.Waktunya coba. Tekan F6 atau tekan Tombol Run
11.Gimana mudahkan?
12.Sekarang Kita coba buat form input barang, design formnya seperti berikut:

Pemrograman data base  dengan menggunakan java dan OpenOffice Base.pdf
Gambar 18
13.Berikut Source codenya:
/*
* Program ini dibuat oleh Rachmad Hadi Wijoyo
* anda boleh menggunakan dan mendistribusikan dengan bebas
* asalkan tidak mengubah license ini
* copyright by Rachmad Hadi Wijoyo
*/

/*
* frmInputBarang.java
*
* Created on 28 Jun 09, 9:14:05
*/

package javaoobase;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
*
* @author Acer
*/
public class frmInputBarang extends javax.swing.JFrame {

/** Creates new form frmInputBarang */
public frmInputBarang() {
initComponents();
tampil();
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {

jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
txKode = new javax.swing.JTextField();
txNama = new javax.swing.JTextField();
txHarga = new javax.swing.JTextField();
txJumlah = new javax.swing.JTextField();
btNew = new javax.swing.JButton();
btExit = new javax.swing.JButton();
btEdit = new javax.swing.JButton();
btDelete = new javax.swing.JButton();
btSave = new javax.swing.JButton();
btCancel = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().setLayout(null);

jPanel1.setBackground(new java.awt.Color(153, 153, 255));
jPanel1.setLayout(new java.awt.BorderLayout());

jLabel1.setFont(new java.awt.Font("Tahoma", 1, 24));
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Input Barang");
jPanel1.add(jLabel1, java.awt.BorderLayout.CENTER);

getContentPane().add(jPanel1);
jPanel1.setBounds(0, 0, 690, 50);

jLabel2.setText("Jumlah");
getContentPane().add(jLabel2);
jLabel2.setBounds(20, 160, 90, 14);

jLabel3.setText("Kode ");
getContentPane().add(jLabel3);
jLabel3.setBounds(20, 70, 90, 14);

jLabel4.setText("Nama Barang");
getContentPane().add(jLabel4);
jLabel4.setBounds(20, 100, 90, 14);

jLabel5.setText("Harga");
getContentPane().add(jLabel5);
jLabel5.setBounds(20, 130, 90, 14);

txKode.setEnabled(false);
txKode.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
txKodeKeyReleased(evt);
}
});
getContentPane().add(txKode);
txKode.setBounds(120, 70, 120, 20);

txNama.setEnabled(false);
txNama.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
txNamaKeyReleased(evt);
}
});
getContentPane().add(txNama);
txNama.setBounds(120, 100, 550, 20);

txHarga.setEnabled(false);
txHarga.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
txHargaKeyReleased(evt);
}
});
getContentPane().add(txHarga);
txHarga.setBounds(120, 130, 120, 20);

txJumlah.setEnabled(false);
txJumlah.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
txJumlahKeyReleased(evt);
}
});
getContentPane().add(txJumlah);
txJumlah.setBounds(120, 160, 70, 20);

btNew.setText("New");
btNew.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btNewActionPerformed(evt);
}
});
getContentPane().add(btNew);
btNew.setBounds(20, 200, 90, 23);

btExit.setText("Exit");
btExit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btExitActionPerformed(evt);
}
});
getContentPane().add(btExit);
btExit.setBounds(580, 200, 90, 23);

btEdit.setText("Edit");
btEdit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btEditActionPerformed(evt);
}
});
getContentPane().add(btEdit);
btEdit.setBounds(110, 200, 90, 23);

btDelete.setText("Delete");
btDelete.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btDeleteActionPerformed(evt);
}
});
getContentPane().add(btDelete);
btDelete.setBounds(200, 200, 90, 23);

btSave.setText("Save");
btSave.setEnabled(false);
btSave.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btSaveActionPerformed(evt);
}
});
getContentPane().add(btSave);
btSave.setBounds(350, 200, 90, 23);

btCancel.setText("Cancel");
btCancel.setEnabled(false);
btCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btCancelActionPerformed(evt);
}
});
getContentPane().add(btCancel);
btCancel.setBounds(440, 200, 90, 23);

jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jTable1.getTableHeader().setReorderingAllowed(false);
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTable1MouseClicked(evt);
}
});
jScrollPane1.setViewportView(jTable1);

getContentPane().add(jScrollPane1);
jScrollPane1.setBounds(20, 230, 650, 100);

java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-696)/2, (screenSize.height-376)/2, 696, 376);
}//


private void btNewActionPerformed(java.awt.event.ActionEvent evt) {

btNew.setEnabled(false);
btEdit.setEnabled(false);
btExit.setEnabled(false);
btDelete.setEnabled(false);
btSave.setEnabled(true);
btCancel.setEnabled(true);

txKode.setEnabled(true);
txNama.setEnabled(true);
txHarga.setEnabled(true);
txJumlah.setEnabled(true);
txKode.setText("");
txNama.setText("");
txHarga.setText("");
txJumlah.setText("");
txKode.requestFocus();
vSave = true;
jTable1.enable(false);


}

private void btEditActionPerformed(java.awt.event.ActionEvent evt) {

btNew.setEnabled(false);
btEdit.setEnabled(false);
btExit.setEnabled(false);
btDelete.setEnabled(false);
btSave.setEnabled(true);
btCancel.setEnabled(true);

txKode.setEnabled(false);
txNama.setEnabled(true);
txHarga.setEnabled(true);
txJumlah.setEnabled(true);
txKode.requestFocus();
vSave = false;
jTable1.enable(false);
}

private void btSaveActionPerformed(java.awt.event.ActionEvent evt) {

Save();
btNew.setEnabled(true);
btEdit.setEnabled(true);
btExit.setEnabled(true);
btDelete.setEnabled(true);
btSave.setEnabled(false);
btCancel.setEnabled(false);

txKode.setEnabled(false);
txNama.setEnabled(false);
txHarga.setEnabled(false);
txJumlah.setEnabled(false);
btNew.requestFocus();
jTable1.enable(true);
}

private void btCancelActionPerformed(java.awt.event.ActionEvent evt) {

btNew.setEnabled(true);
btEdit.setEnabled(true);
btExit.setEnabled(true);
btDelete.setEnabled(true);
btSave.setEnabled(false);
btCancel.setEnabled(false);

txKode.setText("");
txNama.setText("");
txHarga.setText("");
txJumlah.setText("");
txKode.setEnabled(false);
txNama.setEnabled(false);
txHarga.setEnabled(false);
txJumlah.setEnabled(false);
btNew.requestFocus();
jTable1.enable(true);
}

private void btDeleteActionPerformed(java.awt.event.ActionEvent evt) {
if(JOptionPane.showConfirmDialog(null,"Anda Yakin Akan Menghapus Data Ini? ","Peringatan",JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
{
Delete();
}
}

private void btExitActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
dispose();
}

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if(jTable1.isEnabled()){
int n=0;
n = jTable1.getSelectedRow();
txKode.setText(jTable1.getValueAt(n, 0).toString());
txNama.setText(jTable1.getValueAt(n, 1).toString());
txHarga.setText(jTable1.getValueAt(n, 2).toString());
txJumlah.setText(jTable1.getValueAt(n, 3).toString());
}
}

private void txKodeKeyReleased(java.awt.event.KeyEvent evt) {
if(evt.getKeyCode()==10){
txNama.requestFocus();
}
}

private void txNamaKeyReleased(java.awt.event.KeyEvent evt) {
if(evt.getKeyCode()==10){
txHarga.requestFocus();
}
}

private void txHargaKeyReleased(java.awt.event.KeyEvent evt) {
if(evt.getKeyCode()==10){
txJumlah.requestFocus();
}
}

private void txJumlahKeyReleased(java.awt.event.KeyEvent evt) {
if(evt.getKeyCode()==10){
btSave.doClick();
}
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new frmInputBarang().setVisible(true);
}
});
}

public void tampil(){

try{
if(jTable1.getRowCount()>0){
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {

},
new String [] {
"Kode", "Nama", "Harga", "Jumlah"
}
));
}
stat= Koneksi.con.createStatement();

rs = stat.executeQuery(sql_query);
model = (DefaultTableModel)jTable1.getModel();

while (rs.next()){
for (int i=0;i<4;i++){ stat =" Koneksi.con.createStatement();" stat =" Koneksi.con.createStatement();" stat =" Koneksi.con.createStatement();" sql_query="select * from \">
Selesai ← GooD LucK →