LAMPIRAN A
1.
Listing Program Algoritma Electre
Public Class frm_electre
Public jb As Integer
Public Function akr(ByVal itemList As ArrayList) Dim ak As Double
For i = 0 To (itemList.Count - 1) ak += (itemList(i)) ^ 2
Next
akr = Math.Sqrt(ak) End Function
Private Sub bobot() With dg_bobot
.ColumnCount = 2
.Columns(0).Name = "Kriteria" .Columns(1).Name = "Bobot" End With
With dg_bobot
Dim row1 As String() = New String() {"B. Arab"} Dim row2 As String() = New String() {"B. Inggris"} Dim row3 As String() = New String() {"Al Quran"} Dim row4 As String() = New String() {"Hadist"} Dim row5 As String() = New String() {"Tarbiyah"} Dim row6 As String() = New String() {"Fiqih"} Dim row7 As String() = New String() {"Akhlak"} Dim row8 As String() = New String() {"Faroid"} Dim row9 As String() = New String() {"Tauhid"} Dim row10 As String() = New String() {"T. Islam"}
Dim row11 As String() = New String() {"Ibadah Amaliyah"} Dim row12 As String() = New String() {"Alkhot"}
.Rows.Add(row1) .Rows.Add(row2) .Rows.Add(row3) .Rows.Add(row4) .Rows.Add(row5) .Rows.Add(row6) .Rows.Add(row7) .Rows.Add(row8) .Rows.Add(row9) .Rows.Add(row10) .Rows.Add(row11) .Rows.Add(row12) End With
With dg_bobot
dg_bobot.Item(1, 9).Value = 0.033 dg_bobot.Item(1, 10).Value = 0.067 dg_bobot.Item(1, 11).Value = 0.033 End With
End Sub
Sub normalisasi() With dg_normalisasi
.ColumnCount = 14
.Columns(0).Name = "NIS" .Columns(1).Name = "B. Arab" .Columns(2).Name = "B. Inggris" .Columns(3).Name = "Al Qur'an" .Columns(4).Name = "Hadist" .Columns(5).Name = "Tarbiyah" .Columns(6).Name = "Fiqih" .Columns(7).Name = "Akhlak" .Columns(8).Name = "Faroid" .Columns(9).Name = "Tauhid"
.Columns(10).Name = "Tarikh Islam" .Columns(11).Name = "Ibadah Amaliyah" .Columns(12).Name = "Al Khot"
End With
jb = dg_siswa.Rows.Count With dg_normalisasi
For i = 0 To jb - 1
.Rows.Add(dg_siswa.Item(0, i).Value()) Next
End With
With dg_siswa
Dim arb As New ArrayList
Dim eng As New ArrayList
Dim qrn As New ArrayList
Dim hds As New ArrayList
Dim tbyh As New ArrayList
Dim fqh As New ArrayList
Dim aklk As New ArrayList
Dim froid As New ArrayList
Dim thd As New ArrayList
Dim t_isl As New ArrayList
Dim i_amlyh As New ArrayList
Dim kht As New ArrayList Dim ai_amlyh As Double Dim akht As Double
For i = 0 To jb - 1
eng.Add(dg_siswa.Item(4, i).Value())
aarb = FormatNumber(akr(arb), 3) aeng = FormatNumber(akr(eng), 3) aqrn = FormatNumber(akr(qrn), 3) ahds = FormatNumber(akr(hds), 3) atbyh = FormatNumber(akr(tbyh), 3) afqh = FormatNumber(akr(fqh), 3) aaklk = FormatNumber(akr(aklk), 3) afroid = FormatNumber(akr(froid), 3) athd = FormatNumber(akr(thd), 3) at_isl = FormatNumber(akr(t_isl), 3) ai_amlyh = FormatNumber(akr(i_amlyh), 3) akht = FormatNumber(akr(kht), 3)
For i = 0 To jb - 2
dg_normalisasi.Item(1, i).Value() = FormatNumber((Val(dg_siswa.Item(3, i).Value()) / aarb), 3)
dg_normalisasi.Item(2, i).Value() = FormatNumber((Val(dg_siswa.Item(4, i).Value()) / aeng), 3)
dg_normalisasi.Item(3, i).Value() = FormatNumber((Val(dg_siswa.Item(5, i).Value()) / aqrn), 3)
dg_normalisasi.Item(4, i).Value() = FormatNumber((Val(dg_siswa.Item(6, i).Value()) / ahds), 3)
dg_normalisasi.Item(5, i).Value() = FormatNumber((Val(dg_siswa.Item(7, i).Value()) / atbyh), 3)
dg_normalisasi.Item(6, i).Value() = FormatNumber((Val(dg_siswa.Item(8, i).Value()) / afqh), 3)
dg_normalisasi.Item(7, i).Value() = FormatNumber((Val(dg_siswa.Item(9, i).Value()) / aaklk), 3)
dg_normalisasi.Item(8, i).Value() =
FormatNumber((Val(dg_siswa.Item(10, i).Value()) / afroid), 3) dg_normalisasi.Item(9, i).Value() =
FormatNumber((Val(dg_siswa.Item(11, i).Value()) / athd), 3) dg_normalisasi.Item(10, i).Value() =
FormatNumber((Val(dg_siswa.Item(12, i).Value()) / at_isl), 3) dg_normalisasi.Item(11, i).Value() =
FormatNumber((Val(dg_siswa.Item(13, i).Value()) / ai_amlyh), 3) dg_normalisasi.Item(12, i).Value() =
FormatNumber((Val(dg_siswa.Item(14, i).Value()) / akht), 3) Next
End With End Sub
Sub hasil() With dg_h
.ColumnCount = 5
.Columns(2).Name = "Kelas" .Columns(3).Name = "Hasil" .Columns(4).Name = "Predikat" End With
jb = dg_siswa.Rows.Count
With dg_h
For i = 0 To jb - 1
.Rows.Add(dg_siswa.Item(0, i).Value()) Next
End With
With dg_h
For i = 0 To jb - 1
dg_h.Item(1, i).Value = dg_siswa.Item(1, i).Value() dg_h.Item(2, i).Value = dg_siswa.Item(2, i).Value() Next
End With
With dg_h
Dim baris = dg_bobot.Rows.Count
Dim kolom = dg_normalisasi.Columns.Count Dim hasiiil = dg_normalisasi.Rows.Count Dim kol(1, 12) As Double
Dim hsl(hasiiil) As Double
For i = 0 To baris - 2
kol(1, i) = dg_bobot.Item(1, i).Value() Next
For i = 0 To hasiiil - 3 hsl(i) = 0
For j = 1 To kolom - 1
hsl(i) += (kol(1, (j - 1)) * dg_normalisasi.Item(j, i).Value()) Next
Next
With dg_h
For i = 0 To hasiiil - 3
dg_h.Item(3, i).Value() = FormatNumber((hsl(i)), 3) Next
End With
dg_h.Sort(dg_h.Columns(3),
System.ComponentModel.ListSortDirection.Descending) End With
With dg_h
For i = 0 To jb - 2
If dg_h.Item(3, i).Value() >= 0.35 Then dg_h.Item(4, i).Value = "Mumtaz"
ElseIf dg_h.Item(3, i).Value() >= 0.3 And dg_h.Item(3,i).Value() < 0.35 Then
dg_h.Item(4, i).Value = "Jayyid Jiddan"
ElseIf dg_h.Item(3, i).Value() >= 0.2 And dg_h.Item(3,i).Value() < 0.3 Then
dg_h.Item(4, i).Value = "Jayyid" Else
End If Next End With End Sub
Private Sub awal()
koneksi._BindingView("Select * from siswa", Me.dg_siswa) _TxtNull(Me)
End Sub
Private Sub frm_electre_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
awal() bobot() End Sub
Private Sub btn_prss_nor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_prss_nor.Click
normalisasi() End Sub
Private Sub btn_h_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_h.Click
hasil() End Sub
End Class
2.
Listing Program Algoritma Simple Additive Weighting (SAW)
Public Class frm_saw
Public jb As Integer Private Sub awal()
koneksi._BindingView("Select * from siswa", Me.dg_siswa) _TxtNull(Me)
End Sub
Public Function a_keuntungan(ByVal itemList As ArrayList) Dim max As Double = Nothing
For i As Integer = 0 To (itemList.Count - 1) If i = 0 Then
max = itemList(i) Else
If itemList(i) > max Then max = itemList(i)
End If Next
a_keuntungan = max End Function
Private Sub bobot() With dg_bobot
.ColumnCount = 2
.Columns(0).Name = "Kriteria" .Columns(1).Name = "Bobot" End With
With dg_bobot
Dim row2 As String() = New String() {"B. Inggris"} Dim row3 As String() = New String() {"Al Quran"} Dim row4 As String() = New String() {"Hadist"} Dim row5 As String() = New String() {"Tarbiyah"} Dim row6 As String() = New String() {"Fiqih"} Dim row7 As String() = New String() {"Akhlak"} Dim row8 As String() = New String() {"Faroid"} Dim row9 As String() = New String() {"Tauhid"} Dim row10 As String() = New String() {"T. Islam"}
Dim row11 As String() = New String() {"Ibadah Amaliyah"} Dim row12 As String() = New String() {"Alkhot"}
.Rows.Add(row1) .Rows.Add(row2) .Rows.Add(row3) .Rows.Add(row4) .Rows.Add(row5) .Rows.Add(row6) .Rows.Add(row7) .Rows.Add(row8) .Rows.Add(row9) .Rows.Add(row10) .Rows.Add(row11) .Rows.Add(row12) End With
With dg_bobot
dg_bobot.Item(1, 0).Value = 0.133 dg_bobot.Item(1, 1).Value = 0.133 dg_bobot.Item(1, 2).Value = 0.1 dg_bobot.Item(1, 3).Value = 0.067 dg_bobot.Item(1, 4).Value = 0.1 dg_bobot.Item(1, 5).Value = 0.067 dg_bobot.Item(1, 6).Value = 0.167 dg_bobot.Item(1, 7).Value = 0.033 dg_bobot.Item(1, 8).Value = 0.067 dg_bobot.Item(1, 9).Value = 0.033 dg_bobot.Item(1, 10).Value = 0.067 dg_bobot.Item(1, 11).Value = 0.033 End With
Private Sub nomalisasi() With dg_normalisasi
.ColumnCount = 14
.Columns(0).Name = "NIS" .Columns(1).Name = "B. Arab" .Columns(2).Name = "B. Inggris" .Columns(3).Name = "Al Qur'an" .Columns(4).Name = "Hadist" .Columns(5).Name = "Tarbiyah" .Columns(6).Name = "Fiqih" .Columns(7).Name = "Akhlak" .Columns(8).Name = "Faroid" .Columns(9).Name = "Tauhid"
.Columns(10).Name = "Tarikh Islam" .Columns(11).Name = "Ibadah Amaliyah" .Columns(12).Name = "Al Khot"
End With
jb = dg_siswa.Rows.Count
With dg_normalisasi For i = 0 To jb - 1
.Rows.Add(dg_siswa.Item(0, i).Value()) Next
End With
With dg_siswa
Dim arb As New ArrayList
Dim eng As New ArrayList
Dim qrn As New ArrayList
Dim hds As New ArrayList
Dim tbyh As New ArrayList
Dim fqh As New ArrayList
Dim aklk As New ArrayList
Dim froid As New ArrayList
Dim thd As New ArrayList
Dim t_isl As New ArrayList
Dim i_amlyh As New ArrayList
froid.Add(dg_siswa.Item(10, i).Value()) thd.Add(dg_siswa.Item(11, i).Value()) t_isl.Add(dg_siswa.Item(12, i).Value()) i_amlyh.Add(dg_siswa.Item(13, i).Value()) kht.Add(dg_siswa.Item(14, i).Value()) Next
marb = a_keuntungan(arb) meng = a_keuntungan(eng) mqrn = a_keuntungan(qrn) mhds = a_keuntungan(hds) mtbyh = a_keuntungan(tbyh) mfqh = a_keuntungan(fqh) maklk = a_keuntungan(aklk) mfroid = a_keuntungan(froid) mthd = a_keuntungan(thd) mt_isl = a_keuntungan(t_isl) mi_amlyh = a_keuntungan(i_amlyh) mkht = a_keuntungan(kht)
For i = 0 To jb - 2
dg_normalisasi.Item(1, i).Value() = Val(dg_siswa.Item(3, i).Value()) / marb
dg_normalisasi.Item(2, i).Value() = Val(dg_siswa.Item(4, i).Value()) / meng
dg_normalisasi.Item(3, i).Value() = Val(dg_siswa.Item(5, i).Value()) / mqrn
dg_normalisasi.Item(4, i).Value() = Val(dg_siswa.Item(6, i).Value()) / mhds
dg_normalisasi.Item(5, i).Value() = Val(dg_siswa.Item(7, i).Value()) / mtbyh
dg_normalisasi.Item(6, i).Value() = Val(dg_siswa.Item(8, i).Value()) / mfqh
dg_normalisasi.Item(7, i).Value() = Val(dg_siswa.Item(9, i).Value()) / maklk
dg_normalisasi.Item(8, i).Value() = Val(dg_siswa.Item(10, i).Value()) / mfroid
dg_normalisasi.Item(9, i).Value() = Val(dg_siswa.Item(11, i).Value()) / mthd
dg_normalisasi.Item(10, i).Value() = Val(dg_siswa.Item(12, i).Value()) / mt_isl
dg_normalisasi.Item(11, i).Value() = Val(dg_siswa.Item(13, i).Value()) / mi_amlyh
dg_normalisasi.Item(12, i).Value() = Val(dg_siswa.Item(14, i).Value()) / mkht
Sub hasil() With dg_h
.ColumnCount = 5
.Columns(0).Name = "NIS" .Columns(1).Name = "Nama" .Columns(2).Name = "Kelas" .Columns(3).Name = "Hasil" .Columns(4).Name = "Predikat" End With
jb = dg_siswa.Rows.Count
With dg_h
For i = 0 To jb - 1
.Rows.Add(dg_siswa.Item(0, i).Value()) Next
End With
With dg_h
For i = 0 To jb - 1
dg_h.Item(1, i).Value = dg_siswa.Item(1, i).Value() dg_h.Item(2, i).Value = dg_siswa.Item(2, i).Value()
Next End With
With dg_h
Dim baris = dg_bobot.Rows.Count
Dim kolom = dg_normalisasi.Columns.Count Dim hasiiil = dg_normalisasi.Rows.Count Dim kol(1, 12) As Double
Dim hsl(hasiiil) As Double
For i = 0 To baris - 2
kol(1, i) = dg_bobot.Item(1, i).Value() Next
For i = 0 To hasiiil - 3 hsl(i) = 0
For j = 1 To kolom - 1
hsl(i) += (kol(1, (j - 1)) * dg_normalisasi.Item(j, i).Value()) Next
Next
With dg_h
For i = 0 To hasiiil - 3
dg_h.Item(3, i).Value() = FormatNumber((hsl(i)), 3) Next
End With
dg_h.Sort(dg_h.Columns(3),
System.ComponentModel.ListSortDirection.Descending) End With
With dg_h
For i = 0 To jb - 2
If dg_h.Item(3, i).Value() >= 0.8 Then dg_h.Item(4, i).Value = "Mumtaz"
ElseIf dg_h.Item(3, i).Value() >= 0.7 And dg_h.Item(3, i).Value() < 0.8 Then
ElseIf dg_h.Item(3, i).Value() >= 0.6 And dg_h.Item(3, i).Value() < 0.7 Then
dg_h.Item(4, i).Value = "Jayyid" Else
dg_h.Item(4, i).Value = "Maqbul" End If
Next End With End Sub
Private Sub frm_saw_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
awal() bobot() End Sub
Private Sub btn_prss_nor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_prss_nor.Click
nomalisasi() End Sub
Private Sub btn_h_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_h.Click