- Apa yang dimaksud dengan sorting/pengurutan data? jawab Sorting (pengurutan) merupakan teknik dasar di dalam pengelolaan database yang biasanya disertakan sebagai fasilitas dalam pengelolaan data.
- Apa maksud dari sorting berjenis ascending? Jawab Selection Sort (Ascending): Pengurutan dilakukan dengan memilih elemen terbesar dan menempatkan pada posisinya, kemudian mencari element terbesar berikutnya dan menempatkan pada tempatnya, dan seterusnya.
- Apa maksud dari sorting berjenis descending? Jawab Pengurutan dilakukan dengan memilih elemen terkecil dan menempatkan pada posisinya,kemudian mencari element terkecil berikutnya dan menempatkan pada tempatnya, dan seterusnya.
- Sebutkan contoh dalam dunia nyata penggunaan sorting. Jawab dikampus uad pencarian data mahasiswa menggunakan Nim ( Urutan Nim )
contoh Aplikasi dalam java
source code
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package praktikum8;
import com.db4o.Db4o;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import com.db4o.query.*;
import java.io.File;
/**
*
* @author rofid
*/
public class AplicationBarang extends java.awt.Frame {
private Object namaBarang;
private Object ascending;
/**
* Creates new form AplicationBarang
*/
public AplicationBarang() {
initComponents();
insertData();
showTable();
sortTable();
}
/**
* 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.
*/
//
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();
jRadioButton1 = new javax.swing.JRadioButton();
jRadioButton2 = new javax.swing.JRadioButton();
jPanel3 = new javax.swing.JPanel();
jRadioButton3 = new javax.swing.JRadioButton();
hargaBarang = new javax.swing.JRadioButton();
jButton1 = new javax.swing.JButton();
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
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", "Supplier"
}
));
jScrollPane1.setViewportView(jTable1);
jPanel1.setBackground(new java.awt.Color(250, 195, 12));
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder(""), "Text"));
buttonGroup1.add(jRadioButton1);
jRadioButton1.setText("Ascending");
jPanel1.add(jRadioButton1);
buttonGroup1.add(jRadioButton2);
jRadioButton2.setSelected(true);
jRadioButton2.setText("Discanding");
jPanel1.add(jRadioButton2);
jPanel3.setBackground(new java.awt.Color(187, 240, 29));
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder("")), "Text"));
buttonGroup2.add(jRadioButton3);
jRadioButton3.setText("Nama Barang");
jPanel3.add(jRadioButton3);
buttonGroup2.add(hargaBarang);
hargaBarang.setText("Harga Barang");
jPanel3.add(hargaBarang);
jButton1.setText("Tampil");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 584, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGap(40, 40, 40)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 166, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(63, 63, 63)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(41, 41, 41)
.addComponent(jButton1))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 149, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(67, 67, 67)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGap(100, 100, 100)
.addComponent(jButton1)))
.addGap(0, 111, Short.MAX_VALUE))
);
pack();
}//
/**
* Exit the Application
*/
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
/**
* @param args the command line arguments
*/
// Variables declaration - do not modify
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.ButtonGroup buttonGroup2;
private javax.swing.JRadioButton hargaBarang;
private javax.swing.JButton jButton1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel3;
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JRadioButton jRadioButton2;
private javax.swing.JRadioButton jRadioButton3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration
public static void insertData(){
new File("Barang.yap").delete();
ObjectContainer db = Db4o.openFile("Barang.yap");
Barang barang1 = new Barang("M33", "Mie Goreng Ayam", "Mie", 1.200, "FastSood");
Barang barang2 = new Barang("S03","Sun Silk","Shampo",6.500,"UniClean");
Barang barang3 = new Barang("M11","Mie Goreng Ayam","Mie",1.000,"FlyFood");
Barang barang4 = new Barang("K31","Kopi cap API","Kopi",2.700,"Obor");
Barang barang5 = new Barang("T01","Teh Aroma Wangi","Teh",4.500,"UniClean");
Barang barang6 = new Barang("M02","Soto Mie","Mie",1.100,"Fastfood");
Barang barang7 = new Barang("M51","Mie Kari","Mie",1.300,"FlyFood");
Barang barang8 = new Barang("K21","Kopi cap Wangi","Kopi",7.500,"Uniclean");
Barang barang9 = new Barang("T05","Teh T-Melati","Teh",5.500,"Obor");
Barang barang10 = new Barang("M82","Mie Bakso","Mie",1.200,"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 Barangnya Sudah Tersimpan");
}
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 (jRadioButton3.isSelected()==true) {
if (jRadioButton1.isSelected()==true) {
qry.descend("NamaBarang").orderAscending();
}
else{
qry.descend("NamaBarang").orderDescending();
}
}
else{
if (jRadioButton1.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 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();
}
}
}
Barang.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package praktikum8;
/**
*
* @author Rofid
*/
public class Barang {
String kodeBarang;
String namaBarang;
String jenis;
Double hargaSatuan;
String supplier;
public Barang(String kodeBarang, String namaBarang, String jenis, Double hargaSatuan, String supplier) {
this.kodeBarang = kodeBarang;
this.namaBarang = namaBarang;
this.jenis = jenis;
this.hargaSatuan = hargaSatuan;
this.supplier = supplier;
}
public String getKodeBarang() {
return kodeBarang;
}
public void setKodeBarang(String kodeBarang) {
this.kodeBarang = kodeBarang;
}
public String getNamaBarang() {
return namaBarang;
}
public void setNamaBarang(String namaBarang) {
this.namaBarang = namaBarang;
}
public String getJenis() {
return jenis;
}
public void setJenis(String jenis) {
this.jenis = jenis;
}
public Double getHargaSatuan() {
return hargaSatuan;
}
public void setHargaSatuan(Double hargaSatuan) {
this.hargaSatuan = hargaSatuan;
}
public String getSupplier() {
return supplier;
}
public void setSupplier(String supplier) {
this.supplier = supplier;
}
}















