Rabu, 18 Januari 2012

Java Database Connectivity

Berikut contoh program CobaDatabase beserta Outputnya :
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


class CobaDatabase {
    public static void main (String [] args) {
    DBMahasiswa mahasiswa = new DBMahasiswa ();
    }
    }

class DBMahasiswa extends JFrame implements ActionListener {
    final JLabel lNim, lNama, lAlamat;
    final JTextField nim, nama, alamat;
    final JButton btnSave, btnHapus;
    final JPanel panel1, panel2;

    public DBMahasiswa () {
    setTitle ("Coba Database");
    lNim = new JLabel ("NIM : ");
    lNama =  new JLabel("NAMA : ");
    lAlamat = new JLabel ("ALAMAT : ");
    nim = new JTextField (20);
    nama= new JTextField (20);
    alamat = new JTextField (20);
    btnSave = new JButton ("SIMPAN");
    btnSave.addActionListener (this);
    btnHapus = new JButton ("HAPUS");
    btnHapus.addActionListener (this);
    panel1 = new JPanel (new GridLayout (3,1));
    panel2 = new JPanel (new GridLayout (3,1));

    setLayout (new BorderLayout ());
    add (panel1, "West");
    panel1.add (lNim);
    panel1.add (lNama);
    panel1.add (lAlamat);
    add(panel2, "East");
    panel2.add (nim);
    panel2.add (nama);
    panel2.add (alamat);
    add (btnSave, "South");
    add (btnHapus, "North");
    pack ();
    setDefaultCloseOperation (3);
    setVisible (true);
    }

    public void actionPerformed (ActionEvent ae) {
    if (ae.getSource () ==btnSave) {
    String sql = "insert into mahasiswa values ('"+nim.getText () +"', '"+nama.getText()+"','"+alamat.getText () +"')";
    try {

    //Untuk database SQL
    Class.forName ("org.gjt.mm.mysql.Driver");
    Connection con =DriverManager.getConnection ("jdbc:mysql://localhost/praktikum", "root", "");
    //Untuk database ACCESS
    /*Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection ("jdbc:odbc:java", "", "");*/
    Statement stmt = con.createStatement();
    stmt.executeUpdate (sql);
    stmt.close ();
    con.close ();
    JOptionPane.showMessageDialog (this, "Data berhasil disimpan", "Hasil", JOptionPane.INFORMATION_MESSAGE);
    }
    catch (Exception e) {
    JOptionPane.showMessageDialog  (this, e.getMessage (), "Hasil", JOptionPane.ERROR_MESSAGE);
    }
    }
    if (ae.getSource () ==btnHapus) {
    int pesan = JOptionPane.showConfirmDialog (null, "Anda yakin ingin menghapus [egawai\n"+
    "dengan NIM ='"+nim.getText () +"'","Konfirmasi Hapus Data",

    JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE);
    if (pesan == JOptionPane.OK_OPTION) {
    String sql = "DELETE from mahasiswa where nim='"+nim.getText()+"'";
    try {

    //Untuk database SQL
    Class.forName ("org.gjt.mm.mysql.Driver");
    Connection con =
DriverManager.getConnection ("jdbc:mysql://localhost/praktikum", "root", "");

//Untuk database ACCESS
/*Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection ("jdbc:odbc:java", "", "");*/

Statement stmt = con.createStatement();
stmt.executeUpdate (sql);
stmt.close();
con.close ();
JOptionPane.showMessageDialog (this, "Data berhasil dihapus", "Hasil", JOptionPane.INFORMATION_MESSAGE);
}
catch (Exception e) {
JOptionPane.showMessageDialog (this, e.getMessage (), "Hasil", JOptionPane.ERROR_MESSAGE);
}
}
}
System.exit (0);
}
}
 
Jika data dihapus maka tampilannya akan seperti berikut :


kemudian contoh program LihatData beserta outputnya :

import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class LihatDatabase{
public static void main (String [] args){
LihatData data = new LihatData();
}
}

