You are on page 1of 34

ALAMAT OUTLET-OUTLET SHOP & DRIVE, WILAYAH JAKARTA

Shop & Drive Cipete


Jl. RS Fatmawati No.89 C
jkt.sdcipete@yahoo.co.id
021-7244746

Shop & Drive Radar AURI


Jl. Radar AURI No.13, Cimanggis Depok
jkt.sdradarauri@yahoo.co.id
021-8730583

Shop & Drive Soepomo


Jl. Prof Soepomo SH No.11 Tebet Jakarta Selatan
jkt.sdtebet@yahoo.co.id
021-8303756

Shop & Drive Taman Ratu


Jl. Gang Macan Dalam No.34 ABC, Taman Ratu Jakarta Barat
jkt.sdtamanratu@yahoo.co.id
021-56943370

Shop & Drive Cinere


Jl. Cinere Raya Blok NB 13, Cinere, limo Depok
jkt.sdcinere@yahoo.co.id
021-7534854

Shop & Drive Sahardjo Tebet


Jl. Dr. Sahardjo No.125, Tebet Jakarta Selatan
jkt.sdsahardjo@yahoo.co.id

021-8308883

Shop & Drive Percetakan Negara


Jl. Percetakan Negara Raya No.3 Paseban, Jakarta Utara
jkt.sdpercetakan@yahoo.co.id
021-3103706

Shop & Drive Harapan Indah


Ruko Griya Harapan Permai Blok AB2 No.10 Bekasi
bks.sdharapan@yahoo.co.id
021-88872431

Shop & Drive Pasirsari, Cikarang


Jl. Industri Tegalgede Raya No.101
Pasirsari Cikarang Selatan
ckr.sdpasirsari@yahoo.co.id
021-89835666

Shop & Drive Pamulang


Jl. Puspitek Raya No.168, Buaran Serpong
tng.sdpamulang@yahoo.co.id
021-7561992

Shop & Drive Kelapa Gading


Jl. Raya Boulevard Timur Blok ZA No.7 Kelapa Gading, Jakarta Utara
jkt.ps-kga@component.astra.co.id
021-4526737/38

Shop & Drive Radio Dalam


Jl. Radio Dalam Raya No.6A Kebayoran Baru, Jakarta Selatan

jkt.ps-rda@component.astra.co.id
021-72796764/65

Shop & Drive Jatiwaringin


Jl. Raya Jatiwaringin No.125 Pondok Gede Bekasi
bks.sdwaringin@yahoo.co.id
021-84998709/14

Shop & Drive Cirendeu


Jl. Raya Cirendeu No.12, RT 03 RW 01, Cirendeu, Ciputat, Tanggerang
jkt.sd-cirendeu@component.astra.co.id
021-70626066

Shop & Drive Sunter 1


Jl. Danau Sunter Utara, Blok A1, kav.1, Sunter Jakarta Utara
jkt.ss-snt@component.astra.co.id
021-6511704

Shop & Drive Margonda, Depok


Jl. Margonda Raya No. 22 Depok 16431
jkt.ssmargonda@component.astra.co.id
021-7777172

Shop & Drive Serpong


Jl. Raya Serpong 678D Pakualam
jkt.ssserpong@component.astra.co.id
021-5396068

Shop & Drive Fatmawati


Jl. Fatmawati No.41
jkt.ssfatmawati@component.astra.co.id

021-7690509

Shop & Drive Pondok Kelapa


Jl raya Pondok Kelapa, Blok F1 No.1, Jakarta Timur
jkt.sspkelapa@component.astra.co.id
021-8642135

Shop & Drive Cilegon


Jl. Achmad Yani 50A, Kampung Sawah
Kel. Sukmajaya, Kec. Cibeber, Cilegon
btn.sdcilegon@component.astra.co.id
0254-378030

Shop & Drive Hibrida, Kelapa Gading


Jl. Kelapa Hibrida Raya, Blok PD XIV, No. 16-17
jkt.sshibrida@component.astra.co.id
021-4528086

Shop & Drive Jl Panjang, Kebon Jeruk


Jl. Panjang No.2 RT 001/01
Kel. Kebon Jeruk, Kec. Kebon Jeruk, Jakarta Barat
jkt.sspanjang@component.astra.co.id
021-5307201

