• Tidak ada hasil yang ditemukan

Data Hasil Penelitian bobot 200 butir persilangan tanaman jagung

N/A
N/A
Protected

Academic year: 2021

Membagikan "Data Hasil Penelitian bobot 200 butir persilangan tanaman jagung"

Copied!
31
0
0

Teks penuh

(1)

Lampiran 1: Data Hasil Penelitian

Data Hasil Penelitian bobot 200 butir persilangan tanaman jagung

Hibrida/inbrida

Tetua

jantan Tetua betina Ulangan

BOBOT 200 BUTIR 1 2 3 1 A A 38 72 52 2 B A 66 58 64 3 C A 58 66 64 4 D A 62 76 70 5 E A 64 68 70 6 F A 66 80 62 7 G A 72 70 62 8 B B 46 50 56 9 C B 76 70 68 10 D B 74 66 70 11 E B 78 46 72 12 F B 64 60 68 13 G B 66 74 66 14 C C 34 76 38 15 D C 64 66 66 16 E C 68 58 56 17 F C 90 66 78 18 G C 60 66 58 19 D D 50 64 54 20 E D 58 52 62 21 F D 74 58 72 22 G D 54 54 60 23 E E 48 46 46 24 F E 68 70 56 25 G E 58 58 64 26 F F 54 56 56 27 G F 70 74 66 28 G G 56 54 68

(2)

L.2

Data Hasil Penelitian tinggi tanaman jagung

Hibrida/inbrida

Tetua

jantan Tetua betina Ulangan

TINGGI TANAMAN 1 2 3 1 A A 141 98.8 119 2 B A 156 151.4 138.2 3 C A 164 153.2 143.8 4 D A 173 182.2 142 5 E A 161 154.2 141.6 6 F A 156 155.6 159.4 7 G A 136 139.2 116.8 8 B B 132 121.4 104 9 C B 152 155.4 132.2 10 D B 154 154.6 154.2 11 E B 155 152.4 129.6 12 F B 147 151.4 133.7 13 G B 142 138.4 130.4 14 C C 103 79.4 82.2 15 D C 150 131.6 123.4 16 E C 135 143.8 127.5 17 F C 157 157 157.8 18 G C 135 135.4 126.8 19 D D 136 103.4 132.2 20 E D 153 150.4 135.8 21 F D 155 102.4 129.6 22 G D 136 126.8 113 23 E E 145 142.2 111.2 24 F E 148 149.2 147.6 25 G E 139 146 109.6 26 F F 167 156.8 167.8 27 G F 149 137.6 140.6 28 G G 137 132.2 120.2

(3)

Data Hasil Penelitian umur bunga jantan tanaman jagung

Hibrida/inbrida

Tetua

jantan Tetua betina Ulangan

Umur bunga jantan 1 2 3 1 A A 71 53 55 2 B A 66 65 67 3 C A 68 69 67 4 D A 68 68 68 5 E A 70 63 71 6 F A 69 69 72 7 G A 68 66 70 8 B B 53 53 59 9 C B 53 65 68 10 D B 66 66 67 11 E B 67 67 71 12 F B 65 65 63 13 G B 67 67 67 14 C C 52 53 55 15 D C 64 69 65 16 E C 64 65 66 17 F C 68 71 70 18 G C 66 62 63 19 D D 54 53 53 20 E D 67 66 68 21 F D 64 66 65 22 G D 67 66 67 23 E E 53 53 55 24 F E 65 63 65 25 G E 63 65 67 26 F F 51 53 55 27 G F 65 69 67 28 G G 53 53 57

(4)

L.4

Data Hasil Penelitian umur bunga betina tanaman jagung

Hibrida/inbrida

Tetua

jantan Tetua betina Ulangan

umur bunga betina 1 2 3 1 A A 74 55 59 2 B A 70 67 69 3 C A 72 72 71 4 D A 73 71 73 5 E A 74 74 77 6 F A 74 74 75 7 G A 71 69 73 8 B B 54 55 63 9 C B 55 67 71 10 D B 72 72 71 11 E B 71 71 76 12 F B 68 67 67 13 G B 71 69 71 14 C C 54 55 58 15 D C 66 75 67 16 E C 67 67 71 17 F C 69 76 74 18 G C 67 64 67 19 D D 56 56 54 20 E D 71 72 71 21 F D 67 69 68 22 G D 71 70 71 23 E E 56 55 57 24 F E 70 67 71 25 G E 66 67 71 26 F F 53 55 57 27 G F 67 74 71 28 G G 56 55 60

(5)

Data Hasil Penelitian hasil panen tanaman jagung

Hibrida/inbrida

Tetua

jantan Tetua betina Ulangan