class LihatData extends JFrame{

public LihatData(){
setTitle("Lihat Database");

String tdata [][] = new String[0][0];
try{

//untuk databse menggunakan SQL
Class.forName("org.gjt.mm.mysql.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/praktikum","root","");

//Untuk database menggunakan ACCES
/*Class.forName("sun.jdsc:odbc.jdbcOdbcDriver");
Connection  conn= DriverManager.getConnection (jdbc:odbc:java", "", "") ;*/ Statement stmt = conn.createStatement();
//Sintakx sql yang dibawa
String sql = "select * from mahasiswa";
//hasilnya ditampung disini
ResultSet rs = stmt.executeQuery(sql);
tdata = new String[500][3];
int p=0;
//jika data berikutnya ad maka...
while (rs.next()){
//kita dapatkan data dari kolom 1
tdata [p] [0] = rs.getString(1);
tdata [p] [1] = rs.getString(2);
tdata [p] [2] = rs.getString(3);
p++;
}
//stmt dibebaskan dari memori
stmt.close();
//koneksi ditutup
conn.close();
}
catch (Exception exc){

JOptionPane.showMessageDialog(this,"ERROR","Hasil",JOptionPane.ERROR_MESSAGE);
}
String[] nkolom={"NIM","Nama","Alamat"};
JTable tabel = new JTable(tdata,nkolom);
JScrollPane gridtabel=new JScrollPane(tabel);
tabel.setPreferredScrollableViewportSize(new Dimension(400,300));
setLayout( new FlowLayout());
add(gridtabel);
pack();
setDefaultCloseOperation(3);
setVisible(true);
}
}

Senin, 16 Januari 2012

Komponen - Komponen Swing lanjutan

Swing adalah sebuah widget toolkit untuk Java yang merupakan bagian dari Java Foundation Classes (JFC) dari Sun Microsystem. Swing adaah sebuah API (Application Programming Interface) yang menyediakan Graphical User Interface (GUI) untuk program Java dan applet. Swing dikembangkan untuk menyediakan komponen GUI yang lebih canggih dari komponen sebelumnya yang bernama AWT  dan bertujuan untuk mempermudah pengembangan aplikasi JAVA GUI.
Komponen-komponen Swing dapat diklasifikasikan ke dalam tiga bagian, yaitu  top-level  container,  intermediate  container,  dan  komponen  atomic(tunggal).
1.      Container tingkat atas (top-level) berfungsi untuk menyediakan ruang bagi  komponen komponen  lainnya.  Container  jenis  ini  terdiri  dari JFrame, JWindow, JDialog, dan JApplet.
2.      Container  menengah  adalah  komponen  (non top-level)  yang keberadaannya  untuk  menampung  komponen  lainnya,  misalnya panel, tabbed, dan tool bar. 
3.      Komponen  atomic  berfungsi  untuk  menampilkan  dan/atau  menerima informasi.  Contoh  komponen  atomic  adalah  text  field,  button,  dan label.


berikut contoh pembuatan program JFieChooser.java
import javax.swing.*;
import javax.swing.filechooser.*;
import java.io.File;