Shop & Drive Sunter 2


Ruko Sunter Agung Podomoro Blok E9 No.22
jkt.ss-snt2@component.astra.co.id
021-64711455

Data Penjualan Outlet-outlet Shop & Drive Januari 2006 November 2006
(Pada file yang terpisah)

LAMPIRAN SOURCE CODE PROGRAM


* GlobalVar.java
package skripsikojek;
@author Andhika
public class GlobalVar {
public GlobalVar() { }
public static int ClusterCount;
public static int MaxIterate;
public static double MinError;
public static int UnitCount;
public static int AttributeCount; }
* Cluster.java
package skripsikojek;
@author Andhika
public class Cluster {
public Cluster() { }
public double rand1Kuadrat[];
public double A2[][];
public double sigma[];
public double sigma2[];
public double sigmaA3[];
public double totalrand1kuadrat;
public double A3[][];
public double totalA3[];
public double A3edit[];
public int i = 1;
public String descr;}
* Datapenjualan.java
package skripsikojek;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
@author afindo
public class Datapenjualan {
public Datapenjualan() {
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn =
DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=master;user=sa;
password=kojek1984");
stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
} catch(Exception ex){

ex.printStackTrace();
}
}
public int getAttributCount(){
try{
ResultSet rs = stat.executeQuery("select count(*) from ms_att");
if(rs.next()){
attributCount = rs.getInt(1);
}else{
attributCount = 0;
}
}catch(Exception e){
e.printStackTrace();
}
return attributCount; }
public int getUnitCount(){
try{
ResultSet rs = stat.executeQuery("select count(*) from ms_unit");
if(rs.next()){
unitCount = rs.getInt(1);
}else{
unitCount = 0;
}
}catch(Exception e){
e.printStackTrace();
}
return unitCount; }
public void buatDatabase(){
try{
stat.executeUpdate("create table ms_att (codeAtt int identity(1,1) primary key,
descr nvarchar(200))");
stat.executeUpdate("create table ms_unit(codeUnit int identity(1,1) primary key,
descr nvarchar(200))");
stat.executeUpdate("create table tr_store(codeStore int identity(1,1) primary key,
codeAtt int,codeUnit int, value float, " +
"foreign key (codeAtt) references ms_att(codeAtt) on update cascade, " +
"foreign key (codeUnit) references ms_unit(codeUnit) on update cascade)");
}catch(Exception e){
e.printStackTrace();
System.exit(1);
} }
public void TambahUnitBaru(String unit_descr, double [] value){
try{
int codeUnit = 0;
stat.executeUpdate("insert into ms_unit(descr) values('"+ unit_descr +"')");
ResultSet rs = stat.executeQuery("select max(codeUnit) from ms_unit");
if(rs.next()){
codeUnit = rs.getInt(1);
int counter = 1;
for(int i=0; i<value.length; i++){
stat.executeUpdate("insert into tr_store(codeAtt, codeUnit, value)
values('"+counter+"','"+codeUnit+"',"+value[i]+")");
counter++;
}
}

}catch(Exception e){
e.printStackTrace();
System.exit(1);
} }
public void TambahAttributBaru(String att_descr, double [] value){
try{
int codeAtt = 0;
stat.executeUpdate("insert into ms_att(descr) values('"+ att_descr +"')");
ResultSet rs = stat.executeQuery("select max(codeAtt) from ms_att");
if(rs.next()){
codeAtt = rs.getInt(1);
int counter = 1;
for(int i=0; i<value.length; i++){
stat.executeUpdate("insert into tr_store(codeUnit, codeAtt, value)
values('"+counter+"','"+codeAtt+"',"+value[i]+")");
counter++;
}
}
}catch(Exception e){
e.printStackTrace();
System.exit(1);
} }
public double [][] getData(){
double [][] d = null;
try{
Statement stat =
conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs1 = stat.executeQuery("select codeAtt, codeUnit, value from
tr_store");
rs1.last();
int rowCount = rs1.getRow();
attributCount = getAttributCount();
unitCount = getUnitCount();
d = new double[attributCount][unitCount];
System.out.println("rowCount " + rowCount);
rs1.beforeFirst();
while(rs1.next()){
d[rs1.getInt(1)-1][rs1.getInt(2)-1] = rs1.getDouble(3);
}
}catch(Exception e){
e.printStackTrace();
System.exit(1);
}
return d; }
public String getUnitDescr(int index){
if(unitDesc == null)
setUnit();
else{
return unitDesc[index];
}
return unitDesc[index]; }
private void setUnit(){

try{
ResultSet rs = stat.executeQuery("select * from ms_unit");
rs.last();
int row = rs.getRow();
int counter = 0;
rs.beforeFirst();
unitDesc = new String[row];
while(rs.next()){
unitDesc[counter] = rs.getString(2);
counter++;
}
} catch(Exception e){
e.printStackTrace();
} }
public String getAtt(int index){
if(attDesc == null)
setAtt();
else{
return attDesc[index];
}
return attDesc[index]; }
private void setAtt(){
try{
ResultSet rs = stat.executeQuery("select * from ms_att");
rs.last();
int row = rs.getRow();
int counter = 0;
rs.beforeFirst();
attDesc = new String[row];
while(rs.next()){
attDesc[counter] = rs.getString(2);
counter++;
}
} catch(Exception e){
e.printStackTrace();
} }
private String [] unitDesc;
private String [] attDesc;
private int attributCount;
private int unitCount;
public static Connection conn;
public static Statement stat;}
* Frame.java
package skripsikojek;
import javax.swing.JOptionPane;
* @author Andhika
public class Frame extends javax.swing.JFrame implements Interf{
private Frame2 f2 ;
private Frame3 f3;
private Frame4 f4;
private GlobalVar g = new GlobalVar();

private Datapenjualan dp = new Datapenjualan();


public Frame() {
initComponents();
g.ClusterCount = 10;
f2 = new Frame2(this);
f3 = new Frame3(this);
update();
g.UnitCount = dp.getUnitCount();
g.AttributeCount = dp.getAttributCount();
System.out.println(g.ClusterCount); }
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GENBEGIN:initComponents
private void initComponents() {
jButton1 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jSeparator1 = new javax.swing.JSeparator();
jButton2 = new javax.swing.JButton();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jButton3 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Program Skripsi Andhika");
jButton1.setText("Atribut Penelitian");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tampilatribut(evt);
}
});
jLabel1.setText("Program perancangan kluster untuk data berdasarkan atribut,\n");
jLabel2.setText("menggunakan metode Fuzzy C-Means");
jButton2.setText("Unit");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tambahunit(evt);
}
});
jLabel3.setText(" :");