Hasil jagung 1 2 3 1 A A 0.743 0.294 0.428 2 B A 2.250 2.102 1.407 3 C A 2.553 2.264 1.628 4 D A 1.795 2.372 1.895 5 E A 2.348 2.228 1.584 6 F A 2.016 1.741 1.300 7 G A 2.221 1.798 1.453 8 B B 0.806 0.506 0.551 9 C B 2.359 3.363 1.480 10 D B 2.419 1.873 2.313 11 E B 2.622 1.842 1.325 12 F B 1.506 1.451 1.157 13 G B 1.699 1.613 1.467 14 C C 0.331 0.201 0.343 15 D C 2.546 1.020 1.995 16 E C 1.996 1.951 1.873 17 F C 1.910 1.375 1.494 18 G C 1.702 2.115 1.527 19 D D 0.690 0.681 0.615 20 E D 0.624 1.129 1.100 21 F D 1.904 1.593 1.753 22 G D 1.224 1.151 1.438 23 E E 0.731 0.794 0.528 24 F E 1.524 1.880 2.084 25 G E 1.967 1.492 1.598 26 F F 0.576 0.518 0.425 27 G F 2.005 0.866 1.614 28 G G 1.325 0.991 1.073

(6)

L.6

Data Hasil Penelitian umur panen tanaman jagung

Hibrida/inbrida

Tetua

jantan Tetua betina Ulangan

umur panen 1 2 3 1 A A 102 87 90 2 B A 106 106 106 3 C A 103 106 106 4 D A 106 106 106 5 E A 106 106 106 6 F A 106 109 106 7 G A 106 106 106 8 B B 87 86 87 9 C B 93 103 103 10 D B 106 106 106 11 E B 106 106 106 12 F B 106 103 103 13 G B 106 106 103 14 C C 86 87 87 15 D C 109 106 103 16 E C 106 102 106 17 F C 106 116 106 18 G C 102 101 103 19 D D 93 87 90 20 E D 102 106 103 21 F D 102 103 103 22 G D 106 102 106 23 E E 89 87 87 24 F E 106 103 103 25 G E 106 103 106 26 F F 93 93 93 27 G F 102 106 103 28 G G 93 93 93

(7)

Lampiran 2 : Print Screen program aplikasi

Gambar 2.1 Menu Utama

Di menu ini terdapat textfield nama data yang kegunaannya untuk

memberikan keterangan di bagian kesimpulan. Tekfield perlakuan yang telah

diberikan validasi minimal 2 dan maks 9, kemudian textfield ulangan yang telah

diberi validasi minimal 1. Kemudian alpha telah ditetapkan yaitu 0.05, button

cari untuk mencari data bertipe file excel, button reset untuk mengulang

kembali semua perintah dan button hitung untuk memulai analisis diallel.

(8)

L.8

(9)
(10)

L.10

Gambar 2.2.3 Error ketika tidak sama antara data di excel dengan jumlah

inputan perlakuan dan ulangan

(11)
(12)

L.12

(13)
(14)

L.14

(15)

Lampiran 3: Listing Program

Public Class Form1

Dim t, r, l, m As Integer Dim idxAlpha As Integer Dim arrData() As Double

Dim alpha, errorDB, GT, RSS, TSS, ESS As Double Public dsData As DataSet

Dim arrCF, arrSST, arrSSR, arrSSV, arrSSE, arrMSR As Double() Dim arrMSV, arrMSE, arrFR, arrFV As Double()

Dim FR, FT As Double

Dim arrKesimpulan As String(,) ' kolom 0 = FR; kolom 1 = FV Dim arrMeanENV As Double(,)

Dim arrMeanENV2 As Double(,) Dim CF As Double

Dim Total_SS, SS_due_to_REPdivENV, MS_REPENV_Total, F_REPENV_Total

As Double

Dim SS_due_to_env, SS_due_to_VARmulENV, MS_VARENV_Total,

F_VARENV_Total As Double

Dim SS_due_to_var, SS_Error, MS_ERR_Total, FT_VAR_Total,

FT_ENV_Total, FT_REPENV_Total, FT_VARENV_Total As Double

Dim Crude_SS_env, MS_VAR_Total, F_VAR_Total As Double Dim Crude_SS_var, MS_ENV_Total, F_ENV_Total As Double Dim textANOVAS As String

Dim arrKesimpulanTotal As String()

Private Function validateExcel() As Boolean Dim i, j, x As Integer m = 0 x = t While x > 0 m = m + x x = x - 1 End While If (dsData.Tables(0).Rows.Count <> m Or

dsData.Tables(0).Columns.Count <> r) Then Return False i = 0 While i < m 't j = 0 While i < r If (dsData.Tables(0).Rows(i)(j).ToString() = "") Then Return False j = j + 1

If j = r Then Exit While End While

i = i + 1 End While Return True End Function

(16)

L.16

Private Function importExcel(ByVal filePath As String, ByVal lokasi As Integer) As DataSet

Dim con As System.Data.OleDb.OleDbConnection Dim ds As System.Data.DataSet

Dim MyCommand As System.Data.OleDb.OleDbDataAdapter ds = New System.Data.DataSet

con = New

System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; "

+ "data source='" + filePath + " '; " + "Extended Properties=Excel 8.0;")

Dim i As Integer i = 1

lokasi = 1

MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [sheet" + i.ToString() + "$]", con)

MyCommand.TableMappings.Add("Table", "TestTable") Try

MyCommand.Fill(ds)

