Lampiran Perhitungan ANCOVA
1. Perhitungan Jumlah Kuadrat Total XX
∑ ∑ ..
. , dengan n = 16 dan t = 4.
a. JK Total X1X1 = 36 36 100 8388 – 7310.25 = 1077.75
Ulangan Musik X1 ∑ X1 X12 ∑ X12 Ulangan Musik X1 ∑ X1 X12 ∑ X12
1 A 6 24 36 576 9 A 6 24 36 576 B 6 36 B 6 36 C 6 36 C 6 36 D 6 36 D 6 36 2 A 6 24 36 576 10 A 12 48 144 2304 B 6 36 B 12 144 C 6 36 C 12 144 D 6 36 D 12 144 3 A 17 68 289 4624 11 A 6 24 36 576 B 17 289 B 6 36 C 17 289 C 6 36 D 17 289 D 6 36 4 A 17 68 289 4624 12 A 12 48 144 2304 B 17 289 B 12 144 C 17 289 C 12 144 D 17 289 D 12 144 5 A 17 68 289 4624 13 A 12 48 144 2304 B 17 289 B 12 144 C 17 289 C 12 144 D 17 289 D 12 144 6 A 6 24 36 576 14 A 13 52 169 2704 B 6 36 B 13 169 C 6 36 C 13 169 D 6 36 D 13 169 7 A 12 48 144 2304 15 A 13 52 169 2704 B 12 144 B 13 169 C 12 144 C 13 169 D 12 144 D 13 169 8 A 6 24 36 576 16 A 10 40 100 1600 B 6 36 B 10 100 C 6 36 C 10 100 D 6 36 D 10 100
b. JK Total X2X2 = 324 625 9 4467 – 2462.64 = 2204.36
Ulangan Musik X2 ∑ X2 X22 ∑ X22 Ulangan Musik X2 ∑ X2 X22 ∑ X22
1 A 18 57 324 3249 9 A 5 17 25 289 B 13 169 B 2 4 C 5 25 C 5 25 D 21 441 D 5 25 2 A 25 72 625 5184 10 A 5 32 25 1024 B 16 256 B 15 225 C 3 9 C 10 100 D 28 784 D 2 4 3 A 8 33 64 1089 11 A 5 29 25 841 B 6 36 B 12 144 C 5 25 C 7 49 D 14 196 D 5 25 4 A 3 14 9 196 12 A 3 9 9 81 B 3 9 B 1 1 C 3 9 C 2 4 D 5 25 D 3 9 5 A 4 13 16 169 13 A 2 8 4 64 B 4 16 B 1 1 C 2 4 C 2 4 D 3 9 D 3 9 6 A 4 27 16 729 14 A 3 9 9 81 B 12 144 B 1 1 C 8 64 C 2 4 D 3 9 D 3 9 7 A 2 16 4 256 15 A 2 11 4 121 B 9 81 B 2 4 C 3 9 C 4 16 D 2 4 D 3 9 8 A 10 42 100 1764 16 A 1 8 1 64 B 15 225 B 2 4 C 12 144 C 2 4 D 5 25 D 3 9
c. JK Total X3X3 = 1 1 4 300 – 240.25 = 59.75
Ulangan Musik X3 ∑ X3 X32 ∑ X32 Ulangan Musik X3 ∑ X3 X32 ∑ X32
1 A 1 6 1 36 9 A 1 6 1 36 B 2 4 B 1 1 C 2 4 C 2 4 D 1 1 D 2 4 2 A 1 6 1 36 10 A 1 6 1 36 B 2 4 B 1 1 C 2 4 C 2 4 D 1 1 D 2 4 3 A 3 12 9 144 11 A 1 5 1 25 B 3 9 B 1 1 C 3 9 C 2 4 D 3 9 D 1 1 4 A 4 16 16 256 12 A 2 8 4 64 B 4 16 B 2 4 C 4 16 C 2 4 D 4 16 D 2 4 5 A 4 16 16 256 13 A 2 8 4 64 B 4 16 B 2 4 C 4 16 C 2 4 D 4 16 D 2 4 6 A 1 4 1 16 14 A 2 8 4 64 B 1 1 B 2 4 C 1 1 C 2 4 D 1 1 D 2 4 7 A 1 4 1 16 15 A 2 8 4 64 B 1 1 B 2 4 C 1 1 C 2 4 D 1 1 D 2 4 8 A 1 4 1 16 16 A 2 8 4 64 B 1 1 B 2 4 C 1 1 C 2 4 D 1 1 D 2 4
2. Perhitungan Jumlah Kuadrat Total XY
∑ ∑ .. ..
. , dengan n = 16 dan t = 4.
a. JK Total X1Y = 6 20 6 80 10 100 = 54560 – 54452.8125 = 107.1875
Ulangan Musik X1 Y Ulangan Musik X1 Y
1 A 6 20 9 A 6 85 B 6 40 B 6 95 C 6 70 C 6 100 D 6 80 D 6 80 2 A 6 80 10 A 12 90 B 6 95 B 12 60 C 6 80 C 12 100 D 6 70 D 12 100 3 A 17 60 11 A 6 90 B 17 95 B 6 100 C 17 40 C 6 100 D 17 75 D 6 100 4 A 17 80 12 A 12 80 B 17 60 B 12 90 C 17 40 C 12 80 D 17 80 D 12 80 5 A 17 100 13 A 12 100 B 17 90 B 12 90 C 17 100 C 12 80 D 17 100 D 12 100 6 A 6 60 14 A 13 80 B 6 40 B 13 100 C 6 80 C 13 80 D 6 80 D 13 100 7 A 12 80 15 A 13 40 B 12 80 B 13 90 C 12 100 C 13 40 D 12 80 D 13 60 8 A 6 100 16 A 10 80 B 6 80 B 10 90 C 6 80 C 10 80 D 6 40 D 10 100
b. JK Total X2Y = 18 20 25 80 3 100 = 29945 – 31604.9219 = -1659.92
Ulangan Musik X2 Y Ulangan Musik X2 Y
1 A 18 20 9 A 5 85 B 13 40 B 2 95 C 5 70 C 5 100 D 21 80 D 5 80 2 A 25 80 10 A 5 90 B 16 95 B 15 60 C 3 80 C 10 100 D 28 70 D 2 100 3 A 8 60 11 A 5 90 B 6 95 B 12 100 C 5 40 C 7 100 D 14 75 D 5 100 4 A 3 80 12 A 3 80 B 3 60 B 1 90 C 3 40 C 2 80 D 5 80 D 3 80 5 A 4 100 13 A 2 100 B 4 90 B 1 90 C 2 100 C 2 80 D 3 100 D 3 100 6 A 4 60 14 A 3 80 B 12 40 B 1 100 C 8 80 C 2 80 D 3 80 D 3 100 7 A 2 80 15 A 2 40 B 9 80 B 2 90 C 3 100 C 4 40 D 2 80 D 3 60 8 A 10 100 16 A 1 80 B 15 80 B 2 90 C 12 80 C 2 80 D 5 40 D 3 100
c. JK Total X3Y = 1 20 1 80 2 100 = 9890 – 9871.5625 = 18.4375
Ulangan Musik X3 Y Ulangan Musik X3 Y
1 A 1 20 9 A 1 85 B 2 40 B 1 95 C 2 70 C 2 100 D 1 80 D 2 80 2 A 1 80 10 A 1 90 B 2 95 B 1 60 C 2 80 C 2 100 D 1 70 D 2 100 3 A 3 60 11 A 1 90 B 3 95 B 1 100 C 3 40 C 2 100 D 3 75 D 1 100 4 A 4 80 12 A 2 80 B 4 60 B 2 90 C 4 40 C 2 80 D 4 80 D 2 80 5 A 4 100 13 A 2 100 B 4 90 B 2 90 C 4 100 C 2 80 D 4 100 D 2 100 6 A 1 60 14 A 2 80 B 1 40 B 2 100 C 1 80 C 2 80 D 1 80 D 2 100 7 A 1 80 15 A 2 40 B 1 80 B 2 90 C 1 100 C 2 40 D 1 80 D 2 60 8 A 1 100 16 A 2 80 B 1 80 B 2 90 C 1 80 C 2 80 D 1 40 D 2 100
3. Perhitungan Jumlah Kuadrat Total YY
∑ ∑ ..
. , dengan n = 16 dan t = 4.
JK Total YY = 400 1600 6400 = 430425 – 405609.77 = 24815.2344
Ulangan Musik Y ∑Y Y2 ∑ Y2 Ulangan Musik Y ∑Y Y2 ∑ Y2
1 A 20 210 400 44100 9 A 85 360 7225 129600 B 40 1600 B 95 9025 C 70 4900 C 100 10000 D 80 6400 D 80 6400 2 A 80 325 6400 105625 10 A 90 350 8100 122500 B 95 9025 B 60 3600 C 80 6400 C 100 10000 D 70 4900 D 100 10000 3 A 60 270 3600 72900 11 A 90 390 8100 152100 B 95 9025 B 100 10000 C 40 1600 C 100 10000 D 75 5625 D 100 10000 4 A 80 260 6400 67600 12 A 80 330 6400 108900 B 60 3600 B 90 8100 C 40 1600 C 80 6400 D 80 6400 D 80 6400 5 A 100 390 10000 152100 13 A 100 370 10000 136900 B 90 8100 B 90 8100 C 100 10000 C 80 6400 D 100 10000 D 100 10000 6 A 60 260 3600 67600 14 A 80 360 6400 129600 B 40 1600 B 100 10000 C 80 6400 C 80 6400 D 80 6400 D 100 10000 7 A 80 340 6400 115600 15 A 40 230 1600 52900 B 80 6400 B 90 8100 C 100 10000 C 40 1600 D 80 6400 D 60 3600 8 A 100 300 10000 90000 16 A 80 350 6400 122500 B 80 6400 B 90 8100 C 80 6400 C 80 6400 D 40 1600 D 100 10000
4. Perhitungan Jumlah Kuadrat Perlakuan XX ∑ ∑ .. . , dengan n = 16 dan t = 4. a. JK Perlakuan X1X1 = 29241 329241 29241 29241 7310.25 – 7310.25 = 0 b. JK Perlakuan X2X2 = 10000 12996 5625 11664 2517.8125 – 2462.6406 = 55.1719 c. JK Perlakuan X3X3 = 841 961 1156 961 241.125 – 240.25 = 0.875 Musik ∑X1 ∑X2 ∑X3 ∑X12 ∑X22 ∑X32 A 171 100 29 29241 10000 841 B 171 114 31 29241 12996 961 C 171 75 34 29241 5625 1156 D 171 108 31 29241 11664 961
5. Perhitungan Jumlah Kuadrat Perlakuan XY
∑ ∑ .. .. . , dengan n = 16 dan t = 4. a. JK Perlakuan X1Y = 171 1225 171 1325 = 54452.8125 – 54452.8125 = 0 b. JK Perlakuan X2Y = 100 1225 108 1325 = 31686.25 – 31604.92 = 81.33 c. JK Perlakuan X3Y = = 29 1225 31 1325 = 9870 – 9871.5625 = -1.5625
Musik ∑ X1 ∑ X2 ∑ X3 ∑ Y ∑X12 ∑X22 ∑X32 ∑Y2 A 171 100 29 1225 29241 10000 841 1500625 B 171 114 31 1295 29241 12996 961 1677025 C 171 75 34 1250 29241 5625 1156 1562500 D 171 108 31 1325 29241 11664 961 1755625
6. Perhitungan Jumlah Kuadrat Perlakuan YY
∑ ∑ .. . , dengan n = 16 dan t = 4. JK Perlakuan YY = 1500625 1677025 1562500 1755625 = 405985.9375 – 405609.7656 = 376.1719 Perlakuan ∑ Y ∑ Y2 A 1225 1500625 B 1295 1677025 C 1250 1562500 D 1325 1755625
7. Perhitungan Jumlah Kuadrat Galat XX
a. JK Galat X1X1 = JK Total X1X1 – JK Perlakuan X1X1 = 1077.75 – 0 = 1077.75
b. JK Galat X2X2 = JK Total X2X2 – JK Perlakuan X2X2 = 2204.36 – 55.17 = 2149.19
c. JK Galat X3X3 = JK Total X3X3 – JK Perlakuan X3X3 = 59.75 – 0.875 = 58.875
X1X1 X2X2 X3X3
JK Total 1077.75 2204.359 59.75 JK Perlakuan 0 55.17188 0.875 JK Galat 1077.75 2149.188 58.875
8. Perhitungan Jumlah Kuadrat Galat XY
a. JK Galat X1Y = JK Total X1Y – JK Perlakuan X1Y = 107.1875 – 0 = 107.1875
b. JK Galat X2Y = JK Total X2Y – JK Perlakuan X2Y = -1659.92 – 81.33 = -1741.25
c. JK Galat X3Y = JK Total X3Y – JK Perlakuan X3Y = 18.4375 – (-1.5625) = 20
X1Y X2Y X3Y
JK Total 107.1875 -1659.92 18.4375 JK Perlakuan 0 81.32813 -1.5625
JK Galat 107.1875 -1741.25 20
9. Perhitungan Jumlah Kuadrat Galat YY
JK Galat YY = JK Total YY – JK Perlakuan YY = 24815.2344 – 376.1719 = 24439.0625
YY
JK Total 24815.23 JK Perlakuan 376.1719 JK Galat 24439.06
10. Perhitungan Jumlah Kuadrat Galat Terkoreksi X
a. JK Galat Terkoreksi terhadap X1= JK Galat YY – (JK Galat X1Y)2/JK Galat X1X1 = 24439.0625 – ((107.1875)2/1077.75) = 24428.4022
b. JK Galat Terkoreksi terhadap X2 = JK Galat YY – (JK Galat X2Y)2/JK Galat X2X2 = 24439.0625 – ((-1741.25)2/2149.19) = 23028.3193
c. JK Galat Terkoreksi terhadap X3 = JK Galat YY – (JK Galat X3Y)2/JK Galat X3X3 = 24439.0625 – ((20)2/58.8750 ) = 24432.27
11. Perhitungan Jumlah Kuadrat Total Terkoreksi
a. JK Total Terkoreksi terhadap X1= JK Total YY – (JK Total X1Y)2/JK Total X1X1 = 24815.2344 – ((107.1875)2/1077.75) = 24804.5741
b. JK Total Terkoreksi terhadap X2 = JK Total YY – (JK Total X2Y)2/JK Total X2X2 = 24815.2344 – ((-1659.92)2/2204.36) = 23565.2836
c. JK Total Terkoreksi terhadap X3 = JK Total YY – (JK Total X3Y)2/JKTotal X3X3 = 24815.2344 – ((18.4375)2/59.75) = 24809.54
12. Perhitungan Jumlah Kuadrat Perlakuan Terkoreksi
a. JK Perlakuan Terkoreksi terhadap X1= JK Total Terkoreksi terhadap X1 – JK Galat Terkoreksi terhadap X1 = 24804.5741 – 24428.4022 = 376.1719 b. JK Perlakuan Terkoreksi terhadap X2 = JK Total Terkoreksi terhadap X2 – JK
Galat Terkoreksi terhadap X2 = 23565.2836 – 23028.3193 = 536.9643
c. JK Perlakuan Terkoreksi terhadap X3 = JK Total Terkoreksi terhadap X3 – JK Galat Terkoreksi terhadap X3 = 24809.54 – 24432.27 = 377.2765
13. Perhitungan Kuadrat Tengah Galat
1 1
a. KT Galat Terkoreksi terhadap X1= JK Galat Terkoreksi terhadap X1 / db Galat Terkoreksi = 24428.4022 / (4*(16-1))-1 = 414.0407
b. KT Galat Terkoreksi terhadap X2 = JK Galat Terkoreksi terhadap X2 / db Galat Terkoreksi = 23028.3193 / (4*(16-1))-1 = 390.3105
c. KT Galat Terkoreksi terhadap X3 = JK Galat Terkoreksi terhadap X3 / db Galat Terkoreksi = 24432.27 / (4*(16-1))-1 = 414.1062
14. Perhitungan Kuadrat Tengah Perlakuan Terkoreksi 1
Dari perhitungan yang telah didapat di atas dapat diperoleh :
a. KT Perlakuan Terkoreksi terhadap X1= JK Perlakuan Terkoreksi terhadap X1 / db Perlakuan Terkoreksi = 376.1719 / (4-1) = 125.3906
b. KT Perlakuan Terkoreksi terhadap X2 = JK Perlakuan Terkoreksi terhadap X2 / db Perlakuan Terkoreksi = 536.9643 / (4-1) = 178.9881
c. KT Perlakuan Terkoreksi terhadap X3 = JK Perlakuan Terkoreksi terhadap X3 / db Perlakuan Terkoreksi = 377.2765 / (4-1) = 125.7589
15. Perhitungan F Hitung
1
Dari perhitungan yang telah didapat di atas dapat diperoleh :
a. F Hitung terhadap X1 = KT Perlakuan Terkoreksi terhadap X1 / KT Galat Terkoreksi terhadap X1 = 125.3906 / 414.0407 = 0.3029
b. F Hitung terhadap X2 = KT Perlakuan Terkoreksi terhadap X2 / KT Galat Terkoreksi terhadap X2 = 178.9881 / 390.3105 = 0.4586
c. F Hitung terhadap X3 = KT Perlakuan Terkoreksi terhadap X3 / KT Galat Terkoreksi terhadap X3 = 125.7589 / 414.1062 = 0.3037
Lampiran Tampilan Layar Program
1. Tampilan Layar Awal
3. Tampilan Layar Calculate
Lampiran Listing Program import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.IOException; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFileChooser; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.WindowConstants; import javax.swing.SwingUtilities; import jxl.Cell; import jxl.CellType; import jxl.NumberCell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException;
public class ProgramAncova extends javax.swing.JFrame implements ActionListener{
//for Menu
private JMenuBar jMenuBar1; private JMenuItem jMenuItemExit; private JMenuItem jMenuItemNew; private JMenu jMenuFile;
//for layar awal
private JPanel jPanelAwal; private JButton jButtonNext1;
private JLabel jLabelCaraPemakaian1; private JLabel jLabelCaraPemakaian2; private JLabel jLabelCaraPemakaian3; private JLabel jLabelCaraPemakaian4; private JLabel jLabelCaraPemakaian5; private JLabel jLabelCaraPemakaian6;
private JLabel jLabelCaraPemakaian7; private JLabel jLabelCaraPemakaian8; private JLabel jLabelCaraPemakaian9; private JLabel jLabelCaraPemakaian10; private JLabel jLabelCaraPemakaian11; private JLabel jLabelCaraPemakaian12; private JLabel jLabelCaraPemakaian13; private JLabel jLabelCaraPemakaian14; private JLabel jLabelCaraPemakaian15; private JLabel jLabelCaraPemakaian16; private JLabel jLabelCaraPemakaian17; private JLabel jLabelCaraPemakaian18; private JLabel jLabelCaraPemakaian19; //for layar perhitungan
private JPanel jPanelTengah1; private JPanel jPanelTengah2; private JButton jButtonBrowse; private JButton jButtonCalculate; private JButton jButtonUjiBNT; private JButton jButtonBrowse2; private JTable jTable2;
private JTable jTable1;
private JTextField jTextFieldBrowse; private JTextField jTextFieldBrowse2; private JTextField jTextFieldKesimpulan; private JTextField jTextFieldAlpha;
private JTextField jTextFieldKesimpulan2; private JLabel jLabelFileData;
private JLabel jLabelFileTable; private JLabel jLabelTabelAncova; private JLabel jLabelAlpha;
private JLabel jLabelKesimpulan; private JLabel jLabelKesimpulan2; private JFileChooser fc; File file2; File file; //for data int row; int col;
int returnCalc,returnCalc2, returnCalc3; int returnVal;
int returnValTable;
String[][] data = new String[row][col]; String[] kolom = new String[col];
//perhitungan double jmlJmlXKuadratUmur = 0; double jmlJmlXKuadratWaktu = 0; double jmlJmlXKuadrat3 = 0; double jmlJmlXKuadrat = 0; double jmlJmlYKuadrat = 0; double jmlJmlXkaliYUmur = 0; double jmlJmlXkaliYWaktu = 0; double jmlJmlXkaliY3 = 0; double jmlJmlXkaliY = 0; double xUmurKuadratPerTN = 0; double xWaktuKuadratPerTN = 0; double x3KuadratPerTN = 0; double xKuadratPerTN = 0; double yKuadratPerTN = 0; double xyUmurPerTN = 0; double xyWaktuPerTN = 0; double xy3PerTN = 0; double xyPerTN = 0; double jmlXUmur = 0; double jmlXWaktu = 0; double jmlX3 = 0; double jmlX = 0; double jmlY = 0;
double SxxUmur, SxxWaktu, Syy; double SxyUmur, SxyWaktu; double Sxx3, Sxy3; double temp1 = 0; double temp2 = 0; double temp3 = 0; double temp4 = 0; double temp5 = 0; double temp6 = 0; double temp7 = 0; double temp8 = 0; double temp10 = 0; double temp11 = 0; double temp12 = 0; double pos = 0;
double jmlXUmurKuadratPerT, jmlXWaktuKuadratPerT, jmlX3KuadratPerT; double jmlYKuadratPerT;
double jmlXYUmurPerT, jmlXYWaktuPerT, jmlXY3PerT;
double TxxUmur, TxxWaktu, Tyy, TxyUmur, TxyWaktu, Txx3, Txy3; double ExxUmur, ExxWaktu, Eyy, ExyUmur, ExyWaktu, Exx3, Exy3; double JKGalatUmur, JKGalatWaktu;
double JKPerlakuanTerkoreksiUmur, JKPerlakuanTerkoreksiWaktu; double JKGalat3, JKTotal3, JKPerlakuanTerkoreksi3;
double KTGalatUmur, KTGalatWaktu;
double KTPerlakuanTerkoreksiUmur, KTPerlakuanTerkoreksiWaktu; double KTGalat3, KTPerlakuanTerkoreksi3;
double FhitungUmur, FhitungWaktu, FHitung3; double Ftable, Ttable;
double dbGalatTerkoreksi, dbTotalTerkoreksi; double dbPerlakuanTerkoreksi; double t = 4; //t = perlakuan double n; //n = perulangan //for db double dbPerlakuan;// = t - 1; double dbGalat;// = t * (n - 1); double dbTotal;// = (t * n) - 1; String FtableString, TtableString;
final Object[] columnNamesANCOVA =
{"Perulangan", "Perlakuan", "X1", "X2", "X3", "Y"}; final Object[] columnNamesANCOVATable =
{ "Sumber Keragaman", "derajat bebas", "Jumlah Hasil Kuadrat XX", "Jumlah Hasil Kuadrat XY", "Jumlah Hasil Kuadrat YY", "derajat bebas terkoreksi", "Jumlah Kuadrat", "Kuadrat Tengah", "FHitung" }; public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() { public void run() {
ProgramAncova all = new ProgramAncova(); all.setLocationRelativeTo(null); all.setVisible(true); } }); } public ProgramAncova() { super(); initGUI(); }
private void initGUI() { try {
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); getContentPane().setLayout(null);
jMenuBar1 = new JMenuBar(); setJMenuBar(jMenuBar1);
{
jMenuFile = new JMenu();
jMenuBar1.add(jMenuFile); jMenuFile.setText("File");
{
jMenuItemNew = new JMenuItem();
jMenuFile.add(jMenuItemNew); jMenuItemNew.setText("New");
jMenuItemNew.addActionListener(this); }
{
jMenuItemExit = new JMenuItem();
jMenuFile.add(jMenuItemExit); jMenuItemExit.setText("Exit"); jMenuItemExit.addActionListener(this); } } } {
jPanelAwal = new JPanel();
getContentPane().add(jPanelAwal); jPanelAwal.setBounds(10, 0, 965, 725); jPanelAwal.setLayout(null);
{
jButtonNext1 = new JButton();
jPanelAwal.add(jButtonNext1); jButtonNext1.setText("Next"); jButtonNext1.setBounds(820, 620, 90, 26); jButtonNext1.addActionListener(this); } {
jLabelCaraPemakaian1 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian1);
jLabelCaraPemakaian1.setText("Program ini membaca data dari file exel.");
jLabelCaraPemakaian1.setBounds(100, 0, 700, 200); jLabelCaraPemakaian1.setFont(new Font("",1,20));
} {
jLabelCaraPemakaian2 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian2);
jLabelCaraPemakaian2.setText("Jika menekan tombol \"next\" maka akan diminta file yang diinginkan."); jLabelCaraPemakaian2.setBounds(100, 20, 700, 200); jLabelCaraPemakaian2.setFont(new Font("",1,20));
} {
jLabelCaraPemakaian3 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian3);
jLabelCaraPemakaian3.setText("Format penulisan data pada file excel :");
jLabelCaraPemakaian3.setBounds(100, 40, 700, 200); jLabelCaraPemakaian3.setFont(new Font("",1,20));
} {
jLabelCaraPemakaian4 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian4);
jLabelCaraPemakaian4.setText("1. Kolom A diisi dengan perulangan yang ada secara berurut.");
jLabelCaraPemakaian4.setBounds(100, 60, 700, 200); jLabelCaraPemakaian4.setFont(new Font("",1,20));
} {
jLabelCaraPemakaian5 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian5);
jLabelCaraPemakaian5.setText("2. Kolom B diisi dengan perlakuan yang didapat.");
jLabelCaraPemakaian5.setBounds(100, 80, 700, 200); jLabelCaraPemakaian5.setFont(new Font("",1,20));
} {
jLabelCaraPemakaian6 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian6);
jLabelCaraPemakaian6.setText("3. Kolom C diisi dengan peubah pengiring X1.");
jLabelCaraPemakaian6.setBounds(100, 100, 700, 200); jLabelCaraPemakaian6.setFont(new Font("",1,20));
} {
jLabelCaraPemakaian7 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian7);
jLabelCaraPemakaian7.setText("4. Kolom D diisi dengan peubah pengiring X2.");
jLabelCaraPemakaian7.setBounds(100, 120, 700, 200); jLabelCaraPemakaian7.setFont(new Font("",1,20));
} {
jLabelCaraPemakaian8 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian8);
jLabelCaraPemakaian8.setText("5. Kolom E diisi dengan peubah pengiring X3.");
jLabelCaraPemakaian8.setFont(new Font("",1,20)); }
{
jLabelCaraPemakaian9 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian9);
jLabelCaraPemakaian9.setText("6. Kolom F diisi dengan peubah utama Y.");
jLabelCaraPemakaian9.setBounds(100, 160, 700, 200); jLabelCaraPemakaian9.setFont(new Font("",1,20));
} {
jLabelCaraPemakaian10 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian10);
jLabelCaraPemakaian10.setText("Perlakuan yang diuji sebanyak 4 perlakuan dan peubah pengiring sebanyak 3.");
jLabelCaraPemakaian10.setBounds(100, 180, 800, 200); jLabelCaraPemakaian10.setFont(new Font("",1,20));
} {
jLabelCaraPemakaian11 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian11);
jLabelCaraPemakaian11.setText("Format penulisan data alpha pada file excel :");
jLabelCaraPemakaian11.setBounds(100, 220, 700, 200); jLabelCaraPemakaian11.setFont(new Font("",1,20));
} {
jLabelCaraPemakaian12 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian12);
jLabelCaraPemakaian12.setText("1. Kolom A Baris 1 diisi dengan :");
jLabelCaraPemakaian12.setBounds(100, 240, 800, 200); jLabelCaraPemakaian12.setFont(new Font("",1,20));
} {
jLabelCaraPemakaian13 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian13);
jLabelCaraPemakaian13.setText("=FINV(0.05;(db Perlakuan Terkoreksi);(db Galat Terkoreksi))");
jLabelCaraPemakaian13.setBounds(150, 260, 800, 200); jLabelCaraPemakaian13.setFont(new Font("",1,20));
} {
jLabelCaraPemakaian14 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian14);
jLabelCaraPemakaian14.setText("2. Kolom A Baris 2 diisi dengan :"); jLabelCaraPemakaian14.setBounds(100, 280, 800, 200); jLabelCaraPemakaian14.setFont(new Font("",1,20)); } {
jLabelCaraPemakaian15 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian15); jLabelCaraPemakaian15.setText("=TINV(0.05;(db Galat Terkoreksi))"); jLabelCaraPemakaian15.setBounds(150, 300, 800, 200); jLabelCaraPemakaian15.setFont(new Font("",1,20)); } {
jLabelCaraPemakaian16 = new JLabel(); jPanelAwal.add(jLabelCaraPemakaian16);
jLabelCaraPemakaian16.setText("db Perlakuan Terkoreksi dan db Galat Terkoreksi didapat dari tabel ANCOVA "); jLabelCaraPemakaian16.setBounds(100, 320, 800, 200); jLabelCaraPemakaian16.setFont(new Font("",1,20)); } } pack(); this.setSize(1000, 750); } catch (Exception e) {
//add your error handling code here e.printStackTrace();
} }
@Override
public void actionPerformed(ActionEvent e) { if(e.getSource() == jMenuItemExit){ System.exit(0); } if(e.getSource() == jMenuItemNew){ jPanelTengah1.setVisible(false); jPanelAwal.setVisible(true); jPanelTengah2.setVisible(false); } if(e.getSource() == jButtonNext1){ jPanelAwal.setVisible(false); {
jPanelTengah1 = new JPanel();
getContentPane().add(jPanelTengah1); jPanelTengah1.setBounds(10, 0, 965, 725);
{
jLabelFileData = new JLabel(); jPanelTengah1.add(jLabelFileData); jLabelFileData.setText("File Data :"); jLabelFileData.setBounds(12, 12, 60, 26);
}
{
jTextFieldBrowse = new JTextField(); jPanelTengah1.add(jTextFieldBrowse); jTextFieldBrowse.setText(""); jTextFieldBrowse.setBounds(90, 12, 740, 26); jTextFieldBrowse.setEditable(false); } {
jButtonBrowse = new JButton(); fc = new JFileChooser(); jPanelTengah1.add(jButtonBrowse); jButtonBrowse.setText("Browse"); jButtonBrowse.setBounds(860, 12, 100, 26); jButtonBrowse.addActionListener(this); } } }
// TODO Auto-generated method stub if(e.getSource() == jButtonBrowse){ returnVal = fc.showOpenDialog(ProgramAncova.this); returnVal = returnCalc; if(returnVal == JFileChooser.APPROVE_OPTION){ file = fc.getSelectedFile(); jTextFieldBrowse.setText(file.getPath()); try { Workbook wb = Workbook.getWorkbook(file); Sheet sit = wb.getSheet(0);
int row = sit.getRows(); int col = sit.getColumns();
String[][] data = new String[row][col]; String[] kolom = new String[col];
for (int rowKe = 0; rowKe < row; rowKe++) { for (int colKe = 0; colKe < col; colKe++) {
Cell cell = sit.getCell(colKe, rowKe); if(cell.getType() == CellType.NUMBER){
NumberCell numberCell = NumberCell)cell; int angka =
Double.valueOf(numberCell.getValue()).int Value();
data[rowKe][colKe] = Integer.toString(angka); }else { data[rowKe][colKe] = cell.getContents(); } } } {
jPanelTengah2 = new JPanel();
getContentPane().add(jPanelTengah2); jPanelTengah2.setBounds(12, 70, 950, 160); jPanelTengah2.setLayout(null);
{
jLabelTabelAncova = new JLabel(); jPanelTengah1.add(jLabelTabelAncova);
jLabelTabelAncova.setText("Tabel ANCOVA"); jLabelTabelAncova.setBounds(12, 50, 100, 20); }
{
JTable table = new JTable(data, columnNamesANCOVA);
//Create the scroll pane and add the table to it. JScrollPane scrollPaneTblData = JTable.createScrollPaneForTable(table); scrollPaneTblData.setBounds(12, 10, 935, 135); jPanelTengah2.add(scrollPaneTblData); table.enable(false); } {
jLabelAlpha = new JLabel(); jPanelTengah1.add(jLabelAlpha); jLabelAlpha.setText("Alpha :");
jLabelAlpha.setBounds(12, 226, 43, 19); }
{
jTextFieldAlpha = new JTextField(); jPanelTengah1.add(jTextFieldAlpha); jTextFieldAlpha.setText("0,05"); jTextFieldAlpha.setBounds(67, 223, 34, 26); jTextFieldAlpha.setEditable(false); } {
jButtonCalculate = new JButton(); jPanelTengah1.add(jButtonCalculate); jButtonCalculate.setText("Calculate");
jButtonCalculate.setBounds(860, 222, 100, 26); jButtonCalculate.addActionListener(this); }
jButtonBrowse.setEnabled(false); }
} catch (BiffException e1) {
// TODO Auto-generated catch block e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block e1.printStackTrace();
JDialog.setDefaultLookAndFeelDecorated(true);
JOptionPane.showMessageDialog(null, "Error : " + e1, "Error !", JOptionPane.ERROR_MESSAGE); } } } if(e.getSource() == jButtonCalculate){ returnVal = returnCalc2; if(returnCalc == JFileChooser.APPROVE_OPTION){ file = fc.getSelectedFile(); jTextFieldBrowse.setText(file.getPath()); try { Workbook wb = Workbook.getWorkbook(file);
Sheet sit = wb.getSheet(0); //mendapatkan sheet pertama int row = sit.getRows(); //baris terakhir yang terisi int col = sit.getColumns(); //kolom terakhir yang terisi n = row / t;
String[][] data = new String[row][col]; String[] kolom = new String[col];
for (int rowKe = 0; rowKe < row; rowKe++) { for (int colKe = 0; colKe < col; colKe++) {
cell = sit.getCell(colKe, rowKe);
if(cell.getType() == CellType.NUMBER){ NumberCell numberCell = (NumberCell)cell; angka = Double.valueOf(numberCell.getValue()).intVal ue(); data[rowKe][colKe] = Integer.toString(angka); }else { data[rowKe][colKe] = cell.getContents(); } } } //buat XX umur
jmlJmlXKuadratUmur = jmlJmlXKuadratUmur + (Double.parseDouble(data[i][2]) * Double.parseDouble(data[i][2])); jmlJmlXKuadratWaktu = jmlJmlXKuadratWaktu + (Double.parseDouble(data[i][3]) * Double.parseDouble(data[i][3])); jmlJmlXKuadrat3 = jmlJmlXKuadrat3 + (Double.parseDouble(data[i][4]) * Double.parseDouble(data[i][4])); xUmurKuadratPerTN = xUmurKuadratPerTN + Double.parseDouble(data[i][2]); xWaktuKuadratPerTN = xWaktuKuadratPerTN + Double.parseDouble(data[i][3]); x3KuadratPerTN = x3KuadratPerTN + Double.parseDouble(data[i][4]);
temp1 = temp1 + Double.parseDouble(data[i][2]); temp6 = temp6 + Double.parseDouble(data[i][3]); temp11 = temp11 + Double.parseDouble(data[i][4]); pos += 1;
if(pos == 4){
temp2 = temp2 + (temp1 * temp1); temp7 = temp7 + (temp6 * temp6); temp12 = temp12 + (temp11 * temp11); temp1 = 0; temp6 = 0; temp11 = 0; pos = 0; } }
double xUmurJumlah1 = 0, xUmurJumlah2 = 0; double xUmurJumlah3 = 0, xUmurJumlah4 = 0; double xWaktuJumlah1 = 0, xWaktuJumlah2 = 0; double xWaktuJumlah3 = 0, xWaktuJumlah4 = 0; double x3Jumlah1 = 0, x3Jumlah2 = 0;
double x3Jumlah3 = 0, x3Jumlah4 = 0; double yJumlah1 = 0, yJumlah2 = 0; double yJumlah3 = 0, yJumlah4 = 0; int jnsPerlakuan;
//for jumlah tiap perlakuan umur for(int i = 0; i < row; i++){
jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 1){
xUmurJumlah1 = xUmurJumlah1 +
(Double.parseDouble(data[i][2])); }
}
for(int i = 0; i < row; i++){ jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 2){ xUmurJumlah2 = xUmurJumlah2 + (Double.parseDouble(data[i][2])); } }
for(int i = 0; i < row; i++){ jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 3){ xUmurJumlah3 = xUmurJumlah3 + (Double.parseDouble(data[i][2])); } }
for(int i = 0; i < row; i++){ jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 0){ xUmurJumlah4 = xUmurJumlah4 + (Double.parseDouble(data[i][2])); } }
//for jumlah tiap perlakuan waktu for(int i = 0; i < row; i++){
jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 1){ xWaktuJumlah1 = xWaktuJumlah1 + (Double.parseDouble(data[i][3])); } }
for(int i = 0; i < row; i++){ jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 2){ xWaktuJumlah2 = xWaktuJumlah2 + (Double.parseDouble(data[i][3])); } }
jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 3){ xWaktuJumlah3 = xWaktuJumlah3 + (Double.parseDouble(data[i][3])); } }
for(int i = 0; i < row; i++){ jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 0){ xWaktuJumlah4 = xWaktuJumlah4 + (Double.parseDouble(data[i][3])); } }
//for jumlah tiap perlakuan 3 for(int i = 0; i < row; i++){
jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 1){ x3Jumlah1 = x3Jumlah1 + (Double.parseDouble(data[i][4])); } }
for(int i = 0; i < row; i++){ jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 2){ x3Jumlah2 = x3Jumlah2 + (Double.parseDouble(data[i][4])); } }
for(int i = 0; i < row; i++){ jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 3){ x3Jumlah3 = x3Jumlah3 + (Double.parseDouble(data[i][4])); } }
for(int i = 0; i < row; i++){ jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 0){ x3Jumlah4 = x3Jumlah4 + (Double.parseDouble(data[i][4])); } }
double xUmurJumlah = 0, xWaktuJumlah = 0, x3Jumlah; xUmurJumlah = (xUmurJumlah1 * xUmurJumlah1) +
(xUmurJumlah2 * xUmurJumlah2) + (xUmurJumlah3 * xUmurJumlah3) + (xUmurJumlah4 * xUmurJumlah4);
xWaktuJumlah = (xWaktuJumlah1 * xWaktuJumlah1) + (xWaktuJumlah2 * xWaktuJumlah2) +
(xWaktuJumlah3 * xWaktuJumlah3) + (xWaktuJumlah4 * xWaktuJumlah4);
x3Jumlah = (x3Jumlah1 * x3Jumlah1) + (x3Jumlah2 * x3Jumlah2) + (x3Jumlah3 * x3Jumlah3) + (x3Jumlah4 * x3Jumlah4);
xUmurKuadratPerTN = (xUmurKuadratPerTN * xUmurKuadratPerTN) / (t * n);
xWaktuKuadratPerTN = (xWaktuKuadratPerTN * xWaktuKuadratPerTN) / (t * n);
x3KuadratPerTN = (x3KuadratPerTN * x3KuadratPerTN) / (t * n);
SxxUmur = jmlJmlXKuadratUmur - xUmurKuadratPerTN; SxxWaktu = jmlJmlXKuadratWaktu - xWaktuKuadratPerTN; Sxx3 = jmlJmlXKuadrat3 - x3KuadratPerTN;
jmlXUmurKuadratPerT = xUmurJumlah / n; jmlXWaktuKuadratPerT = xWaktuJumlah / n; jmlX3KuadratPerT = x3Jumlah / n;
TxxUmur = jmlXUmurKuadratPerT - xUmurKuadratPerTN; TxxWaktu = jmlXWaktuKuadratPerT -
xWaktuKuadratPerTN;
Txx3 = jmlX3KuadratPerT - x3KuadratPerTN; ExxUmur = SxxUmur - TxxUmur;
ExxWaktu = SxxWaktu - TxxWaktu; Exx3 = Sxx3 - Txx3; //buat YY for(int i=0;i<row;i++){ jmlJmlYKuadrat = jmlJmlYKuadrat + (Double.parseDouble(data[i][5]) * Double.parseDouble(data[i][5])); yKuadratPerTN = yKuadratPerTN + Double.parseDouble(data[i][5]); temp1 = temp1 + Double.parseDouble(data[i][5]);
pos += 1;
if(pos % 4 == 0){
temp3 = temp3 + (temp1 * temp1); temp1 = 0;
} }
//for jumlah tiap YY for(int i = 0; i < row; i++){
jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 1){ yJumlah1 = yJumlah1 + (Double.parseDouble(data[i][5])); } }
for(int i = 0; i < row; i++){ jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 2){ yJumlah2 = yJumlah2 + (Double.parseDouble(data[i][5])); } }
for(int i = 0; i < row; i++){ jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 3){ yJumlah3 = yJumlah3 + (Double.parseDouble(data[i][5])); } }
for(int i = 0; i < row; i++){ jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 0){ yJumlah4 = yJumlah4 + (Double.parseDouble(data[i][5])); } } double yJumlah;
yJumlah = (yJumlah1 * yJumlah1) + (yJumlah2 * yJumlah2) + (yJumlah3 * yJumlah3) + (yJumlah4 * yJumlah4); yKuadratPerTN = (yKuadratPerTN * yKuadratPerTN) / (t *
n);
jmlYKuadratPerT = yJumlah / n;
Tyy = jmlYKuadratPerT - yKuadratPerTN; Eyy = Syy - Tyy;
//buat XY for(int i=0;i<row;i++){ jmlJmlXkaliYUmur = jmlJmlXkaliYUmur + (Double.parseDouble(data[i][2]) * Double.parseDouble(data[i][5])); jmlJmlXkaliYWaktu = jmlJmlXkaliYWaktu + (Double.parseDouble(data[i][3]) * Double.parseDouble(data[i][5])); jmlJmlXkaliY3 = jmlJmlXkaliY3 + (Double.parseDouble(data[i][4]) * Double.parseDouble(data[i][5])); jmlXUmur = jmlXUmur + Double.parseDouble(data[i][2]); jmlXWaktu = jmlXWaktu + Double.parseDouble(data[i][3]); jmlX3 = jmlX3 + Double.parseDouble(data[i][4]); jmlY = jmlY + Double.parseDouble(data[i][5]); temp1 = temp1 + Double.parseDouble(data[i][2]); temp4 = temp4 + Double.parseDouble(data[i][5]); temp6 = temp6 + Double.parseDouble(data[i][3]); temp11 = temp11 + Double.parseDouble(data[i][4]); pos += 1;
if(pos % 4 == 0){
temp5 = temp5 + (temp1 * temp4); temp8 = temp8 + (temp6 * temp4); temp10 = temp10 + (temp11 * temp4); temp1 = 0; temp4 = 0; temp6 = 0; temp11 = 0; } }
//for jumlah tiap XY
double xyUmurJumlah = 0, xyWaktuJumlah, xy3Jumlah; xyUmurJumlah = (yJumlah1 * xUmurJumlah1) + (yJumlah2
* xUmurJumlah2) + (yJumlah3 * xUmurJumlah3) + (yJumlah4 * xUmurJumlah4);
xyWaktuJumlah = (yJumlah1 * xWaktuJumlah1) + (yJumlah2 * xWaktuJumlah2) + (yJumlah3 *
xWaktuJumlah3) + (yJumlah4 * xWaktuJumlah4);
xy3Jumlah = (yJumlah1 * x3Jumlah1) + (yJumlah2 * x3Jumlah2) + (yJumlah3 * x3Jumlah3) + (yJumlah4 * x3Jumlah4);
xyUmurPerTN = (jmlXUmur * jmlY) / (t * n); xyWaktuPerTN = (jmlXWaktu * jmlY) / (t * n); xy3PerTN = (jmlX3 * jmlY) / (t * n);
SxyUmur = jmlJmlXkaliYUmur - xyUmurPerTN; SxyWaktu = jmlJmlXkaliYWaktu - xyWaktuPerTN; Sxy3 = jmlJmlXkaliY3 - xy3PerTN;
jmlXYUmurPerT = temp5 / t; jmlXYWaktuPerT = temp8 / t; jmlXY3PerT = temp10 / t; jmlXYUmurPerT = xyUmurJumlah / n; jmlXYWaktuPerT = xyWaktuJumlah / n; jmlXY3PerT = xy3Jumlah / n;
TxyUmur = jmlXYUmurPerT - xyUmurPerTN; TxyWaktu = jmlXYWaktuPerT - xyWaktuPerTN; Txy3 = jmlXY3PerT - xy3PerTN;
ExyUmur = SxyUmur - TxyUmur; ExyWaktu = SxyWaktu - TxyWaktu; Exy3 = Sxy3 - Txy3;
//hitung JK
JKTotalUmur = Syy - ((SxyUmur * SxyUmur) / SxxUmur); JKGalatUmur = Eyy - ((ExyUmur * ExyUmur) / ExxUmur); JKPerlakuanTerkoreksiUmur = JKTotalUmur -
JKGalatUmur;
JKTotalWaktu = Syy - ((SxyWaktu * SxyWaktu) / SxxWaktu);
JKGalatWaktu = Eyy - ((ExyWaktu * ExyWaktu) / ExxWaktu);
JKPerlakuanTerkoreksiWaktu = JKTotalWaktu - JKGalatWaktu;
JKTotal3 = Syy - ((Sxy3 * Sxy3) / Sxx3); JKGalat3 = Eyy - ((Exy3 * Exy3) / Exx3); JKPerlakuanTerkoreksi3 = JKTotal3 - JKGalat3; //hitung KT
dbGalatTerkoreksi = (t * (n - 1)) - 1; dbTotalTerkoreksi = (t * n) - 1;
dbPerlakuanTerkoreksi = t - 1;
KTGalatUmur = JKGalatUmur / dbGalatTerkoreksi; KTGalatWaktu = JKGalatWaktu / dbGalatTerkoreksi; KTGalat3 = JKGalat3 / dbGalatTerkoreksi;
KTPerlakuanTerkoreksiUmur = JKPerlakuanTerkoreksiUmur / dbPerlakuanTerkoreksi; KTPerlakuanTerkoreksiWaktu = JKPerlakuanTerkoreksiWaktu / dbPerlakuanTerkoreksi; KTPerlakuanTerkoreksi3 = JKPerlakuanTerkoreksi3 / dbPerlakuanTerkoreksi; FhitungUmur = KTPerlakuanTerkoreksiUmur / KTGalatUmur; FhitungWaktu = KTPerlakuanTerkoreksiWaktu / KTGalatWaktu;
FHitung3 = KTPerlakuanTerkoreksi3 / KTGalat3; {
//String for Table kecuali db
String TxxU = Double.toString(TxxUmur); String TxyU = Double.toString(TxyUmur); String TyyTabel = Double.toString(Tyy); String ExxU = Double.toString(ExxUmur); String ExyU = Double.toString(ExyUmur); String EyyTabel = Double.toString(Eyy); String SSeU = Double.toString(JKGalatUmur); String MSeU = Double.toString(KTGalatUmur); String SxxU = Double.toString(SxxUmur); String SxyU = Double.toString(SxyUmur); String SyyTabel = Double.toString(Syy);
String JKTotalU = Double.toString(JKTotalUmur); String JKPerlakuanTU =
Double.toString(JKPerlakuanTerkoreksiUmur); String KTPerlakuanTU =
Double.toString(KTPerlakuanTerkoreksiUmur); String FhitungTabelU = Double.toString(FhitungUmur); String TxxW = Double.toString(TxxWaktu);
String TxyW = Double.toString(TxyWaktu); String ExxW = Double.toString(ExxWaktu); String ExyW = Double.toString(ExyWaktu); String SSeW = Double.toString(JKGalatWaktu); String MSeW = Double.toString(KTGalatWaktu); String SxxW = Double.toString(SxxWaktu); String SxyW = Double.toString(SxyWaktu);
String JKTotalW = Double.toString(JKTotalWaktu); String JKPerlakuanTW =
String KTPerlakuanTW =
Double.toString(KTPerlakuanTerkoreksiWaktu); String FhitungTabelW = Double.toString(FhitungWaktu); String Txx3T = Double.toString(Txx3);
String Txy3T = Double.toString(Txy3); String Exx3T = Double.toString(Exx3); String Exy3T = Double.toString(Exy3); String SSe3 = Double.toString(JKGalat3); String MSe3 = Double.toString(KTGalat3); String Sxx3T = Double.toString(Sxx3); String Sxy3T = Double.toString(Sxy3);
String JKTotal3T = Double.toString(JKTotal3); String JKPerlakuanT3 =
Double.toString(JKPerlakuanTerkoreksi3); String KTPerlakuanT3 =
Double.toString(KTPerlakuanTerkoreksi3); String FhitungTabel3 = Double.toString(FHitung3); //for db n = row / t; dbPerlakuan = t - 1; dbGalat = t * (n - 1); dbTotal = (t * n) - 1; //string for db String dbPerlakuanTabel = Double.toString(dbPerlakuan); String dbGalatTabel = Double.toString(dbGalat); String dbTotalTabel = Double.toString(dbTotal); String dbPerlakuanTTabel = Double.toString(dbPerlakuanTerkoreksi); String dbGalatTTabel = Double.toString(dbGalatTerkoreksi); String dbTotalTTabel = Double.toString(dbTotalTerkoreksi); String[][] dataTable = new String[][] { //{ "SK", "db",
"JHK XX", "JHK XY", "JHK YY", "d.b", "JK", "KT", "FHitung"},
{ "Perlakuan", dbPerlakuanTabel, TxxU, TxyU, TyyTabel, "", "", "", ""},
{ "Galat", dbGalatTabel, ExxU, ExyU, EyyTabel, dbGalatTTabel, SSeU, MSeU, ""}, { "Total", dbTotalTabel, SxxU, SxyU, SyyTabel, dbTotalTTabel, JKTotalU, "", ""},
{ "Perlakuan Terkoreksi", "", "", "", "", dbPerlakuanTTabel, JKPerlakuanTU, KTPerlakuanTU, FhitungTabelU}, { "", "", "", "", "", "", "", "", ""}, { "Perlakuan", dbPerlakuanTabel, TxxW, TxyW, TyyTabel, "", "", "", ""},
{ "Galat", dbGalatTabel, ExxW, ExyW, EyyTabel, dbGalatTTabel, SSeW, MSeW, ""}, { "Total", dbTotalTabel, SxxW, SxyW, SyyTabel, dbTotalTTabel, JKTotalW, "", ""}, { "Perlakuan Terkoreksi", "", "", "", "", dbPerlakuanTTabel, JKPerlakuanTW, KTPerlakuanTW, FhitungTabelW}, { "", "", "", "", "", "", "", "", ""}, { "Perlakuan", dbPerlakuanTabel, Txx3T, Txy3T, TyyTabel, "", "", "", ""},
{ "Galat", dbGalatTabel, Exx3T, Exy3T, EyyTabel, dbGalatTTabel, SSe3, MSe3, ""}, { "Total", dbTotalTabel, Sxx3T, Sxy3T, SyyTabel, dbTotalTTabel, JKTotal3T, "", ""}, { "Perlakuan Terkoreksi", "", "", "", "", dbPerlakuanTTabel, JKPerlakuanT3, KTPerlakuanT3, FhitungTabel3}}; JTable table = new JTable(dataTable,
columnNamesANCOVATable); //Create the scroll pane and add the table to it. JScrollPane scrollPaneTblAncova = JTable.createScrollPaneForTable(table); scrollPaneTblAncova.setBounds(12, 255, 940, 165); jPanelTengah1.add(scrollPaneTblAncova); table.enable(false); {
jLabelFileTable = new JLabel(); jPanelTengah1.add(jLabelFileTable);
jLabelFileTable.setText("File Table F & T :"); jLabelFileTable.setBounds(12, 440, 120, 26); }
{
jTextFieldBrowse2 = new JTextField(); jPanelTengah1.add(jTextFieldBrowse2); jTextFieldBrowse2.setText(""); jTextFieldBrowse2.setBounds(130, 440, 690, 26); jTextFieldBrowse2.setEditable(false); } {
fc = new JFileChooser(); jPanelTengah1.add(jButtonBrowse2); jButtonBrowse2.setText("Browse"); jButtonBrowse2.setBounds(860, 440, 100, 26); jButtonBrowse2.addActionListener(this); } jButtonCalculate.setEnabled(false); } //end perhitungan } catch (BiffException e1) {
// TODO Auto-generated catch block e1.printStackTrace();
} catch (IOException e1) {
//TODO Auto-generated catch block e1.printStackTrace();
JDialog.setDefaultLookAndFeelDecorated(true);
JOptionPane.showMessageDialog(null, "Error : " + e1, "Error !", JOptionPane.ERROR_MESSAGE); } } } if(e.getSource() == jButtonBrowse2){ returnValTable = fc.showOpenDialog(ProgramAncova.this); returnValTable = returnCalc3; if(returnValTable == JFileChooser.APPROVE_OPTION){ file2 = fc.getSelectedFile(); jTextFieldBrowse2.setText(file2.getPath()); try {
Workbook wbTable = Workbook.getWorkbook(file2); Sheet sitTable = wbTable.getSheet(0); //mendapatkan sheet pertama
int row2 = sitTable.getRows(); //baris terakhir yang terisi int col2 = sitTable.getColumns(); //kolom terakhir yang terisi String[][] data2 = new String[row2][col2];
String[] kolom2 = new String[col2];
for (int rowKe = 0; rowKe < row2; rowKe++) { for (int colKe = 0; colKe < col2; colKe++) {
Cell cell2 = sitTable.getCell(colKe, rowKe); if(cell2.getType() == CellType.NUMBER){
NumberCell numberCell2 = (NumberCell)cell2; int angka2 =
Double.valueOf(numberCell2.getValue()).intV alue();
data2[rowKe][colKe] = Integer.toString(angka2); }else { data2[rowKe][colKe] = cell2.getContents(); } } } FtableString = data2[0][0]; TtableString = data2[1][0];
String TtableTmpString = TtableString.replace( ',', '.' ); String FtableTmpString = FtableString.replace( ',', '.' ); Ttable = Double.parseDouble(TtableTmpString); String TtableT = Double.toString(Ttable);
Ftable = Double.parseDouble(FtableTmpString); String FtableT = Double.toString(Ftable);
{
jLabelKesimpulan = new JLabel(); jPanelTengah1.add(jLabelKesimpulan);
jLabelKesimpulan.setText("Kesimpulan ANCOVA :"); jLabelKesimpulan.setBounds(12, 470, 150, 26);
} {
jTextFieldKesimpulan = new JTextField(); jPanelTengah1.add(jTextFieldKesimpulan); jTextFieldKesimpulan.setText("----"); jTextFieldKesimpulan.setBounds(12, 505, 940, 40); jTextFieldKesimpulan.setEditable(false); } {
jButtonUjiBNT = new JButton(); jPanelTengah1.add(jButtonUjiBNT); jButtonUjiBNT.setText("Uji BNT"); jButtonUjiBNT.setBounds(860, 555, 100, 26); jButtonUjiBNT.addActionListener(this); } jButtonBrowse2.setEnabled(false); //kesimpulan
if(Ftable <= FhitungUmur || Ftable <= FhitungWaktu || Ftable <= FHitung3){
if(Ftable <= FhitungUmur && Ftable <= FhitungWaktu && Ftable <= FHitung3){
jTextFieldKesimpulan.setText("Perlakuan berpengaruh nyata terhadap ketiga peubah pengiring");
jButtonUjiBNT.setEnabled(true);
}else if(Ftable <= FhitungUmur && Ftable <= FhitungWaktu){
jTextFieldKesimpulan.setText("Perlakuan
berpengaruh nyata terhadap peubah pengiring 1 dan 2");
jButtonUjiBNT.setEnabled(true);
}else if(Ftable <= FhitungUmur && Ftable <= FHitung3){
jTextFieldKesimpulan.setText("Perlakuan
berpengaruh nyata terhadap peubah pengiring 1 dan 3");
jButtonUjiBNT.setEnabled(true); }else if(Ftable <= FHitung3 && Ftable <=
FhitungWaktu){
jTextFieldKesimpulan.setText("Perlakuan
berpengaruh nyata terhadap peubah pengiring 2 dan 3");
jButtonUjiBNT.setEnabled(true); }else if(Ftable <= FhitungUmur){
jTextFieldKesimpulan.setText("Perlakuan
berpengaruh nyata terhadap peubah pengiring 1");
jButtonUjiBNT.setEnabled(true); }else if(Ftable <= FhitungWaktu){
jTextFieldKesimpulan.setText("Perlakuan
berpengaruh nyata terhadap peubah pengiring 2");
jButtonUjiBNT.setEnabled(true); }else{
jTextFieldKesimpulan.setText("Perlakuan
berpengaruh nyata terhadap peubah pengiring 3");
jButtonUjiBNT.setEnabled(true); }
}else{
jTextFieldKesimpulan.setText("Perlakuan tidak berpengaruh nyata terhadap semua peubah pengiring");
jButtonUjiBNT.setEnabled(false); }
} catch (BiffException e1) {
// TODO Auto-generated catch block e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block e1.printStackTrace();
JDialog.setDefaultLookAndFeelDecorated(true);
JOptionPane.showMessageDialog(null, "Error : " + e1, "Error !", JOptionPane.ERROR_MESSAGE);
} } }
if(e.getSource() == jButtonUjiBNT){
if(returnCalc == JFileChooser.APPROVE_OPTION &&
returnValTable == JFileChooser.APPROVE_OPTION){ Workbook wb;
try {
wb = Workbook.getWorkbook(file);
Sheet sit = wb.getSheet(0); //mendapatkan sheet pertama int row = sit.getRows(); //baris terakhir yang terisi int col = sit.getColumns(); //kolom terakhir yang terisi n = row / t;
String[][] data = new String[row][col]; String[] kolom = new String[col];
for (int rowKe = 0; rowKe < row; rowKe++) { for (int colKe = 0; colKe < col; colKe++) {
Cell cell = sit.getCell(colKe, rowKe); if(cell.getType() == CellType.NUMBER){
NumberCell numberCell = (NumberCell)cell; int angka = Double.valueOf(numberCell.getValue()).int Value(); data[rowKe][colKe] = Integer.toString(angka); }else { data[rowKe][colKe] = cell.getContents(); } } } //buat XX umur for(int i=0;i<row;i++){ jmlJmlXKuadratUmur = jmlJmlXKuadratUmur + (Double.parseDouble(data[i][2]) * Double.parseDouble(data[i][2]));
jmlJmlXKuadratWaktu = jmlJmlXKuadratWaktu + (Double.parseDouble(data[i][3]) * Double.parseDouble(data[i][3])); jmlJmlXKuadrat3 = jmlJmlXKuadrat3 + (Double.parseDouble(data[i][4]) * Double.parseDouble(data[i][4])); xUmurKuadratPerTN = xUmurKuadratPerTN + Double.parseDouble(data[i][2]); xWaktuKuadratPerTN = xWaktuKuadratPerTN + Double.parseDouble(data[i][3]); x3KuadratPerTN = x3KuadratPerTN + Double.parseDouble(data[i][4]); temp1 = temp1 + Double.parseDouble(data[i][2]); temp6 = temp6 + Double.parseDouble(data[i][3]); temp11 = temp11 + Double.parseDouble(data[i][4]); pos += 1;
if(pos == 4){
temp2 = temp2 + (temp1 * temp1); temp7 = temp7 + (temp6 * temp6); temp12 = temp12 + (temp11 * temp11); temp1 = 0; temp6 = 0; temp11 = 0; pos = 0; } }
int perulangan = row; int ii = 0 , m = 0;
double[][] arr = new double[perulangan][perulangan]; double[][] arr2 = new double[perulangan][perulangan]; double[][] arr3 = new double[perulangan][perulangan]; double bntUmur, bntWaktu;
double bntKananWaktu, bntKananUmur; double bntKiri, bnt3, bntKanan3 = 0; bntKiri = Ttable;
Workbook wbTable = Workbook.getWorkbook(file2); Sheet sitTable = wbTable.getSheet(0); //mendapatkan sheet pertama
int row2 = sitTable.getRows(); //baris terakhir yang terisi int col2 = sitTable.getColumns(); //kolom terakhir yang terisi String[][] data2 = new String[row2][col2];
for (int rowKe = 0; rowKe < row2; rowKe++) { for (int colKe = 0; colKe < col2; colKe++) {
Cell cell2 = sitTable.getCell(colKe, rowKe); if(cell2.getType() == CellType.NUMBER){
NumberCell numberCell2 = (NumberCell)cell2; int angka2 = Double.valueOf(numberCell2.getValue()). intValue(); data2[rowKe][colKe] = Integer.toString(angka2); }else { data2[rowKe][colKe] = cell2.getContents(); } } } {
jTextFieldKesimpulan2 = new JTextField(); jPanelTengah1.add(jTextFieldKesimpulan2); jTextFieldKesimpulan2.setText("----"); jTextFieldKesimpulan2.setBounds(12, 605, 940, 40); jTextFieldKesimpulan2.setEditable(false); } {
jLabelKesimpulan2 = new JLabel(); jPanelTengah1.add(jLabelKesimpulan2); jLabelKesimpulan2.setText("Kesimpulan Uji BNT :"); jLabelKesimpulan2.setBounds(12, 570, 150, 26); } FtableString = data2[0][0]; TtableString = data2[1][0];
String TtableTmpString = TtableString.replace( ',', '.' ); String FtableTmpString = FtableString.replace( ',', '.' ); Ttable = Double.parseDouble(TtableTmpString); Ftable = Double.parseDouble(FtableTmpString); double xUmurJumlah1 = 0, xUmurJumlah2 = 0; double xUmurJumlah3 = 0, xUmurJumlah4 = 0; double xWaktuJumlah1 = 0, xWaktuJumlah2 = 0; double xWaktuJumlah3 = 0, xWaktuJumlah4 = 0; double x3Jumlah1 = 0, x3Jumlah2 = 0;
double x3Jumlah3 = 0, x3Jumlah4 = 0; double yJumlah1 = 0, yJumlah2 = 0; double yJumlah3 = 0, yJumlah4 = 0; int jnsPerlakuan;
double rtUmurA, rtUmurB, rtUmurC, rtUmurD; double rtWaktuA, rtWaktuB, rtWaktuC, rtWaktuD; double rt3A, rt3B, rt3C, rt3D;
if(Ftable <= FhitungUmur){
bntKananUmur = Math.sqrt((2*KTGalatUmur)/t); bntUmur = bntKiri * bntKananUmur;
//for jumlah tiap perlakuan umur for(int i = 0; i < row; i++){
jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 1){ xUmurJumlah1 = xUmurJumlah1 + (Double.parseDouble(data[i][2])); } else if(jnsPerlakuan == 2){ xUmurJumlah2 = xUmurJumlah2 + (Double.parseDouble(data[i][2])); } else if(jnsPerlakuan == 3){ xUmurJumlah3 = xUmurJumlah3 + (Double.parseDouble(data[i][2])); } else if(jnsPerlakuan == 0){ xUmurJumlah4 = xUmurJumlah4 + (Double.parseDouble(data[i][2])); } } rtUmurA = xUmurJumlah1 / n; rtUmurB = xUmurJumlah2 / n; rtUmurC = xUmurJumlah3 / n; rtUmurD = xUmurJumlah4 / n; arr[1][0] = rtUmurA - rtUmurB; arr[2][0] = rtUmurA - rtUmurC; arr[3][0] = rtUmurA - rtUmurD; arr[2][1] = rtUmurB - rtUmurC; arr[3][1] = rtUmurB - rtUmurD; arr[3][2] = rtUmurC - rtUmurD; for(ii = 0; ii < t-1; ii++){
for(m = 1; m < t; m++){ if(m!=ii && m>ii){
if(arr[m][ii] > bntUmur){
System.out.println("Berbeda nyata
perulangan ke-" + (ii+1) + " dan ke- " + (m+2));
//System.out.println("Tidak berbeda nyata perulangan ke-" + (i+1) + " dan ke-" + (m+2));;
} } } }
jTextFieldKesimpulan2.setText("Terdapat perbedaan antara peubah pengiring 1"); } if(Ftable <= FhitungWaktu){ int l = 0 ; int g = 0; bntKananWaktu = Math.sqrt((2*KTGalatWaktu)/t); bntWaktu = bntKiri * bntKananWaktu;
//for jumlah tiap perlakuan waktu for(int i = 0; i < row; i++){
jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 1){ xWaktuJumlah1 = xWaktuJumlah1 + (Double.parseDouble(data[i][3])); } if(jnsPerlakuan == 2){ xWaktuJumlah2 = xWaktuJumlah2 + (Double.parseDouble(data[i][3])); } if(jnsPerlakuan == 3){ xWaktuJumlah3 = xWaktuJumlah3 + (Double.parseDouble(data[i][3])); } if(jnsPerlakuan == 0){ xWaktuJumlah4 = xWaktuJumlah4 + (Double.parseDouble(data[i][3])); } } rtWaktuA = xWaktuJumlah1/n; rtWaktuB = xWaktuJumlah2/n; rtWaktuC = xWaktuJumlah3/n; rtWaktuD = xWaktuJumlah4/n; //rata-rata waktu for(ii = 0; ii < l-1; ii++){ for(m = 1; m < t; m++){
if(m!=ii && m>ii){
System.out.println("Berbeda nyata
perulangan ke-" + (ii+1) + " dan ke- " + (m+2));
}else{
//System.out.println("Tidak berbeda nyata perulangan ke-" + (i+1) + " dan ke-" + (m+2));;
} } } }
jTextFieldKesimpulan2.setText("Terdapat perbedaan antara peubah pengiring 2"); } if(Ftable <= FHitung3){ int f=0; int ff=0; bntKanan3 = Math.sqrt((2*KTGalat3)/t); bnt3 = bntKiri * bntKanan3; //rata-rata 3
for(int i = 0; i < row; i++){ jnsPerlakuan = (i+1) % 4; if(jnsPerlakuan == 1){ x3Jumlah1 = x3Jumlah1 + (Double.parseDouble(data[i][4])); } if(jnsPerlakuan == 2){ x3Jumlah2 = x3Jumlah2 + (Double.parseDouble(data[i][4])); } if(jnsPerlakuan == 3){ x3Jumlah3 = x3Jumlah3 + (Double.parseDouble(data[i][4])); } if(jnsPerlakuan == 0){ x3Jumlah4 = x3Jumlah4 + (Double.parseDouble(data[i][4])); } } rt3A = x3Jumlah1/n; rt3B = x3Jumlah2/n; rt3C = x3Jumlah3/n; rt3D = x3Jumlah4/n; for(ii = 0; ii < f-1; ii++){
for(m = 1; m < t; m++){ if(m!=ii && m>ii){
if(arr[m][ii] > bnt3){
System.out.println("Berbeda nyata
perulangan ke-" + (ii+1) + " dan ke- " + (m+2));
}else{
//System.out.println("Tidak berbeda nyata perulangan ke-" + (i+1) + " dan ke-" + (m+2));;
} } } }
jTextFieldKesimpulan2.setText("Terdapat perbedaan antara peubah pengiring 3");
}
} catch (BiffException e1) {
// TODO Auto-generated catch block e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block e1.printStackTrace(); } } } } }