jLabel4.setText("jLabel4");
jLabel5.setText("jLabel5");
jLabel6.setText("Jumlah kluster yang diinginkan :");
jLabel7.setText(" :");
jTextField1.setText("7");
jLabel8.setText("Iterasi Maksimum :");
jLabel9.setText("Nilai error terkecil yang diharapkan :");
jTextField2.setText("1000");
jTextField3.setText("0.00001");
jButton3.setText("Keluar");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
keluar(evt);
}
});
jButton4.setText("Bentuk Kluster");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
hitung(evt);
}
});
jMenu1.setText("Menu");
jMenuItem1.setText("Create Db");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BuatDatabase(evt);
}
});
jMenu1.add(jMenuItem1);
jMenuBar1.add(jMenu1);
setJMenuBar(jMenuBar1);
org.jdesktop.layout.GroupLayout layout = new
org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jLabel1)
.add(jLabel2)
.add(jSeparator1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 479,
Short.MAX_VALUE)
.add(layout.createSequentialGroup()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(org.jdesktop.layout.GroupLayout.LEADING,
layout.createSequentialGroup()
.add(121, 121, 121)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(jButton2)
.add(jButton1))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)

.add(jLabel7, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(jLabel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jLabel6))
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jLabel8))
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jLabel9)))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
.add(jLabel5)
.add(jLabel4)
.add(jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
80, Short.MAX_VALUE)
.add(jTextField2)
.add(jTextField3))))
.addContainerGap())
.add(layout.createSequentialGroup()
.add(86, 86, 86)
.add(jButton3)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 140,
Short.MAX_VALUE)
.add(jButton4)
.add(97, 97, 97))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(jLabel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 23,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLabel2)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jSeparator1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(14, 14, 14)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton1)
.add(jLabel3)
.add(jLabel4))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)

