Nama : Lukman Reza
NIM : 10018148
“Praktikum 08”
1.
Source code program
-
Main.java
package lukmanrheza08;
import javax.swing.JFrame;
public class Lukmanrheza08 {
public static void main(String[] args) {
// TODO code application logic here
new Frame1().setVisible(true);
//tambahkan
}
}
|
-
Form tabel
Adapun tampilan yang dibuat adalah seperti
berikut:
package lukmanrheza08;
import com.db4o.*;
import java.io.File;
import com.db4o.query.*;
public class Frame1 extends javax.swing.JFrame
{
/**
* Creates new form Frame1
*/
public Frame1() {
initComponents();
InsertData(); // tambahkan
ShowTable(); // tambahkan
}
/**
* 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.
*/
public static void InsertData() {
new File("Barang.yap").delete();
ObjectContainer db =
Db4o.openFile("Barang.yap");
Barang barang1 = new
Barang("M33",
"Mie Goreng Ayam",
"Mie", 1200, "Fastfood");
Barang barang2 = new
Barang("S03",
"Sun Silk",
"Shampo", 6500, "UniClean");
Barang barang3 = new
Barang("M11",
"Mie Goreng Ayam",
"Mie", 1000, "FlyFood");
Barang barang4 = new
Barang("K31",
"Kopi cap API",
"Kopi", 2700, "Obor");
Barang barang5 = new
Barang("T01",
"Teh Aroma Wangi",
"Teh", 4500, "UniClean");
Barang barang6 = new
Barang("M02",
"Soto Mie",
"Mie", 1100, "Fastfood");
Barang barang7 = new
Barang("M51",
"Mie Kari",
"Mie", 1300, "FlyFood");
Barang barang8 = new
Barang("K21",
"Kopi cap Wangi",
"Kopi", 7500, "Uniclean");
Barang barang9 = new
Barang("T05",
"Teh T-Melati",
"Teh", 5500, "Obor");
Barang barang10 = new
Barang("M82",
"Mie Bakso",
"Mie", 1200, "Fastfood");
db.store(barang1);
db.store(barang2);
db.store(barang3);
db.store(barang4);
db.store(barang5);
db.store(barang6);
db.store(barang7);
db.store(barang8);
db.store(barang9);
db.store(barang10);
db.close();
System.out.println("Data Barang
sudah tersimpan pada Object Database");
}
private void ShowTable() {
ObjectContainer db =
Db4o.openFile("Barang.yap");
try {
Query qry = db.query();
qry.constrain(Barang.class);
ObjectSet res = qry.execute();
Object[][] x = new
Object[res.size()][6];
jTable1.setModel(new
javax.swing.table.DefaultTableModel(x, new String[]{"Kode Barang",
"Nama Barang", "Jenis",
"Harga Satuan",
"Supplier"}));
int y = 0;
while (res.hasNext()) {
Barang b = (Barang)
res.next();
jTable1.setValueAt(b.getKodeBarang(), y, 0);
jTable1.setValueAt(b.getNamaBarang(), y, 1);
jTable1.setValueAt(b.getJenis(), y, 2);
jTable1.setValueAt(String.valueOf(
b.getHargaSatuan()), y,
3);
jTable1.setValueAt(b.getSupplier(), y, 4);
y++;
}
} finally {
db.close();
}
}
private void SortTable() {
ObjectContainer db =
Db4o.openFile("Barang.yap");
try {
Query qry = db.query();
qry.constrain(Barang.class);
if (optNama.isSelected() == true)
{
if (optAsc.isSelected() ==
true) {
qry.descend(
"namaBarang").orderAscending();
} else {
qry.descend(
"namaBarang").orderDescending();
}
} else {
if (optAsc.isSelected() ==
true) {
qry.descend(
"hargaSatuan").orderAscending();
} else {
qry.descend(
"hargaSatuan").orderDescending();
}
}
ObjectSet res = qry.execute();
Object[][] x = new
Object[res.size()][6];
jTable1.setModel(
new
javax.swing.table.DefaultTableModel(x, new String[]{"Kode Barang",
"Nama Barang", "Jenis",
"Harga ",
"Supplier"}));
int y = 0;
while (res.hasNext()) {
Barang b = (Barang)
res.next();
jTable1.setValueAt(b.getKodeBarang(), y, 0);
jTable1.setValueAt(b.getNamaBarang(),
y, 1);
jTable1.setValueAt(b.getJenis(), y, 2);
jTable1.setValueAt(String.valueOf(
b.getHargaSatuan()),
y, 3);
jTable1.setValueAt(b.getSupplier(), y, 4);
y++;
}
} finally {
db.close();
}
}
@SuppressWarnings("unchecked")
// <editor-fold
defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
buttonGroup1 = new
javax.swing.ButtonGroup();
buttonGroup2 = new
javax.swing.ButtonGroup();
jScrollPane1 = new
javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jPanel1 = new javax.swing.JPanel();
optAsc = new
javax.swing.JRadioButton();
optDsc = new
javax.swing.JRadioButton();
jPanel2 = new javax.swing.JPanel();
optNama = new
javax.swing.JRadioButton();
optHarga = new javax.swing.JRadioButton();
cmdTampil = new
javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Aplikasi
Barang");
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, null, null, null,
null}
},
new String [] {
"Kode Barang",
"Nama Barang", "Jenis", "Harga Satuan",
"Supplier"
}
));
jScrollPane1.setViewportView(jTable1);
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
"Sort", javax.swing.border.TitledBorder.LEFT,
javax.swing.border.TitledBorder.DEFAULT_POSITION));
buttonGroup1.add(optAsc);
optAsc.setText("Ascending");
buttonGroup1.add(optDsc);
optDsc.setText("Descending");
javax.swing.GroupLayout jPanel1Layout
= new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(optAsc)
.addComponent(optDsc))
.addGap(0, 12,
Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(optAsc)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(optDsc))
);
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
"Sort by", javax.swing.border.TitledBorder.LEFT,
javax.swing.border.TitledBorder.DEFAULT_POSITION));
buttonGroup2.add(optNama);
optNama.setText("Nama
Barang");
buttonGroup2.add(optHarga);
optHarga.setText("Harga
Satuan");
javax.swing.GroupLayout jPanel2Layout
= new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(optHarga)
.addComponent(optNama))
.addGap(0, 14,
Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(optNama)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(optHarga)
.addContainerGap())
);
cmdTampil.setText("Tampil");
cmdTampil.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
cmdTampilActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(cmdTampil, javax.swing.GroupLayout.PREFERRED_SIZE, 96,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(57, 57,
57))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGap(9, 9, 9)
.addComponent(cmdTampil,
javax.swing.GroupLayout.PREFERRED_SIZE, 50,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void
cmdTampilActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
SortTable(); //pilih desain terus
klik 2 kali buttonnya
}
/**
* @param args the command line arguments
*/
// Variables declaration - do not
modify
private javax.swing.ButtonGroup
buttonGroup1;
private javax.swing.ButtonGroup
buttonGroup2;
private javax.swing.JButton cmdTampil;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane
jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JRadioButton optAsc;
private javax.swing.JRadioButton optDsc;
private javax.swing.JRadioButton
optHarga;
private javax.swing.JRadioButton optNama;
// End of variables declaration
}
|
-
Barang.java
package lukmanrheza08;
public class Barang{
String kodeBarang;
String namaBarang;
String jenis;
double hargaSatuan;
String supplier;
public
String getKodeBarang() {
return kodeBarang;
}
public String getNamaBarang() {
return namaBarang;
}
public String getJenis() {
return jenis;
}
public double getHargaSatuan() {
return hargaSatuan;
}
public String getSupplier() {
return supplier;
}
public Barang (String kd, String nm, String jns,
double hg, String sup){
this.kodeBarang = kd;
this.namaBarang = nm;
this.jenis=jns;
this.hargaSatuan=hg;
this.supplier=sup;
}
public String toString(){
return
kodeBarang+"/"+namaBarang+"/"+jenis+"/"+String.valueOf(hargaSatuan)+"/"+supplier;
}
}
|
Screenshoot hasil running program
0 Komentar