Catch ex As OleDb.OleDbException

MessageBox.Show(ex.Message + " Lokasi file tidak valid, file tidak ditemukan.", "Import Data",

System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Stop) End Try

Return ds End Function

Private Sub btnBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowse.Click

OpenFileDialog1.InitialDirectory = "C:\My Documents"

OpenFileDialog1.Filter = "Excel file|*.xls|Excel 2007 file|*.xlsx" OpenFileDialog1.ShowDialog() txtPath.Text = OpenFileDialog1.FileName btnBrowse.Enabled = False btnReset.Enabled = True btnCalculate.Enabled = True End Sub

Private Sub calculateTable(ByVal idx As Integer) Dim i, j, x, y As Integer

Dim sum As Double sum = 0

ReDim arrMeanENV(m + 1, r + 2)

dsData.Tables(idx).Columns.Add(New DataColumn("Total")) ', typeof(double)

(17)

While i < dsData.Tables(idx).Rows.Count sum = 0 j = 0 While j < dsData.Tables(idx).Columns.Count - 1 sum += Double.Parse(dsData.Tables(idx).Rows(i)(j).ToString()) j = j + 1 End While

arrMeanENV(i, idx) = sum '/ r

dsData.Tables(idx).Rows(i)(dsData.Tables(idx).Columns.Count - 1) = sum

i = i + 1 End While

dsData.Tables(idx).Columns.Add(New DataColumn("Avg")) ', typeof(double) i = 0 While i < dsData.Tables(idx).Rows.Count sum = 0 dsData.Tables(idx).Rows(i)(r + 1) = Double.Parse(dsData.Tables(idx).Rows(i)(r).ToString) / r i = i + 1 End While Dim dr As DataRow dr = dsData.Tables(idx).NewRow() dsData.Tables(idx).Rows.Add(dr) j = 0 While j < r + 2 sum = 0 i = 0 While i < m sum += Double.Parse(dsData.Tables(idx).Rows(i)(j).ToString()) i = i + 1 End While dsData.Tables(idx).Rows(m)(j) = sum j = j + 1 End While

dsData.Tables(idx).Columns.Add(New DataColumn("Jantan")) ', typeof(double) i = 0 x = t j = -1 y = 1 While i < m If j < x - 1 Then j = j + 1 Else j = -1 y = y + 1 j = j + y

(18)

L.18

End If

dsData.Tables(idx).Rows(i)(r + 2) = j i = i + 1

End While

dsData.Tables(idx).Columns.Add(New DataColumn("Betina")) ', typeof(double) j = 0 x = t y = 1 i = 0 While i < m dsData.Tables(idx).Rows(i)(r + 3) = j If y < x Then y = y + 1 Else y = 1 j = j + 1 y = y + j End If i = i + 1 End While i = 0 End Sub

Private Sub hit_arrCF() Dim sum As Double Dim i As Integer sum = 0

i = 0 RSS = 0

Dim idx As Integer While i < 3 sum = Double.Parse(dsData.Tables(idx).Rows(dsData.Tables(idx).Rows.Count - 1)(i).ToString()) RSS = RSS + Math.Pow(sum, 2) '/ (t * r) i = i + 1 End While RSS = Math.Round((RSS / m) -

(Math.Pow(Double.Parse(dsData.Tables(0).Rows(m)(r).ToString()), 2) / (m

* r)), 2)

lblSSR.Text = RSS.ToString End Sub

Private Sub hit_arrSST() Dim j, i As Integer Dim sum As Double j = 0

sum = 0 i = 0

(19)

While i < m sum +=

Math.Pow(Double.Parse(dsData.Tables(0).Rows(i)(r).ToString()), 2)

i = i + 1 End While

TSS = Math.Round((sum / r) -

(Math.Pow(Double.Parse(dsData.Tables(0).Rows(m)(r).ToString()), 2) / (m

* r)), 2)

lblSST.Text = TSS.ToString End Sub

Private Sub hit_arrSSR() ReDim Preserve arrData(7) Dim sum, sum1 As Double Dim idx, i As Integer idx = 0

While idx < m

arrData(dsData.Tables(0).Rows(idx)(r + 2)) += Double.Parse(dsData.Tables(0).Rows(idx)(r + 1).ToString()) idx = idx + 1

End While idx = 0

While idx < m

arrData(dsData.Tables(0).Rows(idx)(r + 3)) += Double.Parse(dsData.Tables(0).Rows(idx)(r + 1).ToString()) idx = idx + 1 End While idx = 0 sum = 0 While idx < t sum += Math.Pow(arrData(idx), 2) ' MessageBox.Show(arrData(idx).ToString) idx = idx + 1 End While lblSSGCA.Text = Math.Round((sum - (4 / t * Math.Pow(dsData.Tables(0).Rows(m)(r + 1), 2))) / (t + 2), 2).ToString sum = 0 sum1 = 0 idx = 0 While idx < t sum1 += Math.Pow(arrData(idx), 2) idx = idx + 1 End While i = 0 While i < m

sum += Math.Pow(Double.Parse(dsData.Tables(0).Rows(i)(r +

1).ToString()), 2) i = i + 1 End While