.add(jButton2)
.add(jLabel7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jLabel5))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel6)
.add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel8)
.add(jTextField2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel9)
.add(jTextField3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 19,
Short.MAX_VALUE)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton3)
.add(jButton4))
.add(33, 33, 33))
);
pack();
}// </editor-fold>//GEN-END:initComponents
public void update(){
g.UnitCount = dp.getUnitCount();
g.AttributeCount = dp.getAttributCount();
this.jLabel4.setText("" + g.AttributeCount);
this.jLabel5.setText("" + g.UnitCount); }
private void BuatDatabase(java.awt.event.ActionEvent evt) {//GENFIRST:event_BuatDatabase
dp.buatDatabase();
}//GEN-LAST:event_BuatDatabase
private void hitung(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_hitung
try{
g.ClusterCount = Integer.parseInt(this.jTextField1.getText());
g.MaxIterate = Integer.parseInt(this.jTextField2.getText());
g.MinError = Double.parseDouble(this.jTextField3.getText());
}catch(Exception e){
e.printStackTrace();

JOptionPane.showMessageDialog(null, "cluster / Max Iterate / Error gak valid");


System.exit(1);
}
f4 = new Frame4();
f4.update();
f4.setVisible(true);
}//GEN-LAST:event_hitung
private void tambahunit(java.awt.event.ActionEvent evt) {//GENFIRST:event_tambahunit
f3.update();
f3.setVisible(true);
}//GEN-LAST:event_tambahunit
private void tampilatribut(java.awt.event.ActionEvent evt) {//GENFIRST:event_tampilatribut
f2.update();
f2.setVisible(true);
}//GEN-LAST:event_tampilatribut
private void keluar(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_keluar
System.exit(1);
}//GEN-LAST:event_keluar
@param args the command line arguments
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Frame().setVisible(true);
}
}); }
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;

}
* Frame2.java
package skripsikojek;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
* @author Andhika
public class Frame2 extends javax.swing.JFrame implements Interf{
private JTextField text[];
private JLabel label[];
private Datapenjualan dp;
private GlobalVar g = new GlobalVar();
private Interf f;
public Frame2() {
initComponents();
dp = new Datapenjualan(); }
public Frame2(Interf i){
f = i;
initComponents();
dp = new Datapenjualan(); }
public void update(){
SwingUtilities.updateComponentTreeUI(this.jPanel1);
this.jPanel1.removeAll();
g.UnitCount = dp.getUnitCount();
label = new JLabel[g.UnitCount];
text = new JTextField[g.UnitCount];
for(int i=0; i < label.length; i++){
label[i]= new JLabel(dp.getUnitDescr(i));
text[i] = new JTextField();
this.jPanel1.add(this.label[i]);
this.jPanel1.add(this.text[i]);
} }
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GENBEGIN:initComponents
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jSeparator1 = new javax.swing.JSeparator();
jLabel2 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jSeparator2 = new javax.swing.JSeparator();
jLabel3 = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jLabel1.setText("Tambah Atribut");
jLabel2.setText("Masukan Nama Atribut");

jLabel3.setText("Nilai untuk :");


jPanel1.setLayout(new java.awt.GridLayout(0, 2));
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Input Unit"));
jButton1.setText("Tambah Atribut");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tambahatribut(evt);
}
});
jButton2.setText("Batal");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
batal(evt);
}
});
org.jdesktop.layout.GroupLayout layout = new
org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(74, 74, 74)
.add(jButton1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 85,
Short.MAX_VALUE)
.add(jButton2)
.add(79, 79, 79))
.add(layout.createSequentialGroup()
.addContainerGap()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 390,
Short.MAX_VALUE)
.add(layout.createSequentialGroup()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jSeparator1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
380, Short.MAX_VALUE)
.add(layout.createSequentialGroup()
.add(jLabel1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED))
.add(layout.createSequentialGroup()
.add(jLabel2)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jTextField1,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 268, Short.MAX_VALUE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED))
.add(layout.createSequentialGroup()
.add(jSeparator2,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED))
.add(jLabel3))

