0% menganggap dokumen ini bermanfaat (0 suara)
55 tayangan5 halaman

Tampilkan Daftar Barang dari Database

Kelas Barang digunakan untuk mengakses dan menampilkan data barang dari tabel database. Kelas DialogBarang merupakan dialog yang menampilkan tabel barang dari kelas Barang beserta tombol untuk mengurutkan kolom. Kelas Utama memanggil dialog untuk menampilkan daftar barang.

Diunggah oleh

Rifki Nurfalah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
55 tayangan5 halaman

Tampilkan Daftar Barang dari Database

Kelas Barang digunakan untuk mengakses dan menampilkan data barang dari tabel database. Kelas DialogBarang merupakan dialog yang menampilkan tabel barang dari kelas Barang beserta tombol untuk mengurutkan kolom. Kelas Utama memanggil dialog untuk menampilkan daftar barang.

Diunggah oleh

Rifki Nurfalah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Menampilkan Daftar Barang Dari Tabel Database

1. Andaikan anda punya tabel barang dengan struktur seperti berikut.


+---------+-------------+------+-----+
| Field | Type | Null | Key |
+---------+-------------+------+-----+
| kodebrg | char(5) | NO | PRI |
| nama | varchar(40) | YES | |
| harga | int(11) | YES | |
| stok | int(11) | YES | |
+---------+-------------+------+-----+

2. Isilah tabel barang dengan sejumlah record, misalnya seperti berikut.


+---------+------------------------+-------+------+
| kodebrg | nama | harga | stok |
+---------+------------------------+-------+------+
| 01001 | Buku Tulis Kiky 30 lbr | 2500 | 12 |
| 01002 | Buku Tulis Kiky 52 lbr | 3500 | 24 |
| 01003 | Buku Tulis Sidu 30 lbr | 2500 | 30 |
| 02001 | Pensil 2B Kenko | 1000 | 50 |
| 02002 | Pensil Mekanik Joyko | 4500 | 50 |
| 03001 | Kertas HVS A4 70 gr | 3000 | 10 |
+---------+------------------------+-------+------+

3. Buat kelas Barang yang dipakai untuk mengakses tabel barang, seperti berikut.

package halo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Vector;

public class Barang {


// field
private String kodeBrg; // 5 karakter
private String nama; // 40 karakter
private int harga;
private int stok; // jumlah (stok) barang

// koneksi
private Connection con;
private Statement st;
private int hasil;
private String sql;
private ResultSet rs;
private String error;

private Vector daftarBarang;


private Vector baris;

// getter dan setter field


public String getKodeBrg() {
return kodeBrg;
}
public void setKodeBrg(String kodeBrg) {
this.kodeBrg = kodeBrg;
}

public String getNama() {


return nama;
}

public void setNama(String nama) {


this.nama = nama;
}

public int getHarga() {


return harga;
}

public void setHarga(int harga) {


this.nama = nama;
}

public int getStok() {


return stok;
}

public void setStok(int stok) {


this.stok = stok;
}

public String getSql() {


return sql;
}

public String getError() {


return error;
}

// kosongkan properti
public void kosongkan(){
setKodeBrg("");
setKodeBrg("");
setNama("");
setHarga(0);
setStok(0);
}

// baca dari tabel barang


private Vector baca(String where, String order){
error = null;
String select;
if(daftarBarang == null)
daftarBarang = new Vector();
else
daftarBarang.clear();
try {
con = Mysql.getConnection();
st = con.createStatement();
if(where.isEmpty()){
select = "select * from barang ";
sql = select.concat(" order by ").concat(order);
}else{
select = "select * from barang where ";
sql = select.concat(where).concat(" order by
").concat(order);
}
System.out.println("SQL: "+sql+"\n");
rs = st.executeQuery(sql);
while(rs.next()){
// ciptakan sebuah baris sebagai objek Vector
baris = new Vector();
//masukkan ke satu baris data
baris.addElement(rs.getString("kodebrg"));
baris.addElement(rs.getString("nama"));
baris.addElement(rs.getString("harga"));
baris.addElement(rs.getString("stok"));
// tambahkan baris ini ke objek daftarBarang
daftarBarang.addElement(baris);
}
st.close(); // close statement
rs.close(); // close result set
con.close(); // close database Connection
} catch (Exception e) {
error = "gagal baca tabel";
}
return daftarBarang;
}

// baca semua record dengan urut berdasar field


public Vector getSemua(String orderField){
return baca("", orderField);
}

public Vector getSemua(String where, String orderField){


return baca(where, orderField);
}

4. Buat kelas DialogBarang dari JDialog, seperti berikut.

Desain dialog.

btnTutu
p

btnUrutKode btnUrutNama

tableBarang

Kelas:

package halo;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.util.Vector;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;

public class DialogBarang extends javax.swing.JDialog {

private Barang barang;

public DialogBarang(java.awt.Frame parent, boolean modal) {


super(parent, modal);
initComponents();
barang = new Barang();

getContentPane().setBackground(Color.PINK);
setPosisiTengah();
setResizable(false);
//nonAktifButton();
}

// set frame ke tengah layar


public void setPosisiTengah(){
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension screenSize = tk.getScreenSize();
int screenHeight = screenSize.height;
int screenWidth = screenSize.width;
int width = getWidth();
int height = getHeight();
int w2 = (screenWidth - width ) /2;
int h2 = (screenHeight - height) / 2;
setLocation(w2, h2);
}

public void tampilBarang(String field){


TableColumn kolom = null;

Vector namaKolom = new Vector();


namaKolom.addElement("Kode Barang");
namaKolom.addElement("Nama");
namaKolom.addElement("Harga");
namaKolom.addElement("Stok");

// mengambil data barang dari tabel barang urut berdasar field


Vector data = barang.getSemua(field);
// menciptakan model diisi dengan data barang
// semua field tdk dapat diedit
DefaultTableModel model =
new DefaultTableModel(data, namaKolom){
@Override
public boolean isCellEditable(int row, int column) {
//all cells false
return false;
}
};

tableBarang.setModel(model);

// seting ukuran kolom


kolom = tableBarang.getColumn("Kode Barang");
kolom.setPreferredWidth(45);
kolom = tableBarang.getColumn("Nama");
kolom.setPreferredWidth(200);

// kolom 3-4 dibuat rata kanan


DefaultTableCellRenderer rightRenderer = new
DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(JLabel.RIGHT);
for(int i=2; i<=3; i++){

tableBarang.getColumnModel().getColumn(i).setCellRenderer(rightRenderer);
}
}

private void formWindowActivated(java.awt.event.WindowEvent evt) {


// TODO add your handling code here:
tampilBarang("kodebrg");
}

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


// TODO add your handling code here:
dispose();
}

private void btnUrutKodeActionPerformed(java.awt.event.ActionEvent evt)


{
// TODO add your handling code here:
tampilBarang("kodebrg");
}

private void btnUrutNamaActionPerformed(java.awt.event.ActionEvent evt)


{
// TODO add your handling code here:
tampilBarang("nama");
}

// Variables declaration - do not modify


private javax.swing.JButton btnTutup;
private javax.swing.JButton btnUrutKode;
private javax.swing.JButton btnUrutNama;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable tableBarang;
// End of variables declaration
}

5. Panggil DialogBarang dalam Utama

btnDaftarBarang

Kode pada actionPerformed:

private void btnDaftarBarangActionPerformed(java.awt.event.ActionEvent


evt) {
// TODO add your handling code here:
DialogBarang dialog = new DialogBarang(this, true);
dialog.setVisible(true);
}

Anda mungkin juga menyukai