lblSSSCA.Text = (Math.Round(sum - (sum1 / (t + 2)) + (2 / ((t +

1) * (t + 2)) * Math.Pow(Double.Parse(dsData.Tables(0).Rows(m)(r +

1).ToString()), 2)), 2)).ToString

lblSSE1.Text = (Math.Round(Double.Parse(lblSSE.Text) / r,

(20)

L.20

lblMSGCA.Text = (Math.Round(Double.Parse(lblSSGCA.Text) /

Double.Parse(lblDFGCA.Text), 2)).ToString

lblMSSCA.Text = (Math.Round(Double.Parse(lblSSSCA.Text) /

Double.Parse(lblDFSCA.Text), 2)).ToString

lblMSE1.Text = (Math.Round(Double.Parse(lblSSE1.Text) /

Double.Parse(lblDFE1.Text), 2)).ToString

lblFGCA.Text = (Math.Round(Double.Parse(lblMSGCA.Text) /

Double.Parse(lblMSE1.Text), 2)).ToString

lblFSCA.Text = (Math.Round(Double.Parse(lblMSSCA.Text) /

Double.Parse(lblMSE1.Text), 2)).ToString hit_arrSSV()

ins_g() 'hit_ANOVA() End Sub

Private Sub ins_g()

lblEGS11.Text = arrMeanENV2(0, 0) lblEGS12.Text = arrMeanENV2(0, 1) lblEGS13.Text = arrMeanENV2(0, 2) lblEGS14.Text = arrMeanENV2(0, 3) lblEGS15.Text = arrMeanENV2(0, 4) lblEGS16.Text = arrMeanENV2(0, 5) lblEGS17.Text = arrMeanENV2(0, 6) lblEGS18.Text = arrMeanENV2(0, 7) lblEGS22.Text = arrMeanENV2(1, 1) lblEGS23.Text = arrMeanENV2(1, 2) lblEGS24.Text = arrMeanENV2(1, 3) lblEGS25.Text = arrMeanENV2(1, 4) lblEGS26.Text = arrMeanENV2(1, 5) lblEGS27.Text = arrMeanENV2(1, 6) lblEGS28.Text = arrMeanENV2(1, 7) lblEGS33.Text = arrMeanENV2(2, 2) lblEGS34.Text = arrMeanENV2(2, 3) lblEGS35.Text = arrMeanENV2(2, 4) lblEGS36.Text = arrMeanENV2(2, 5) lblEGS37.Text = arrMeanENV2(2, 6) lblEGS38.Text = arrMeanENV2(2, 7) lblEGS44.Text = arrMeanENV2(3, 3) lblEGS45.Text = arrMeanENV2(3, 4) lblEGS46.Text = arrMeanENV2(3, 5) lblEGS47.Text = arrMeanENV2(3, 6) lblEGS48.Text = arrMeanENV2(3, 7) lblEGS55.Text = arrMeanENV2(4, 4) lblEGS56.Text = arrMeanENV2(4, 5) lblEGS57.Text = arrMeanENV2(4, 6) lblEGS58.Text = arrMeanENV2(4, 7) lblEGS66.Text = arrMeanENV2(5, 5) lblEGS67.Text = arrMeanENV2(5, 6) lblEGS68.Text = arrMeanENV2(5, 7) lblEGS77.Text = arrMeanENV2(6, 6) lblEGS78.Text = arrMeanENV2(6, 7)

(21)

lblEGS88.Text = arrMeanENV2(7, 7) If Double.Parse(lblEGS88.Text) = 0 And

Double.Parse(lblEGS78.Text) = 0 And Double.Parse(lblEGS68.Text) = 0 And Double.Parse(lblEGS58.Text) = 0 And _

Double.Parse(lblEGS48.Text) = 0 And Double.Parse(lblEGS38.Text) = 0 And Double.Parse(lblEGS28.Text) = 0 And Double.Parse(lblEGS18.Text) = 0 Then lblG8.Visible = False lblEGS18.Visible = False lblEGS28.Visible = False lblEGS38.Visible = False lblEGS48.Visible = False lblEGS58.Visible = False lblEGS68.Visible = False lblEGS78.Visible = False lblEGS88.Visible = False Else lblG8.Visible = True lblEGS18.Visible = True lblEGS28.Visible = True lblEGS38.Visible = True lblEGS48.Visible = True lblEGS58.Visible = True lblEGS68.Visible = True lblEGS78.Visible = True lblEGS88.Visible = True End If

If Double.Parse(lblEGS77.Text) = 0 And

Double.Parse(lblEGS67.Text) = 0 And Double.Parse(lblEGS57.Text) = 0 And Double.Parse(lblEGS47.Text) = 0 And _

Double.Parse(lblEGS37.Text) = 0 And Double.Parse(lblEGS27.Text) = 0 And Double.Parse(lblEGS17.Text) = 0 Then

lblG7.Visible = False lblEGS17.Visible = False lblEGS27.Visible = False lblEGS37.Visible = False lblEGS47.Visible = False lblEGS57.Visible = False lblEGS67.Visible = False lblEGS77.Visible = False Else lblG7.Visible = True lblEGS17.Visible = True lblEGS27.Visible = True lblEGS37.Visible = True lblEGS47.Visible = True lblEGS57.Visible = True lblEGS67.Visible = True lblEGS77.Visible = True End If

If Double.Parse(lblEGS66.Text) = 0 And

Double.Parse(lblEGS56.Text) = 0 And Double.Parse(lblEGS46.Text) = 0 And Double.Parse(lblEGS36.Text) = 0 And _

(22)

L.22

Double.Parse(lblEGS26.Text) = 0 And Double.Parse(lblEGS16.Text) = 0 Then lblG6.Visible = False lblEGS16.Visible = False lblEGS26.Visible = False lblEGS36.Visible = False lblEGS46.Visible = False lblEGS56.Visible = False lblEGS66.Visible = False Else lblG6.Visible = True lblEGS16.Visible = True lblEGS26.Visible = True lblEGS36.Visible = True lblEGS46.Visible = True lblEGS56.Visible = True lblEGS66.Visible = True End If

If Double.Parse(lblEGS55.Text) = 0 And

Double.Parse(lblEGS45.Text) = 0 And Double.Parse(lblEGS35.Text) = 0 And Double.Parse(lblEGS25.Text) = 0 And _

Double.Parse(lblEGS15.Text) = 0 Then

lblG5.Visible = False lblEGS15.Visible = False lblEGS25.Visible = False lblEGS35.Visible = False lblEGS45.Visible = False lblEGS55.Visible = False Else lblG5.Visible = True lblEGS15.Visible = True lblEGS25.Visible = True lblEGS35.Visible = True lblEGS45.Visible = True lblEGS55.Visible = True End If

If Double.Parse(lblEGS44.Text) = 0 And

Double.Parse(lblEGS34.Text) = 0 And Double.Parse(lblEGS24.Text) = 0 And Double.Parse(lblEGS14.Text) = 0 Then

lblG4.Visible = False lblEGS14.Visible = False lblEGS24.Visible = False lblEGS34.Visible = False lblEGS44.Visible = False Else lblG4.Visible = True lblEGS14.Visible = True lblEGS24.Visible = True lblEGS34.Visible = True lblEGS44.Visible = True End If

If Double.Parse(lblEGS33.Text) = 0 And

Double.Parse(lblEGS23.Text) = 0 And Double.Parse(lblEGS13.Text) = 0 Then

lblG3.Visible = False

(23)

lblEGS23.Visible = False lblEGS33.Visible = False Else lblG3.Visible = True lblEGS13.Visible = True lblEGS23.Visible = True lblEGS33.Visible = True End If

If Double.Parse(lblEGS22.Text) = 0 And Double.Parse(lblEGS12.Text) = 0 Then

lblG2.Visible = False lblEGS12.Visible = False lblEGS22.Visible = False Else lblG2.Visible = True lblEGS12.Visible = True lblEGS22.Visible = True End If

If Double.Parse(lblEGS11.Text) = 0 Then

lblG1.Visible = False

Else

lblG1.Visible = True

End If End Sub

Private Sub hit_arrSSV() ReDim arrMeanENV2(7, 7) Dim i, j, x As Integer Dim sum As Double x = 0 j = 0 While j < t i = 0 While i < t sum = 0 If i = j Then sum = (arrData(j) - (2 / t *

Double.Parse(dsData.Tables(0).Rows(m)(r + 1).ToString))) / (t + 2) x = x + 1

ElseIf i < j Then

sum = Double.Parse(dsData.Tables(0).Rows(x)(r +

1).ToString) - ((arrData(j) + arrData(i)) / (t + 2)) - (2 / ((t + 1) *

(t + 2)) * Double.Parse(dsData.Tables(0).Rows(m)(r + 1).ToString))

x = x + 1 Else sum = 0 End If arrMeanENV2(i, j) = Math.Round(sum, 4) i = i + 1 End While j = j + 1 End While End Sub

Private Sub hit_arrSSE() Dim i, j As Integer

(24)

L.24

Dim sum As Double

i = 0 sum = 0 While i < m j = 0 While j < r sum +=

Math.Pow(Double.Parse(dsData.Tables(0).Rows(i)(j).ToString()), 2)

j = j + 1 End While i = i + 1 End While

ESS = Math.Round(sum -

(Math.Pow(Double.Parse(dsData.Tables(0).Rows(m)(r).ToString()), 2) / (m

* r)) - TSS - RSS, 2)

lblSSE.Text = ESS.ToString

lblSSTot.Text = Math.Round(sum -

(Math.Pow(Double.Parse(dsData.Tables(0).Rows(m)(r).ToString()), 2) / (m

* r)), 2).ToString

lblMSR.Text = Math.Round((Double.Parse(lblSSR.Text) /

Double.Parse(lblDFR.Text)), 2).ToString

lblMSE.Text = Math.Round((Double.Parse(lblSSE.Text) /

Double.Parse(lblDFE.Text)), 2).ToString

lblMST.Text = Math.Round((Double.Parse(lblSST.Text) /

Double.Parse(lblDFT.Text)), 2).ToString

lblFR.Text = Math.Round((Double.Parse(lblMSR.Text) /

Double.Parse(lblMSE.Text)), 2).ToString

lblFT.Text = Math.Round((Double.Parse(lblMST.Text) /

Double.Parse(lblMSE.Text)), 2).ToString lblDFGCA.Text = (t - 1).ToString

lblDFSCA.Text = (t * (t - 1) / 2).ToString

lblDFE1.Text = ((r - 1) * ((t * (t + 1) / 2) - 1)).ToString End Sub

Private Sub hit_Varietas() hit_arrCF()

hit_arrSST() hit_arrSSE() hit_arrSSR() End Sub

Private Sub btnCalculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalculate.Click

If validateInput() = True Then Dim i As Integer

i = 0

dsData = importExcel(txtPath.Text, r) If (dsData Is System.DBNull.Value) Then txtPath.Focus()

(25)

If (validateExcel()) Then

alpha = Math.Round(Double.Parse(txtAlpha.Text), 4)

calculateTable(0) lblDFR.Text = r - 1 lblDFT.Text = m - 1 lblDFE.Text = (r - 1) * (m - 1) lblDFTot.Text = (r * m) - 1 hit_Varietas() Else

MessageBox.Show("Jumlah Data untuk diproses tidak sesuai dengan variabel inputan")

Exit Sub End If End If Kesimpulan() btnCalculate.Enabled = False btnBrowse.Enabled = True End Sub

Private Sub Kesimpulan()

Dim xlApp As Microsoft.Office.Interop.Excel.Application

xlApp = New Microsoft.Office.Interop.Excel.ApplicationClass()

FR =

Math.Round(Double.Parse(xlApp.WorksheetFunction.FInv(Double.Parse(txtAl pha.Text), Double.Parse(lblDFR.Text),

Double.Parse(lblDFE.Text)).ToString), 2) FT =

Math.Round(Double.Parse(xlApp.WorksheetFunction.FInv(Double.Parse(txtAl pha.Text), Double.Parse(lblDFT.Text),

Double.Parse(lblDFE.Text)).ToString), 2)

If (Double.Parse(lblFR.Text) > FR) Then

txtKesimpulan1.Text = "F hitung ulangan = " + lblFR.Text +

" lebih besar dari F(" + txtAlpha.Text + "," + lblDFR.Text + "," + lblDFE.Text + ") tabel ulangan = " + FR.ToString

txtKesimpulan1.Text += " sehingga dapat dikatakan bahwa ada perbedaan " + txtNama.Text + " yang signifikan di antara ulangan. "

Else

txtKesimpulan1.Text = "F hitung ulangan = " + lblFR.Text +

" lebih kecil dari F(" + txtAlpha.Text + "," + lblDFR.Text + "," + lblDFE.Text + ") tabel ulangan = " + FR.ToString

txtKesimpulan1.Text += " sehingga dapat dikatakan bahwa tidak ada perbedaan " + txtNama.Text + " yang signifikan di antara ulangan. "

End If

If (Double.Parse(lblFT.Text) > FT) Then

txtKesimpulan1.Text += " Sedangkan F hitung perlakuan = " + lblFT.Text + " lebih besar dari F(" + txtAlpha.Text + "," + lblDFT.Text + "," + lblDFE.Text + ") tabel varietas = " + FT.ToString

txtKesimpulan1.Text += " sehingga dapat dikatakan bahwa ada perbedaan " + txtNama.Text + " yang signifikan di antara persilangan tetua. "

(26)

L.26

txtKesimpulan1.Text += " Sedangkan F hitung perlakuan = " + lblFT.Text + " lebih kecil dari F(" + txtAlpha.Text + "," + lblDFT.Text + "," + lblDFE.Text + ") tabel varietas = " + FT.ToString

txtKesimpulan1.Text += " sehingga dapat dikatakan bahwa tidak ada perbedaan " + txtNama.Text + " yang signifikan di antara persilangan tetua. "

End If

FR =

Math.Round(Double.Parse(xlApp.WorksheetFunction.FInv(Double.Parse(txtAl pha.Text), Double.Parse(lblDFGCA.Text),

Double.Parse(lblDFE1.Text)).ToString), 2) FT =

Math.Round(Double.Parse(xlApp.WorksheetFunction.FInv(Double.Parse(txtAl pha.Text), Double.Parse(lblDFSCA.Text),

Double.Parse(lblDFE1.Text)).ToString), 2) xlApp.Quit()

If (Double.Parse(lblFGCA.Text) > FR) Then

txtKesimpulan2.Text = "F hitung GCA = " + lblFR.Text + " dari " + txtNama.Text + " lebih besar dari F(" + txtAlpha.Text + "," + lblDFGCA.Text + "," + lblDFE1.Text + ") tabel = " + FR.ToString

txtKesimpulan2.Text += " sehingga dapat dikatakan ada perbedaan daya gabung umum di antara persilangan tetua."

Else

txtKesimpulan2.Text = "F hitung GCA = " + lblFR.Text + " dari " + txtNama.Text + " lebih kecil dari F(" + txtAlpha.Text + "," + lblDFGCA.Text + "," + lblDFE1.Text + ") tabel = " + FR.ToString

txtKesimpulan2.Text += " sehingga dapat dikatakan tidak ada perbedaan daya gabung umum di antara persilangan tetua."

End If

If (Double.Parse(lblFSCA.Text) > FT) Then

txtKesimpulan2.Text += " Sedangkan F hitung SCA = " + lblFT.Text + " " + txtNama.Text + " lebih besar dari F(" +

txtAlpha.Text + "," + lblDFSCA.Text + "," + lblDFE1.Text + ") tabel = "

+ FT.ToString

txtKesimpulan2.Text += " sehingga dapat dikatakan ada perbedaan daya gabung khusus di antara persilangan tetua. "

Else

txtKesimpulan2.Text += " Sedangkan F hitung SCA = " + lblFT.Text + " " + txtNama.Text + " lebih kecil dari F(" +

txtAlpha.Text + "," + lblDFSCA.Text + "," + lblDFE1.Text + ") tabel = "

+ FT.ToString

txtKesimpulan2.Text += " sehingga dapat dikatakan tidak ada perbedaan daya gabung khusus di antara persilangan tetua. "

End If

Dim i, j, maxi, maxiy, mini, miniy As Integer Dim max, min As Double

max = Double.Parse(lblEGS11.Text) maxi = 0

(27)

mini = 0 i = 1

While i < t

If arrMeanENV2(i, i) > max Then maxi = i max = arrMeanENV2(i, i) End If i = i + 1 End While i = 1 While i < t

If arrMeanENV2(i, i) < min Then mini = i min = arrMeanENV2(i, i) End If i = i + 1 End While maxi += 1 mini += 1

txtKesimpulan3.Text = "Dari tabel di atas dapat disimpulkan bahwa GCA yang terbesar adalah " + max.ToString + " yang didapat dari persilangan tetua " + maxi.ToString

txtKesimpulan3.Text += ". Dan GCA yang terkecil adalah " + min.ToString + " yang didapat dari persilangan tetua " + mini.ToString max = Double.Parse(lblEGS12.Text)

maxi = 0 maxiy = 1

min = Double.Parse(lblEGS12.Text) mini = 0 miniy = 1 i = 0 j = 0 While i < t j = 0 While j < t If j > i Then

If arrMeanENV2(i, j) > max Then maxi = i maxiy = j max = arrMeanENV2(i, j) End If End If j += 1 End While i = i + 1 End While i = 0 j = 0 While i < t j = 0 While j < t If j > i Then

If arrMeanENV2(i, j) < min Then mini = i

(28)

L.28

miniy = j min = arrMeanENV2(i, j) End If End If j += 1 End While i = i + 1 End While maxi += 1 mini += 1 maxiy += 1 miniy += 1

txtKesimpulan3.Text += ". Sedangkan SCA terbesar adalah " + max.ToString + " yang didapat dari persilangan tetua " + maxi.ToString + " dengan " + maxiy.ToString

txtKesimpulan3.Text += ". Dan SCA yang terkecil adalah " + min.ToString + " yang didapat dari persilangan tetua " + mini.ToString + " dengan " + miniy.ToString

End Sub

Private Function validateInput() As Boolean Try

t = Int(txtT.Text) r = Int(txtR.Text) Catch ex As Exception

MsgBox(ex.Message, "Input Error", MessageBoxButtons.OK) txtT.Clear() txtR.Clear() txtT.Focus() Return False End Try If txtPath.Text = "" Then

MsgBox("Field Data harus diisi terlebih dahulu.", "Input Error", MessageBoxButtons.OK)

Return False End If

If txtPath.Text = "" Then

MsgBox("Field Data harus diisi terlebih dahulu.", "Input Error", MessageBoxButtons.OK)

Return False End If

Return True End Function

Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click

txtKesimpulan1.Text = "" txtKesimpulan2.Text = "" txtKesimpulan3.Text = "" lblG1.Visible = False lblG2.Visible = False lblG3.Visible = False

(29)

lblG4.Visible = False lblG5.Visible = False lblG6.Visible = False lblG7.Visible = False lblG8.Visible = False lblDFR.Text = "" lblDFT.Text = "" lblDFE.Text = "" lblDFTot.Text = "" lblSSR.Text = "" lblSST.Text = "" lblSSE.Text = "" lblSSTot.Text = "" lblMSR.Text = "" lblMSE.Text = "" lblMST.Text = "" lblFR.Text = "" lblFT.Text = "" lblDFGCA.Text = "" lblDFSCA.Text = "" lblDFE1.Text = "" lblSSSCA.Text = "" lblSSGCA.Text = "" lblSSE1.Text = "" lblMSGCA.Text = "" lblMSSCA.Text = "" lblMSE1.Text = "" lblFGCA.Text = "" lblFSCA.Text = "" lblEGS11.Text = "" lblEGS12.Text = "" lblEGS13.Text = "" lblEGS14.Text = "" lblEGS15.Text = "" lblEGS16.Text = "" lblEGS17.Text = "" lblEGS18.Text = "" lblEGS22.Text = "" lblEGS23.Text = "" lblEGS24.Text = "" lblEGS25.Text = "" lblEGS26.Text = "" lblEGS27.Text = "" lblEGS28.Text = "" lblEGS33.Text = "" lblEGS34.Text = "" lblEGS35.Text = "" lblEGS36.Text = "" lblEGS37.Text = "" lblEGS38.Text = "" lblEGS44.Text = "" lblEGS45.Text = "" lblEGS46.Text = "" lblEGS47.Text = "" lblEGS48.Text = ""

(30)

L.30

lblEGS55.Text = "" lblEGS56.Text = "" lblEGS57.Text = "" lblEGS58.Text = "" lblEGS66.Text = "" lblEGS67.Text = "" lblEGS68.Text = "" lblEGS77.Text = "" lblEGS78.Text = "" lblEGS88.Text = "" 'OpenFileDialog1.Dispose() 'dsData.Dispose() txtT.Text = "2" txtR.Text = "1" txtPath.Clear() txtT.Focus() btnBrowse.Enabled = True btnCalculate.Enabled = False End Sub

Private Sub txtT_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtT.TextChanged

If Integer.Parse(txtT.Text) < 2 Or Integer.Parse(txtT.Text) > 8 Then

txtT.Text = "2"

txtT.Focus()

MessageBox.Show("Isi perlakuan harus berada di atas 1 dan di bawah 9")

End If End Sub

Private Sub txtR_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtR.TextChanged

If Integer.Parse(txtR.Text) < 1 Then txtR.Text = "1"

txtR.Focus()

MessageBox.Show("Isi perlakuan harus berada di atas 0") End If

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

lblG1.Visible = False lblG2.Visible = False lblG3.Visible = False lblG4.Visible = False lblG5.Visible = False lblG6.Visible = False lblG7.Visible = False lblG8.Visible = False lblEGS11.Text = "" lblEGS12.Text = "" lblEGS13.Text = "" lblEGS14.Text = "" lblEGS15.Text = ""

(31)

lblEGS16.Text = "" lblEGS17.Text = "" lblEGS18.Text = "" lblEGS22.Text = "" lblEGS23.Text = "" lblEGS24.Text = "" lblEGS25.Text = "" lblEGS26.Text = "" lblEGS27.Text = "" lblEGS28.Text = "" lblEGS33.Text = "" lblEGS34.Text = "" lblEGS35.Text = "" lblEGS36.Text = "" lblEGS37.Text = "" lblEGS38.Text = "" lblEGS44.Text = "" lblEGS45.Text = "" lblEGS46.Text = "" lblEGS47.Text = "" lblEGS48.Text = "" lblEGS55.Text = "" lblEGS56.Text = "" lblEGS57.Text = "" lblEGS58.Text = "" lblEGS66.Text = "" lblEGS67.Text = "" lblEGS68.Text = "" lblEGS77.Text = "" lblEGS78.Text = "" lblEGS88.Text = "" End Sub End Class

Gambar

Gambar 2.1 Menu Utama
Gambar 2.2.1 Error waktu penginputan perlakuan
Gambar 2.2.2 Error waktu penginputan ulangan
Gambar 2.2.3 Error ketika tidak sama antara data di excel dengan jumlah  inputan perlakuan dan ulangan
+5

Referensi

Dokumen terkait

Dari tujuh kelompok pengeluaran yang mengalami deflasi hanya Kelompok Bahan Makanan sebesar 0,58 persen sementara enam kelompok lainnya mengalami inflasi, tertinggi terjadi

Dalam hal ini, karena Dinkes dan RS (pemerintah) merupakan dua institusi yang berbeda, maka leadership Dinkes dan penguasaan terhadap hal teknis yang menyangkut

Tesis yang berjudul Implementasi Kebijakan Sistem Stasiun Jaringan dalam Industri Penyiaran Televisi di kota Semarang ini merupakan bentuk kajian Communication &amp; Law,

: Barangsiapa yang mengganti agamanya (dari Islam ke agama lainnya) maka bunuhlah dia.( HR. Bukh±ri) Hukuman berat ini khusus bagi orang-orang yang murtad dari agama Islam.

Dengan memberikan potongan harga ongkos kirim atau dapat juga free ongkir untuk pembelian diatas 3pcs atau kepada konsumen yang sudah lebih dari 5 kali membeli produk

Tujuan dari praktikum ini adalah Memahami pengoperasian rotary drum filter, mulai dari prosedur start up, operasi normal, sampai shut down, mengamati karakter proses

Condeser dengan pendinginan air (water-cooled condenser) digunakan pada sistem yang berskala besar untuk keperluan komersial di lokasi yang mudah memperoleh air bersih. Water

Metode Simple Additive Weighting dalam sistem pendukung keputusan ini bertujuan untuk menentukan nilai dari hasil kriteria-kriteria yang sudah ditentukan dalam