.addContainerGap())))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jLabel1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jSeparator1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel2)
.add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(14, 14, 14)
.add(jSeparator2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLabel3)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 242,
Short.MAX_VALUE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton1)
.add(jButton2))
.add(24, 24, 24))
);
pack(); }// </editor-fold>//GEN-END:initComponents
private void tambahatribut(java.awt.event.ActionEvent evt) {//GENFIRST:event_tambahatribut
double value [] = new double[text.length];
for(int i=0; i<text.length; i++){
try{
value[i] = Double.parseDouble(text[i].getText());
}catch(Exception e){
e.printStackTrace();
System.out.println("l " + g.UnitCount);
System.out.println("i " + i);
JOptionPane.showMessageDialog(null, "gak bisa pake nilai : " +
text[i].getText());
}
}
dp.TambahAttributBaru(this.jTextField1.getText(), value);
f.update();
this.setVisible(false);
}//GEN-LAST:event_tambahatribut
private void batal(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_batal

this.setVisible(false); }//GEN-LAST:event_batal
* @param args the command line arguments
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JSeparator jSeparator2;
private javax.swing.JTextField jTextField1;
}
* Frame3.java
package skripsikojek;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
* @author Andhika
public class Frame3 extends javax.swing.JFrame implements Interf{
private GlobalVar g = new GlobalVar();
private JTextField text[];
private JLabel label[];
private Datapenjualan dp;
private Interf f;
public Frame3() {
initComponents();
dp = new Datapenjualan();
}
public Frame3(Interf i){
initComponents();
f = i;
dp = new Datapenjualan();
}
public void update(){
SwingUtilities.updateComponentTreeUI(this.jPanel1);
this.jPanel1.removeAll();
g.AttributeCount = dp.getAttributCount();
label = new JLabel[g.AttributeCount];
text = new JTextField[g.AttributeCount];
for(int i=0; i < label.length; i++){
label[i]= new JLabel(dp.getAtt(i));
text[i] = new JTextField();
this.jPanel1.add(this.label[i]);
this.jPanel1.add(this.text[i]);
} }

// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GENBEGIN:initComponents


private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jSeparator1 = new javax.swing.JSeparator();
jLabel2 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jSeparator2 = new javax.swing.JSeparator();
jLabel3 = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Tambah Unit");
jLabel2.setText("Masukan Nama Unit :");
jLabel3.setText("Nilai untuk :");
jPanel1.setLayout(new java.awt.GridLayout(0, 2));
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Input Atribut"));
jButton1.setText("Tambah Unit");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tambahunit(evt);
}
});
jButton2.setText("Batal");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
batal2(evt);
}
});
org.jdesktop.layout.GroupLayout layout = new
org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 427,
Short.MAX_VALUE)
.add(layout.createSequentialGroup()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(jLabel1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 358,
Short.MAX_VALUE))
.add(jSeparator1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
417, Short.MAX_VALUE)
.add(layout.createSequentialGroup()
.add(jLabel2)

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jTextField1,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 313, Short.MAX_VALUE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED))
.add(layout.createSequentialGroup()
.add(jLabel3)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED))
.add(org.jdesktop.layout.GroupLayout.TRAILING,
layout.createSequentialGroup()
.add(jSeparator2,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 417, Short.MAX_VALUE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED))
.add(layout.createSequentialGroup()
.add(59, 59, 59)
.add(jButton1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 136,
Short.MAX_VALUE)
.add(jButton2)
.add(74, 74, 74)))
.addContainerGap())))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jLabel1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jSeparator1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLabel2))
.add(layout.createSequentialGroup()
.add(6, 6, 6)
.add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
.add(9, 9, 9)
.add(jSeparator2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLabel3)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 268,
Short.MAX_VALUE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton1)
.add(jButton2))
.add(28, 28, 28))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void tambahunit(java.awt.event.ActionEvent evt) {//GENFIRST:event_tambahunit
double value [] = new double[text.length];
for(int i=0; i<text.length; i++){
try{
value[i] = Double.parseDouble(text[i].getText());
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, "gak bisa pake nilai : " +
text[i].getText());
}
}
dp.TambahUnitBaru(this.jTextField1.getText(), value);
f.update();
this.setVisible(false);
}//GEN-LAST:event_tambahunit
private void batal2(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_batal2
this.setVisible(false);
}//GEN-LAST:event_batal2
* @param args the command line arguments
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JSeparator jSeparator2;
private javax.swing.JTextField jTextField1;
}
* Frame4.java
package skripsikojek;
import javax.swing.JLabel;
import javax.swing.table.AbstractTableModel;
* @author Andhika
public class Frame4 extends javax.swing.JFrame implements Interf{
private Frame5 f5;
private double A1[][];
private double rand[][];
private double A4[][];
private double p[];
private double pt1[];

private double rand1[][];


private double rand2[][];
private Datapenjualan dp;
private Cluster c[];
private int counter = 1;
private double sigma[];
private int maxIndex[];
private GlobalVar g = new GlobalVar();
public Frame4() {
dp = new Datapenjualan();
initComponents(); }
private void createMatriksData(){
A1 = this.dp.getData();
System.out.println("A1 - " + A1[1][1]); }
private void randomData(){
rand1 = new double[g.ClusterCount][g.UnitCount];
System.out.println("c.length" + c.length);
System.out.println("g.unitcount"+ g.UnitCount);
for(int i=0; i<c.length; i++)
for(int j=0; j<g.UnitCount; j++)
rand1[i][j] = (Math.random()); }
private void kuadratRand1(){
for(int i=0; i<c.length; i++){
c[i].rand1Kuadrat = new double[g.UnitCount];
for(int j=0; j<g.UnitCount; j++){
c[i].rand1Kuadrat[j] = 0.0;
c[i].rand1Kuadrat[j] = rand1[i][j] * rand1[i][j];
} } }
private void rand1_kali_A1(){
for(int h=0; h<c.length; h++){
c[h].A2 = new double[g.AttributeCount][g.UnitCount];
for(int j=0; j<g.AttributeCount;j++){
for(int i = 0; i<g.UnitCount; i++){
c[h].A2[j][i] = c[h].rand1Kuadrat[i] * A1[j][i]; } } } }
private void total_rand1_kuadrat(){
for(int h=0; h<c.length;h++){
c[h].totalrand1kuadrat = 0;
for(int i=0; i< g.UnitCount; i++){
c[h].totalrand1kuadrat += c[h].rand1Kuadrat[i];
} } }
private void sigma_A2_bagi_total_rand1_kuadrat(){
double temp = 0;
for(int h=0; h<c.length; h++){
c[h].sigma2 = new double[g.AttributeCount];
for(int j=0; j<g.AttributeCount; j++){
temp = 0.0;
for(int i=0; i<g.UnitCount; i++){
temp +=c[h].A2[j][i];
}

c[h].sigma2[j] = temp / c[h].totalrand1kuadrat;


} } }
private void data_penjualan_kurang_sigma2_kuadrat(){
for(int h=0; h<c.length; h++){
c[h].A3 = new double[g.AttributeCount][g.UnitCount];
for(int j=0; j<g.AttributeCount; j++){
for(int i=0; i<g.UnitCount; i++){
c[h].A3[j][i] = (A1[j][i] - c[h].sigma2[j]) * (A1[j][i] - c[h].sigma2[j]); }}}}
private void total_A3(){
for(int h=0; h<c.length; h++){
c[h].totalA3 = new double[g.UnitCount];
for(int i=0; i<g.UnitCount; i++){
c[h].totalA3[i] = 0.0;
for(int j=0; j<g.AttributeCount; j++){
c[h].totalA3[i] += c[h].A3[j][i];
} } } }
private void A3_kali_rand1kuadrat(){
for(int h=0; h<c.length; h++){
c[h].A3edit = new double[g.UnitCount];
for(int i=0; i<g.UnitCount; i++){
c[h].A3edit[i] = c[h].totalA3[i] * c[h].rand1Kuadrat[i];
} } }
private void Fungsi_Objektif_iterasi_ke_n(){
p[counter] = 0;
for(int h=0; h<c.length; h++){
for(int i=0; i<g.UnitCount; i++){
p[counter] += c[h].A3edit[i];
} } }
private void A3_pangkat_min_satu(){
for(int h=0; h<c.length; h++){
c[h].sigmaA3 = new double[g.UnitCount];
for(int i=0; i<g.UnitCount; i++){
c[h].sigmaA3[i] = 1 / c[h].totalA3[i]; } } }
private void total_sigmaA3(){
sigma = new double[g.UnitCount];
for(int i=0; i<g.UnitCount; i++){
sigma[i] = 0.0;
for(int h=0; h<c.length; h++){
sigma[i] += c[h].sigmaA3[i]; } } }
private void randBaru(){
for(int h=0; h<c.length; h++){
for(int i=0; i<g.UnitCount; i++){
rand1[h][i] = c[h].sigmaA3[i] / sigma[i]; } } }
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GENBEGIN:initComponents
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();


jPanel1 = new javax.swing.JPanel();
jLabel4 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
jTable2 = new javax.swing.JTable();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
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"
}
));
jScrollPane1.setViewportView(jTable1);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Hasil pengklusteran");
jLabel2.setText("Jumlah iterasi yang telah dilakukan :");
jLabel3.setText("jLabel3");
jPanel1.setLayout(new java.awt.GridLayout(0, 2));
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Anggota
Kluster"));
jLabel4.setText("Dengan Pusat Rata-Rata :");
jPanel2.setLayout(new java.awt.BorderLayout());
jTable2.setModel(new model());
jScrollPane2.setViewportView(jTable2);
jPanel2.add(jScrollPane2, java.awt.BorderLayout.CENTER);
jButton1.setText("Ulang");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ulang(evt); } });
jButton2.setText("Keluar");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
keluar(evt);
}
});
jButton3.setText("Lihat Data");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
data(evt);
} });
org.jdesktop.layout.GroupLayout layout = new
org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(org.jdesktop.layout.GroupLayout.LEADING,
layout.createSequentialGroup()
.addContainerGap()
.add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 395,
Short.MAX_VALUE))
.add(org.jdesktop.layout.GroupLayout.LEADING,
layout.createSequentialGroup()
.add(149, 149, 149)
.add(jLabel1))
.add(org.jdesktop.layout.GroupLayout.LEADING,
layout.createSequentialGroup()
.addContainerGap()
.add(jLabel2)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLabel3))
.add(org.jdesktop.layout.GroupLayout.LEADING,
layout.createSequentialGroup()
.addContainerGap()
.add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 395,
Short.MAX_VALUE))
.add(org.jdesktop.layout.GroupLayout.LEADING,
layout.createSequentialGroup()
.addContainerGap()
.add(jLabel4)))
.addContainerGap())
.add(org.jdesktop.layout.GroupLayout.TRAILING,
layout.createSequentialGroup()
.add(74, 74, 74)
.add(jButton1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 38,
Short.MAX_VALUE)
.add(jButton3)
.add(29, 29, 29)
.add(jButton2)
.add(71, 71, 71))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jLabel1)
.add(25, 25, 25)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel2)

