L1 Lampiran Perhitungan ANCOVA
1.
Perhitungan Jumlah Kuadrat Total XX ∑ a.
JK Total X1X1 = 36
Ulangan Musik X1
1
2
3
4
5
6
7
8
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
6 6 6 6 6 6 6 6 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 12 12 12 12 6 6 6 6
..
∑
∑ X1
24
24
68
68
68
24
48
24
.
36 X12 36 36 36 36 36 36 36 36 289 289 289 289 289 289 289 289 289 289 289 289 36 36 36 36 144 144 144 144 36 36 36 36
, dengan n = 16 dan t = 4. 100 ∑ X12
8388 – 7310.25 = 1077.75
Ulangan Musik
576
9
576
10
4624
11
4624
12
4624
13
576
14
2304
15
576
16
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
X1 6 6 6 6 12 12 12 12 6 6 6 6 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 10 10 10 10
∑ X1
24
48
24
48
48
52
52
40
X12 36 36 36 36 144 144 144 144 36 36 36 36 144 144 144 144 144 144 144 144 169 169 169 169 169 169 169 169 100 100 100 100
∑ X12
576
2304
576
2304
2304
2704
2704
1600
L2 b.
Ulangan
1
2
3
4
5
6
7
8
JK Total X2X2 = 324
Musik
X2
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
18 13 5 21 25 16 3 28 8 6 5 14 3 3 3 5 4 4 2 3 4 12 8 3 2 9 3 2 10 15 12 5
∑ X2
57
72
33
14
13
27
16
42
625
X22 324 169 25 441 625 256 9 784 64 36 25 196 9 9 9 25 16 16 4 9 16 144 64 9 4 81 9 4 100 225 144 25
9
∑ X22
4467 – 2462.64 = 2204.36
Ulangan Musik
3249
9
5184
10
1089
11
196
12
169
13
729
14
256
15
1764
16
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
X2 5 2 5 5 5 15 10 2 5 12 7 5 3 1 2 3 2 1 2 3 3 1 2 3 2 2 4 3 1 2 2 3
∑ X2
17
32
29
9
8
9
11
8
X22 25 4 25 25 25 225 100 4 25 144 49 25 9 1 4 9 4 1 4 9 9 1 4 9 4 4 16 9 1 4 4 9
∑ X22
289
1024
841
81
64
81
121
64
L3 c.
JK Total X3X3 = 1
Ulangan Musik X3
1
2
3
4
5
6
7
8
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
1 2 2 1 1 2 2 1 3 3 3 3 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1
∑ X3
6
6
12
16
16
4
4
4
1
4
X32 1 4 4 1 1 4 4 1 9 9 9 9 16 16 16 16 16 16 16 16 1 1 1 1 1 1 1 1 1 1 1 1
∑ X32
300 – 240.25 = 59.75
Ulangan Musik
36
9
36
10
144
11
256
12
256
13
16
14
16
15
16
16
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
X3 1 1 2 2 1 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
∑ X3
6
6
5
8
8
8
8
8
X32 1 1 4 4 1 1 4 4 1 1 4 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
∑ X32
36
36
25
64
64
64
64
64
L4 2.
Perhitungan Jumlah Kuadrat Total XY ∑ a.
.. ..
∑
.
JK Total X1Y = 6 20
, dengan n = 16 dan t = 4.
6 80
10 100
= 54560 –
54452.8125 = 107.1875 Ulangan Musik X1
1
2
3
4
5
6
7
8
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
6 6 6 6 6 6 6 6 17 17 17 17 17 17 17 17 17 17 17 17 6 6 6 6 12 12 12 12 6 6 6 6
Y 20 40 70 80 80 95 80 70 60 95 40 75 80 60 40 80 100 90 100 100 60 40 80 80 80 80 100 80 100 80 80 40
Ulangan Musik
9
10
11
12
13
14
15
16
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
X1
Y
6 6 6 6 12 12 12 12 6 6 6 6 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 10 10 10 10
85 95 100 80 90 60 100 100 90 100 100 100 80 90 80 80 100 90 80 100 80 100 80 100 40 90 40 60 80 90 80 100
L5 b.
JK Total X2Y = 18 20
25 80
3 100
= 29945 –
31604.9219 = -1659.92 Ulangan
1
2
3
4
5
6
7
8
Musik
X2
Y
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
18 13 5 21 25 16 3 28 8 6 5 14 3 3 3 5 4 4 2 3 4 12 8 3 2 9 3 2 10 15 12 5
20 40 70 80 80 95 80 70 60 95 40 75 80 60 40 80 100 90 100 100 60 40 80 80 80 80 100 80 100 80 80 40
Ulangan Musik
9
10
11
12
13
14
15
16
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
X2
Y
5 2 5 5 5 15 10 2 5 12 7 5 3 1 2 3 2 1 2 3 3 1 2 3 2 2 4 3 1 2 2 3
85 95 100 80 90 60 100 100 90 100 100 100 80 90 80 80 100 90 80 100 80 100 80 100 40 90 40 60 80 90 80 100
L6 c.
JK Total X3Y = 1 20
1 80
2 100
= 9890 –
9871.5625 = 18.4375 Ulangan
1
2
3
4
5
6
7
8
Musik
X3
Y
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
1 2 2 1 1 2 2 1 3 3 3 3 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1
20 40 70 80 80 95 80 70 60 95 40 75 80 60 40 80 100 90 100 100 60 40 80 80 80 80 100 80 100 80 80 40
Ulangan Musik
9
10
11
12
13
14
15
16
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
X3
Y
1 1 2 2 1 1 2 2 1 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
85 95 100 80 90 60 100 100 90 100 100 100 80 90 80 80 100 90 80 100 80 100 80 100 40 90 40 60 80 90 80 100
L7 3.
Perhitungan Jumlah Kuadrat Total YY ∑
..
∑
JK Total YY = 400
.
1600
, dengan n = 16 dan t = 4. 6400
= 430425 – 405609.77 =
24815.2344 Ulangan Musik
1
2
3
4
5
6
7
8
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
Y 20 40 70 80 80 95 80 70 60 95 40 75 80 60 40 80 100 90 100 100 60 40 80 80 80 80 100 80 100 80 80 40
∑Y
210
325
270
260
390
260
340
300
Y2
∑ Y2
400 1600 44100 4900 6400 6400 9025 105625 6400 4900 3600 9025 72900 1600 5625 6400 3600 67600 1600 6400 10000 8100 152100 10000 10000 3600 1600 67600 6400 6400 6400 6400 115600 10000 6400 10000 6400 90000 6400 1600
Ulangan Musik
9
10
11
12
13
14
15
16
A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D
Y 85 95 100 80 90 60 100 100 90 100 100 100 80 90 80 80 100 90 80 100 80 100 80 100 40 90 40 60 80 90 80 100
∑Y
360
350
390
330
370
360
230
350
Y2 7225 9025 10000 6400 8100 3600 10000 10000 8100 10000 10000 10000 6400 8100 6400 6400 10000 8100 6400 10000 6400 10000 6400 10000 1600 8100 1600 3600 6400 8100 6400 10000
∑ Y2
129600
122500
152100
108900
136900
129600
52900
122500
L8 4.
Perhitungan Jumlah Kuadrat Perlakuan XX ∑ a.
..
∑
.
29241
JK Perlakuan X1X1 =
, dengan n = 16 dan t = 4.
329241
29241
29241
7310.25 – 7310.25 = 0 b.
10000
JK Perlakuan X2X2 =
12996
5625
11664
2517.8125 – 2462.6406 = 55.1719 c.
841
JK Perlakuan X3X3 =
961
1156
961
241.125 –
240.25 = 0.875
5.
Musik
∑X1
∑X2
∑X3
∑X12
∑X22
∑X32
A B C D
171 171 171 171
100 114 75 108
29 31 34 31
29241 29241 29241 29241
10000 12996 5625 11664
841 961 1156 961
Perhitungan Jumlah Kuadrat Perlakuan XY ∑ a.
JK Perlakuan X1Y =
.. ..
∑
.
171 1225
, dengan n = 16 dan t = 4. 171 1325
=
108 1325
=
31 1325
=
54452.8125 – 54452.8125 = 0 b.
JK Perlakuan X2Y =
100 1225
31686.25 – 31604.92 = 81.33 c.
JK Perlakuan X3Y = =
29 1225
9870 – 9871.5625 = -1.5625
L9
6.
Musik
∑ X1
∑ X2
∑ X3
∑Y
∑X12
∑X22
∑X32
∑Y2
A B C D
171 171 171 171
100 114 75 108
29 31 34 31
1225 1295 1250 1325
29241 10000 29241 12996 29241 5625 29241 11664
841 961 1156 961
1500625 1677025 1562500 1755625
Perhitungan Jumlah Kuadrat Perlakuan YY ∑ JK Perlakuan YY =
..
∑
.
1500625
, dengan n = 16 dan t = 4.
1677025
1562500
1755625
= 405985.9375 – 405609.7656 = 376.1719
7.
Perlakuan
∑Y
∑ Y2
A B C D
1225 1295 1250 1325
1500625 1677025 1562500 1755625
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 JK Total JK Perlakuan JK Galat
X1X1 X2X2 1077.75 2204.359 0 55.17188 1077.75 2149.188
X3X3 59.75 0.875 58.875
L10
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 X2Y X3Y X1Y JK Total 107.1875 -1659.92 18.4375 JK Perlakuan 0 81.32813 -1.5625 JK Galat 20 107.1875 -1741.25
9.
Perhitungan Jumlah Kuadrat Galat YY JK Galat YY = JK Total YY – JK Perlakuan YY = 24815.2344 – 376.1719 = 24439.0625
JK Total JK Perlakuan JK Galat
YY 24815.23 376.1719 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
L11 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 a.
1
KT Galat Terkoreksi terhadap X1= JK Galat Terkoreksi terhadap X1 / db Galat Terkoreksi = 24428.4022 / (4*(16-1))-1 = 414.0407
L12 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
L13 Lampiran Tampilan Layar Program 1. Tampilan Layar Awal
2. Tampilan Layar Input
L14
3. Tampilan Layar Calculate
4. Tampilan Tabel ANCOVA
L15 5. Tampilan Kesimpulan
L16 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;
L17 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];
L18
//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 JKTotalUmur, JKTotalWaktu;
L19 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); {
L20 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));
L21 } { 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.setBounds(100, 140, 700, 200);
L22 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);
L23 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); jPanelTengah1.setLayout(null);
L24 { 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();
L25 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); }
L26 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 for(int i = 0; i < row; i++){
L27 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){
L28 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])); } } for(int i = 0; i < row; i++){
L29 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])); } }
L30
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
L31 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); Syy = jmlJmlYKuadrat - yKuadratPerTN;
L32 jmlYKuadratPerT = yJumlah / n; Tyy = jmlYKuadratPerT - yKuadratPerTN; Eyy = Syy - Tyy; //buat XY for(int i=0;i
L33 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;
L34 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 = Double.toString(JKPerlakuanTerkoreksiWaktu);
L35 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, "", ""},
L36 { "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); } { jButtonBrowse2 = new JButton();
L37 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();
L38 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){
L39 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();
L40 } 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
L41 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]; String[] kolom2 = new String[col2];
L42 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;
L43
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)); }else{
L44 //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){ if(arr2[m][ii] > bntWaktu){
L45 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++){
L46 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(); } } } } }