public class ContohJFileChooser extends JFrame{
public static void main (String[]args){
ContohJFileChooser ap1 = new ContohJFileChooser();
}

public ContohJFileChooser (){
setSize(400,150);

JFileChooser jfc= new JFileChooser();

FileFilter filterDotJava = new Akhiran (".java", "Berkas*.java");
jfc.setFileFilter(filterDotJava);

int hasil = jfc.showOpenDialog(this);
if(hasil == JFileChooser.APPROVE_OPTION)
setTitle ("Tes JFileChooser.File: "+jfc.getSelectedFile().getName());
else
setTitle ("Tes JFileChooser.Batal memilih");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}

class Akhiran extends FileFilter{
private String ekstensi;
private String keterangan;

public Akhiran (String suffix,String deskripsi){
this.ekstensi = suffix;
this.keterangan = deskripsi;
}

public boolean accept (File f){
if (f.isDirectory())
return true;

return f.getName().endsWith(ekstensi);
}
public String getDescription(){
return keterangan;
}
}
Outputnya :


jika kita memiih maka hasilnya akan seperti berikut :



kemudian program ContohJTabbedPane :
import javax.swing.*;

class CthJTabbedPane extends JFrame{
JLabel lTab1, lTab2, lTab3, lTab4;
JTabbedPane tab;

public CthJTabbedPane(){
super ("Tes JTabbedPane");
setSize(300,120);

tab = new JTabbedPane ();

JPanel panel1= new JPanel();
tab.addTab("Satu", panel1);
tab.setSelectedIndex(0);
lTab1 = new JLabel ("Tab Satu");
panel1.add(lTab1);

JPanel panel2= new JPanel();
tab.addTab("Dua",panel2);
lTab2 = new JLabel ("Tab Dua");
panel2.add(lTab2);


JPanel panel3= new JPanel();
tab.addTab("Tiga",panel3);
lTab3 = new JLabel ("Tab Tiga");
panel3.add(lTab3);

JPanel panel4= new JPanel();
tab.addTab("Empat",panel2);
lTab4 = new JLabel ("Tab Empat");
panel4.add(lTab4);

add(tab);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}

public class ContohJTabbedPane{
public static void main (String[]args){
CthJTabbedPane ap1 = new CthJTabbedPane();
}
}
Outputnya :


Lalu program ContohJTree :
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;

public class ContohJTree extends JFrame {

public static void main (String [] args){
ContohJTree ap1 = new ContohJTree();
}

public ContohJTree(){
super ("Tes JTable");
setSize (400,400);

//---Buat Akar - Level 0
DefaultMutableTreeNode akar = new DefaultMutableTreeNode("Benua");

//---Level 1
DefaultMutableTreeNode afrika = new DefaultMutableTreeNode("Afrika");

DefaultMutableTreeNode asia = new DefaultMutableTreeNode("Asia");

DefaultMutableTreeNode amerika = new DefaultMutableTreeNode("Amerika");

DefaultMutableTreeNode eropa = new DefaultMutableTreeNode("Eropa");


//---Level 2
DefaultMutableTreeNode mesir = new DefaultMutableTreeNode("Mesir");

DefaultMutableTreeNode libya = new DefaultMutableTreeNode("Libya");

DefaultMutableTreeNode indonesia= new DefaultMutableTreeNode("Indonesia");

DefaultMutableTreeNode jepang = new DefaultMutableTreeNode("Jepang");

DefaultMutableTreeNode malaysia = new DefaultMutableTreeNode("Malaysia");

DefaultMutableTreeNode kanada= new DefaultMutableTreeNode("Kanada");

DefaultMutableTreeNode peru = new DefaultMutableTreeNode("Peru");

DefaultMutableTreeNode bolivia= new DefaultMutableTreeNode("Bolivia");

DefaultMutableTreeNode brazilia = new DefaultMutableTreeNode("Brazilia");

DefaultMutableTreeNode australia = new DefaultMutableTreeNode("australia");

DefaultMutableTreeNode jerman= new DefaultMutableTreeNode("Jerman");


//--- Membuat JTree
JTree struktur = new JTree (akar);
add(struktur);
akar.add(afrika);
akar.add(asia);
akar.add(amerika);
akar.add(eropa);
afrika.add(mesir);
afrika.add(libya);
asia.add(indonesia);
asia.add(jepang);
asia.add(malaysia);
amerika.add(kanada);
amerika.add(peru);
amerika.add(bolivia);
amerika.add(brazilia);
eropa.add(australia);
eropa.add(jerman);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// --- Tampilkan frame
setVisible(true);
}
}
Outputnya :

dan program Contoh JTable :
import javax.swing.*;
import java.awt.*;

public class ContohJTable extends JFrame{
public static void main(String []args){
ContohJTable apl = new ContohJTable();
}

public ContohJTable(){
super("Tes JTable");
setSize(500,150);

Object[][] data = {
{"11234", "Asti Damayanti", "Akunting", new Long (2200000)},
{"11235", "Eritria", "Pemasaran", new Long (1200000)},
{"11236", "Satria", "Personalia", new Long (1200000)},
{"11237", "Tri", "Setyowati", "EDP", new Integer (1500000)},
{"11238", "Fahmi Basya", "Akunting", new Long (1250000)},
{"11239", "Suadi Marwan", "Akunting", new Long (1000000)},
{"11240", "Rani Ardini", "Pemasaran", new Long (1100000)},
{"11241", "Listya", "Pemasaran", new Long (1100000)},
};

String [] judulKolom = {"NIP", "Nama", "Bagian", "Gaji"};
JTable table = new JTable( data, judulKolom);
JScrollPane scrollPane = new JScrollPane(table);
add(scrollPane);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}

Outputnya :