.add(jLabel3))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLabel4)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 213,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(52, 52, 52)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jButton2)
.add(jButton1)
.add(jButton3))
.addContainerGap(140, Short.MAX_VALUE))
);
pack(); }// </editor-fold>//GEN-END:initComponents
private void data(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_data
f5 = new Frame5();
f5.setVisible(true); }//GEN-LAST:event_data
private void keluar(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_keluar
System.exit(1); }//GEN-LAST:event_keluar
private void ulang(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ulang
this.setVisible(false); }//GEN-LAST:event_ulang
public void update() {
c = new Cluster[this.g.ClusterCount];
for(int i=0; i<c.length;i++){
c[i] = new Cluster();
}
rand2 = new double[g.ClusterCount][g.UnitCount];
p = new double[g.MaxIterate + 2];
System.out.println("min error " + g.MinError);
p[0] = 0.0;
createMatriksData();
randomData();
do{
this.kuadratRand1();
this.rand1_kali_A1();
this.total_rand1_kuadrat();
this.sigma_A2_bagi_total_rand1_kuadrat();
this.data_penjualan_kurang_sigma2_kuadrat();
this.total_A3();
this.A3_kali_rand1kuadrat();
this.Fungsi_Objektif_iterasi_ke_n();
this.A3_pangkat_min_satu();
this.total_sigmaA3();
this.randBaru();

System.out.println("counter : " + counter);


t = p[counter] - p[counter-1];
System.out.println("p["+counter+"] - p["+ counter+"] : " + Math.abs(t));
counter++;
if( Math.abs(t) < g.MinError){
System.out.println("masuk sini");
break;
}
if((counter > g.MaxIterate)){
System.out.println("break");
break;
}
}while( true );
updatePanel(); }
double t;
*@param args the command line arguments
private void updatePanel(){
cariMax();
for(int i=0; i<maxIndex.length; i++){
System.out.println(maxIndex[i]);
}
String temp = "-";
int counter1 = 0;
for(int i=0; i<g.ClusterCount; i++){
counter1++;
this.jPanel1.add(new JLabel("Cluster " + counter1));
temp = "-";
for(int j=0; j<g.UnitCount; j++){
if(maxIndex[j] == i){
temp += dp.getUnitDescr(j)+ " ";
}
}
this.jPanel1.add(new JLabel(temp));
}
counter--;
this.jLabel3.setText("" + counter);
}
private void cariMax(){
maxIndex = new int[g.UnitCount];
double temp = 0.0;
for(int i=0; i< g.UnitCount; i++){
temp = 0.0;
for(int j=0; j<g.ClusterCount; j++){
if(rand1[j][i] >= temp){
maxIndex[i] = j;
temp = rand1[j][i];
}
}
} }
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;


private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable jTable1;
private javax.swing.JTable jTable2;
// End of variables declaration//GEN-END:variables
private model m = new model();
private class model extends AbstractTableModel{
public void update(){
this.fireTableDataChanged();
}
public int getRowCount() {
return g.ClusterCount;
}
public int getColumnCount() {
return g.AttributeCount + 1;
}
public Object getValueAt(int rowIndex, int columnIndex) {
int counter = rowIndex + 1;
if(columnIndex == 0){
return "Cluster " + counter;
}
else{
return "" + c[rowIndex].sigma2[columnIndex-1];
}
}
public String getColumnName(int column){
if(column == 0){ return "";}
else { return dp.getAtt(column-1);}
}
} }
* Frame5.java
package skripsikojek;
import javax.swing.table.AbstractTableModel;
* @author Andhika
public class Frame5 extends javax.swing.JFrame {
private GlobalVar g = new GlobalVar();
private Datapenjualan dp = new Datapenjualan();
public Frame5() {
initComponents(); }
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GENBEGIN:initComponents
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jSeparator1 = new javax.swing.JSeparator();
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Data");
jTable1.setModel(new model());

jScrollPane1.setViewportView(jTable1);
org.jdesktop.layout.GroupLayout jPanel1Layout = new
org.jdesktop.layout.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING,
jPanel1Layout.createSequentialGroup()
.add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 385,
Short.MAX_VALUE)
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 275,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jButton1.setText("Kembali ke Hasil");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
hasil(evt);
}
});
org.jdesktop.layout.GroupLayout layout = new
org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, jSeparator1,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 415, Short.MAX_VALUE)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
.add(layout.createSequentialGroup()
.add(150, 150, 150)
.add(jButton1)
.addContainerGap(156, Short.MAX_VALUE))
.add(layout.createSequentialGroup()
.add(185, 185, 185)
.add(jLabel1)
.addContainerGap(208, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()

.addContainerGap()
.add(jLabel1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jSeparator1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jButton1)
.addContainerGap(15, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void hasil(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_hasil
this.setVisible(false);
}//GEN-LAST:event_hasil
* @param args the command line arguments
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Frame5().setVisible(true);
}
}); }
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JTable jTable1;
// End of variables declaration//GEN-END:variables
private class model extends AbstractTableModel{
private double [][] A1;
public model(){
A1 = dp.getData();
}
public int getRowCount() {
return g.UnitCount;
}
public int getColumnCount() {
return g.AttributeCount + 1;
}
public Object getValueAt(int rowIndex, int columnIndex) {
if(columnIndex == 0)
return dp.getUnitDescr(rowIndex);
return "" + A1[columnIndex-1][rowIndex];
}
public String getColumnName(int column){
if(column == 0){ return "";}
else { return dp.getAtt(column-1);}
} } }

LAMPIRAN IMPLEMENTASI PROGRAM

You might also like