• Tidak ada hasil yang ditemukan

LAMPIRAN A LISTING PROGRAM frmMenu.frm

N/A
N/A
Protected

Academic year: 2019

Membagikan "LAMPIRAN A LISTING PROGRAM frmMenu.frm"

Copied!
28
0
0

Teks penuh

(1)

LAMPIRAN A

LISTING PROGRAM

frmMenu.frm

Private Sub cmdAgama_Click()

frmRemisi.Show

frmRemisi.lbAgama.Visible = True

frmRemisi.cbAgama.Visible = True

End Sub

Private Sub cmdDataWB_Click()

frmDataWB.Show

End Sub

Private Sub cmdKriteria_Click()

frmBobot.Show

End Sub

Private Sub cmdMerdeka_Click()

frmRemisi.Show

End Sub

frmDataWB.frm

Dim newID As String

Private Sub cmdAdd_Click()

Dim idPelanggaran As String

Dim idJasa As String

Dim idPerkara As String

Dim temp As String

If lvPerkara.ListItems.Count = 0 Then

MsgBox ("Anda belum mengisi perkara dari warga binaan!")

Exit Sub

Else

(2)

For i = 1 To lvPerkara.ListItems.Count

temp = lvPerkara.ListItems(i).SubItems(1)

If temp = "Khusus" Then

cbPerkara.Text = "Khusus"

Exit For

End If

Next

End If

If Not (txtStatusUtama.Text = "Edit Mode") Then

Set cari = New Recordset

cari.Open "SELECT * FROM data_narapidana ORDER BY id_narapidana DESC", Con, 1, 2

If Not cari.EOF Then

newID = cari!id_narapidana + 1

Else

newID = 1

End If

Set cari = Nothing

Set simpan = New Recordset

simpan.Open "data_narapidana", Con, 1, 2

simpan.AddNew

simpan!id_narapidana = newID

simpan!nama = tbNama.Text

simpan!Agama = cbAgama.Text

simpan!perkara = cbPerkara.Text

simpan!tanggal_penahanan = dtPenahanan.Value

simpan!masa_pidana = tbTahun.Text & ";" & tbBulan.Text & ";" & tbHari.Text

simpan.Update

Set simpan = Nothing

If lvPelanggaran.ListItems.Count <> 0 Then

Set cari = New Recordset

cari.Open "SELECT * FROM data_pelanggaran ORDER BY no_urut DESC", Con, 1, 2

If Not cari.EOF Then

idPelanggaran = cari!no_urut + 1

Else

(3)

End If

Set cari = Nothing

For i = 1 To lvPelanggaran.ListItems.Count

Set simpan = New Recordset

simpan.Open "data_pelanggaran", Con, 1, 2

simpan.AddNew

simpan!no_urut = idPelanggaran

simpan!id_narapidana = newID

simpan!pelanggaran = lvPelanggaran.ListItems(i).SubItems(2)

simpan!Tahun = lvPelanggaran.ListItems(i).SubItems(1)

simpan.Update

Set simpan = Nothing

idPelanggaran = idPelanggaran + 1

Next

End If

If lvJasa.ListItems.Count <> 0 Then

Set cari = New Recordset

cari.Open "SELECT * FROM data_jasa ORDER BY no_urut DESC", Con, 1, 2

If Not cari.EOF Then

idJasa = cari!no_urut + 1

Else

idJasa = 1

End If

Set cari = Nothing

For i = 1 To lvJasa.ListItems.Count

Set simpan = New Recordset

simpan.Open "data_jasa", Con, 1, 2

simpan.AddNew

simpan!no_urut = idJasa

simpan!id_narapidana = newID

simpan!aktivitas = lvJasa.ListItems(i).SubItems(2)

(4)

simpan.Update

Set simpan = Nothing

idJasa = idJasa + 1

Next

End If

If lvPerkara.ListItems.Count <> 0 Then

Set cari = New Recordset

cari.Open "SELECT * FROM data_perkara ORDER BY no_urut DESC", Con, 1, 2

If Not cari.EOF Then

idPerkara = cari!no_urut + 1

Else

idPerkara = 1

End If

Set cari = Nothing

For i = 1 To lvPerkara.ListItems.Count

Set simpan = New Recordset

simpan.Open "data_perkara", Con, 1, 2

simpan.AddNew

simpan!no_urut = idPerkara

simpan!id_narapidana = newID

simpan!jenis = lvPerkara.ListItems(i).SubItems(1)

simpan!perkara = lvPerkara.ListItems(i).SubItems(2)

simpan.Update

Set simpan = Nothing

idPerkara = idPerkara + 1

Next

End If

Else

Set cari = New Recordset

cari.Open "SELECT * FROM data_narapidana WHERE id_narapidana=" & txtIdWB.Text, Con,

1, 2

If Not cari.EOF Then

(5)

cari.Fields("agama") = cbAgama.Text

cari.Fields("perkara") = cbPerkara.Text

cari.Fields("tanggal_penahanan") = dtPenahanan.Value

cari.Fields("masa_pidana") = tbTahun.Text & ";" & tbBulan.Text & ";" & tbHari.Text

cari.Update

End If

Set cari = Nothing

End If

tbNama.Text = ""

cbAgama.Text = "Pilih salah satu"

dtPenahanan.Value = Now

tbTahun.Text = ""

tbBulan.Text = ""

tbHari.Text = ""

txtIdWB.Text = ""

lvPelanggaran.ListItems.Clear

lvJasa.ListItems.Clear

lvPerkara.ListItems.Clear

cmdAdd.Caption = "Tambah"

cmdEdit.Visible = True

cmdDelete.Visible = True

txtStatusUtama.Text = "Netral"

LoadData

End Sub

Private Sub cmdDelete_Click()

If lvDataWB.SelectedItem Is Nothing Then Exit Sub

If MsgBox("Benarkah Anda ingin menghapus data ini?", vbYesNo, "Konfirmasi") = vbYes Then

Set cari = New Recordset

(6)

lvDataWB.SelectedItem, Con, 1, 2

Set cari = Nothing

Set cari = New Recordset

cari.Open "DELETE FROM data_perkara WHERE id_narapidana=" &

lvDataWB.SelectedItem, Con, 1, 2

Set cari = Nothing

Set cari = New Recordset

cari.Open "DELETE FROM data_jasa WHERE id_narapidana=" & lvDataWB.SelectedItem,

Con, 1, 2

Set cari = Nothing

Set cari = New Recordset

cari.Open "DELETE FROM data_pelanggaran WHERE id_narapidana=" &

lvDataWB.SelectedItem, Con, 1, 2

Set cari = Nothing

lvDataWB.ListItems.Remove (lvDataWB.SelectedItem.Index)

End If

End Sub

Private Sub cmdEdit_Click()

Dim idWB As Integer

Dim lamaArr() As String

If lvDataWB.SelectedItem Is Nothing Then

Exit Sub

Else

idWB = lvDataWB.ListItems.Item(lvDataWB.SelectedItem.Index).Text

txtIdWB.Text = idWB

Set cari = New Recordset

cari.Open "SELECT * FROM data_narapidana WHERE id_narapidana=" & idWB, Con, 1, 2

If cari.RecordCount <> 0 Then

tbNama.Text = cari!nama

cbAgama.Text = cari!Agama

(7)

dtPenahanan.Value = CDate(cari!tanggal_penahanan)

lamaArr = Split(cari!masa_pidana, ";")

tbTahun.Text = lamaArr(0)

tbBulan.Text = lamaArr(1)

tbHari.Text = lamaArr(2)

End If

Set cari = Nothing

Set cari = New Recordset

cari.Open "SELECT * FROM data_pelanggaran WHERE id_narapidana=" & idWB, Con, 1, 2

If cari.RecordCount <> 0 Then

Do While Not cari.EOF

Set j = lvPelanggaran.ListItems.Add(, , cari!no_urut)

j.SubItems(1) = cari!Tahun

j.SubItems(2) = cari!pelanggaran

cari.MoveNext

Loop

End If

Set cari = Nothing

Set cari = New Recordset

cari.Open "SELECT * FROM data_jasa WHERE id_narapidana=" & idWB, Con, 1, 2

If cari.RecordCount <> 0 Then

Do While Not cari.EOF

Set j = lvJasa.ListItems.Add(, , cari!no_urut)

j.SubItems(1) = cari!Tahun

j.SubItems(2) = cari!aktivitas

cari.MoveNext

Loop

End If

Set cari = Nothing

Set cari = New Recordset

cari.Open "SELECT * FROM data_perkara WHERE id_narapidana=" & idWB, Con, 1, 2

If cari.RecordCount <> 0 Then

Do While Not cari.EOF

Set j = lvPerkara.ListItems.Add(, , cari!no_urut)

(8)

j.SubItems(2) = cari!perkara

cari.MoveNext

Loop

End If

Set cari = Nothing

cmdAdd.Caption = "Simpan"

cmdEdit.Visible = False

cmdDelete.Visible = False

txtStatusUtama.Text = "Edit Mode"

End If

End Sub

Private Sub cmdHapusJasa_Click()

If lvJasa.SelectedItem Is Nothing Then Exit Sub

If MsgBox("Benarkah Anda ingin menghapus data ini?", vbYesNo, "Konfirmasi") = vbYes Then

If txtStatusUtama.Text = "Edit Mode" Then

Set cari = New Recordset

cari.Open "DELETE FROM data_jasa WHERE no_urut=" &

lvJasa.ListItems.Item(lvJasa.SelectedItem.Index), Con, 1, 2

Set cari = Nothing

End If

lvJasa.ListItems.Remove (lvJasa.SelectedItem.Index)

End If

End Sub

Private Sub cmdHapusPelanggaran_Click()

If lvPelanggaran.SelectedItem Is Nothing Then Exit Sub

If MsgBox("Benarkah Anda ingin menghapus data ini?", vbYesNo, "Konfirmasi") = vbYes Then

If txtStatusUtama.Text = "Edit Mode" Then

Set cari = New Recordset

cari.Open "DELETE FROM data_pelanggaran WHERE no_urut=" &

lvPelanggaran.ListItems.Item(lvPelanggaran.SelectedItem.Index), Con, 1, 2

Set cari = Nothing

End If

(9)

End If

End Sub

Private Sub cmdHapusPerkara_Click()

If lvPerkara.SelectedItem Is Nothing Then Exit Sub

If MsgBox("Benarkah Anda ingin menghapus data ini?", vbYesNo, "Konfirmasi") = vbYes Then

If txtStatusUtama.Text = "Edit Mode" Then

Set cari = New Recordset

cari.Open "DELETE FROM data_perkara WHERE no_urut=" &

lvPerkara.ListItems.Item(lvPerkara.SelectedItem.Index), Con, 1, 2

'cari.Open "DELETE FROM data_perkara WHERE no_urut=" & no_urut, Con, 1, 2

Set cari = Nothing

End If

lvPerkara.ListItems.Remove (lvPerkara.SelectedItem.Index)

End If

End Sub

Private Sub cmdTmbhJasa_Click()

frmIsian.Show

frmIsian.tbStatus.Text = "Jasa"

End Sub

Private Sub cmdTmbhPelanggaran_Click()

frmIsian.Show

frmIsian.tbStatus.Text = "Pelanggaran"

End Sub

Private Sub cmdTmbhPerkara_Click()

frmIsian.Show

frmIsian.tbStatus.Text = "Perkara"

End Sub

Private Sub Form_Load()

Dim ch As ColumnHeader

Connect

(10)

Set ch = lvDataWB.ColumnHeaders.Add(, , "No.", 500)

Set ch = lvDataWB.ColumnHeaders.Add(, , "Nama Warga Binaan", 2300, vbLeftJustify)

Set ch = lvDataWB.ColumnHeaders.Add(, , "Agama", 900, vbCenter)

Set ch = lvDataWB.ColumnHeaders.Add(, , "Perkara", 900, vbCenter)

Set ch = lvDataWB.ColumnHeaders.Add(, , "Tanggal Penahanan", 1800, vbCenter)

Set ch = lvDataWB.ColumnHeaders.Add(, , "Masa Pidana", 1800, vbCenter)

lvDataWB.GridLines = True

LoadData

End Sub

Public Sub LoadData()

lvDataWB.ListItems.Clear

Set cari = New Recordset

cari.Open "SELECT * FROM data_narapidana ORDER BY id_narapidana ASC", Con, 1, 2

With cari

Do While Not .EOF

Set j = lvDataWB.ListItems.Add(, , .Fields!id_narapidana)

j.SubItems(1) = .Fields!nama

j.SubItems(2) = .Fields!Agama

j.SubItems(3) = .Fields!perkara

j.SubItems(4) = .Fields!tanggal_penahanan

j.SubItems(5) = .Fields!masa_pidana

.MoveNext

Loop

End With

Set cari = Nothing

End Sub

frmBobot.frm

Private Sub cmdSimpan_Click()

Dim totBobot As Integer

Dim noKriteria As Integer

noKriteria = 1

(11)

tbKelakuan.Text = Format(CDec(CInt(tbKelakuan.Text) / totBobot), "0.0000")

tbPerkara.Text = Format(CDec(CInt(tbPerkara.Text) / totBobot), "0.0000")

tbJasa.Text = Format(CDec(CInt(tbJasa.Text) / totBobot), "0.0000")

Set hapus = New Recordset

hapus.Open "DELETE FROM data_kriteria", Con, 1, 2

Set hapus = Nothing

Do While Not noKriteria > 3

Set simpan = New Recordset

simpan.Open "data_kriteria", Con, 1, 2

simpan.AddNew

simpan!no_kriteria = noKriteria

If noKriteria = 1 Then

simpan!nama = "Kelakuan"

simpan!bobot = tbKelakuan.Text

ElseIf noKriteria = 2 Then

simpan!nama = "Perkara"

simpan!bobot = tbPerkara.Text

ElseIf noKriteria = 3 Then

simpan!nama = "Jasa"

simpan!bobot = tbJasa.Text

End If

simpan.Update

Set simpan = Nothing

noKriteria = noKriteria + 1

Loop

End Sub

Private Sub Form_Load()

Connect

(12)

frmIsian.frm

Private Sub cmdSimpan_Click()

Dim a As Integer

If frmDataWB.txtStatusUtama.Text = "Edit Mode" Then

Dim idPelanggaran As String

Dim idJasa As String

Dim idPerkara As String

If tbStatus.Text = "Pelanggaran" Then

Set cari = New Recordset

cari.Open "SELECT * FROM data_pelanggaran ORDER BY no_urut DESC", Con, 1, 2

If Not cari.EOF Then

idPelanggaran = cari!no_urut + 1

Else

idPelanggaran = 1

End If

Set cari = Nothing

Set simpan = New Recordset

simpan.Open "data_pelanggaran", Con, 1, 2

simpan.AddNew

simpan!no_urut = idPelanggaran

simpan!id_narapidana = frmDataWB.txtIdWB.Text

simpan!pelanggaran = tbKet.Text

simpan!Tahun = dtTanggal.Value

simpan.Update

Set simpan = Nothing

Set j = frmDataWB.lvPelanggaran.ListItems.Add(, , idPelanggaran)

j.SubItems(1) = dtTanggal.Value

j.SubItems(2) = tbKet.Text

ElseIf tbStatus.Text = "Jasa" Then

Set cari = New Recordset

(13)

If Not cari.EOF Then

idJasa = cari!no_urut + 1

Else

idJasa = 1

End If

Set cari = Nothing

Set simpan = New Recordset

simpan.Open "data_jasa", Con, 1, 2

simpan.AddNew

simpan!no_urut = idJasa

simpan!id_narapidana = frmDataWB.txtIdWB.Text

simpan!aktivitas = tbKet.Text

simpan!Tahun = dtTanggal.Value

simpan.Update

Set simpan = Nothing

Set j = frmDataWB.lvJasa.ListItems.Add(, , idJasa)

j.SubItems(1) = dtTanggal.Value

j.SubItems(2) = tbKet.Text

Else

Set cari = New Recordset

cari.Open "SELECT * FROM data_perkara ORDER BY no_urut DESC", Con, 1, 2

If Not cari.EOF Then

idPerkara = cari!no_urut + 1

Else

idPerkara = 1

End If

Set cari = Nothing

Set simpan = New Recordset

simpan.Open "data_perkara", Con, 1, 2

simpan.AddNew

simpan!no_urut = idPerkara

simpan!id_narapidana = frmDataWB.txtIdWB.Text

simpan!perkara = tbKet.Text

(14)

simpan.Update

Set simpan = Nothing

Set j = frmDataWB.lvPerkara.ListItems.Add(, , idPerkara)

j.SubItems(1) = cbPerkara.Text

j.SubItems(2) = tbKet.Text

End If

Else ' bukan edit mode

If tbStatus.Text = "Pelanggaran" Then

a = frmDataWB.lvPelanggaran.ListItems.Count

Set j = frmDataWB.lvPelanggaran.ListItems.Add(, , a + 1)

j.SubItems(1) = dtTanggal.Value

j.SubItems(2) = tbKet.Text

ElseIf tbStatus.Text = "Jasa" Then

a = frmDataWB.lvJasa.ListItems.Count

Set j = frmDataWB.lvJasa.ListItems.Add(, , a + 1)

j.SubItems(1) = dtTanggal.Value

j.SubItems(2) = tbKet.Text

Else

a = frmDataWB.lvPerkara.ListItems.Count

Set j = frmDataWB.lvPerkara.ListItems.Add(, , a + 1)

j.SubItems(1) = cbPerkara.Text

j.SubItems(2) = tbKet.Text

End If

End If

Unload Me

End Sub

Private Sub Form_Activate()

If tbStatus.Text = "Perkara" Then

lbTgl.Visible = False

dtTanggal.Visible = False

lbPerkara.Visible = True

(15)

End If

End Sub

frmRemisi.frm

Dim tot_rank_kelakuan As Double

Dim tot_rank_perkara As Double

Dim tot_rank_jasa As Double

Dim AmaxKelakuan As Double

Dim AmaxPerkara As Double

Dim AmaxJasa As Double

Dim AminKelakuan As Double

Dim AminPerkara As Double

Dim AminJasa As Double

Private Sub cbAgama_Click()

lvDataWB.ListItems.Clear

End Sub

Private Sub cmdJarak_Click()

Dim Dmax As Double

Dim Dmin As Double

For i = 1 To lvDataWB.ListItems.Count

Dmax = Sqr((AmaxKelakuan - lvNormBobot.ListItems(i).SubItems(3)) ^ 2 + (AmaxPerkara -

lvNormBobot.ListItems(i).SubItems(4)) ^ 2 + (AmaxJasa -

lvNormBobot.ListItems(i).SubItems(5)) ^ 2)

Dmin = Sqr((lvNormBobot.ListItems(i).SubItems(3) - AminKelakuan) ^ 2 +

(lvNormBobot.ListItems(i).SubItems(4) - AminPerkara) ^ 2 +

(lvNormBobot.ListItems(i).SubItems(5) - AminJasa) ^ 2)

Set j = lvJarakPisah.ListItems.Add(, , i)

j.SubItems(1) = lvDataWB.ListItems(i).SubItems(1)

j.SubItems(2) = lvDataWB.ListItems(i).SubItems(2)

j.SubItems(3) = Format(Dmax, "0.0000")

j.SubItems(4) = Format(Dmin, "0.0000")

(16)

cmdJarak.Enabled = False

cmdKedekatan.Enabled = True

End Sub

Private Sub cmdKedekatan_Click()

Dim v As Double

For i = 1 To lvDataWB.ListItems.Count

v = Val(lvJarakPisah.ListItems(i).SubItems(4)) / (Val(lvJarakPisah.ListItems(i).SubItems(4))

+ Val(lvJarakPisah.ListItems(i).SubItems(3)))

Set j = lvKedekatan.ListItems.Add(, , i)

j.SubItems(1) = lvDataWB.ListItems(i).SubItems(1)

j.SubItems(2) = lvDataWB.ListItems(i).SubItems(2)

j.SubItems(3) = Format(v, "0.0000")

Next

cmdKedekatan.Enabled = False

cmdUrut.Enabled = True

End Sub

Private Sub cmdLaporan_Click()

crLaporan.ReportFileName = App.Path & "\Hasil.rpt"

crLaporan.WindowShowRefreshBtn = True

crLaporan.DataFiles(0) = App.Path & "\dRutan.mdb"

crLaporan.Action = 1

End Sub

Private Sub cmdMulai_Click()

Dim Query As String

Dim Batas As Date

'Dim status As String

Dim noUrut As Integer

If dtTime.Value >= DateValue(Now) Then

(17)

If cbAgama.Visible Then 'jika remisi Khusus

Query = "SELECT * FROM data_narapidana" & _

" WHERE agama = '" & cbAgama.Text & "'"

Else 'jika remisi umum

Query = "SELECT * FROM data_narapidana"

End If

noUrut = 0

Set cari = New Recordset

cari.Open Query, Con, 1, 2

With cari

Do While Not .EOF

If (.Fields!perkara = "Umum" And .Fields!tanggal_penahanan <= Batas) Or

(.Fields!perkara = "Khusus" And cekKhusus(.Fields!masa_pidana, .Fields!tanggal_penahanan,

dtTime.Value)) Then

noUrut = noUrut + 1

Set j = lvDataWB.ListItems.Add(, , noUrut)

j.SubItems(1) = .Fields!id_narapidana

j.SubItems(2) = .Fields!nama

j.SubItems(3) = .Fields!perkara

j.SubItems(4) = .Fields!tanggal_penahanan

End If

.MoveNext

Loop

End With

Set cari = Nothing

cmdMulai.Enabled = False

cmdRanking.Enabled = True

End If

(18)

Private Sub cmdNorm_Click()

'lvLoadNormalisasi

For i = 1 To lvDataWB.ListItems.Count

Set j = lvNormalisasi.ListItems.Add(, , i)

j.SubItems(1) = lvDataWB.ListItems(i).SubItems(1)

j.SubItems(2) = lvDataWB.ListItems(i).SubItems(2)

j.SubItems(3) = Format(Val(lvRanking.ListItems(i).SubItems(3)) / tot_rank_kelakuan,

"0.0000")

j.SubItems(4) = Format(Val(lvRanking.ListItems(i).SubItems(4)) / tot_rank_perkara,

"0.0000")

j.SubItems(5) = Format(Val(lvRanking.ListItems(i).SubItems(5)) / tot_rank_jasa, "0.0000")

Next

cmdNorm.Enabled = False

cmdNormBobot.Enabled = True

End Sub

Private Sub cmdNormBobot_Click()

Dim Query As String

Dim BobotK1 As Double

Dim BobotK2 As Double

Dim BobotK3 As Double

Dim NormBobotK1 As Double

Dim NormBobotK2 As Double

Dim NormBobotK3 As Double

Query = "SELECT * FROM data_kriteria"

Set cari = New Recordset

cari.Open Query, Con, 1, 2

Do While Not cari.EOF

If cari!nama = "Kelakuan" Then

BobotK1 = cari!bobot

ElseIf cari!nama = "Perkara" Then

BobotK2 = cari!bobot

ElseIf cari!nama = "Jasa" Then

(19)

End If

cari.MoveNext

Loop

Set cari = Nothing

For i = 1 To lvDataWB.ListItems.Count

NormBobotK1 = Format(Val(lvNormalisasi.ListItems(i).SubItems(3)) * BobotK1, "0.0000")

NormBobotK2 = Format(Val(lvNormalisasi.ListItems(i).SubItems(4)) * BobotK2, "0.0000")

NormBobotK3 = Format(Val(lvNormalisasi.ListItems(i).SubItems(5)) * BobotK3, "0.0000")

Set j = lvNormBobot.ListItems.Add(, , i)

j.SubItems(1) = lvDataWB.ListItems(i).SubItems(1)

j.SubItems(2) = lvDataWB.ListItems(i).SubItems(2)

j.SubItems(3) = NormBobotK1

j.SubItems(4) = NormBobotK2

j.SubItems(5) = NormBobotK3

If i = 1 Then

AmaxKelakuan = NormBobotK1

AmaxPerkara = NormBobotK2

AmaxJasa = NormBobotK3

AminKelakuan = NormBobotK1

AminPerkara = NormBobotK2

AminJasa = NormBobotK3

Else

If AmaxKelakuan < NormBobotK1 Then

AmaxKelakuan = NormBobotK1

End If

If AmaxPerkara < NormBobotK2 Then

AmaxPerkara = NormBobotK2

End If

If AmaxJasa < NormBobotK3 Then

AmaxJasa = NormBobotK3

End If

(20)

If AminKelakuan > NormBobotK1 Then

AminKelakuan = NormBobotK1

End If

If AminPerkara > NormBobotK2 Then

AminPerkara = NormBobotK2

End If

If AminJasa > NormBobotK3 Then

AminJasa = NormBobotK3

End If

End If

Next

cmdNormBobot.Enabled = False

cmdSolusi.Enabled = True

End Sub

Private Sub cmdRanking_Click()

Dim Query As String

Dim Tahun1 As String

Dim Tahun2 As String

Dim totUmum As Integer

Dim totKhusus As Integer

Dim rank_kelakuan As Integer

Dim rank_perkara As Integer

Dim rank_jasa As Integer

tot_rank_kelakuan = 0

tot_rank_perkara = 0

tot_rank_jasa = 0

'lvLoadRanking

For i = 1 To lvDataWB.ListItems.Count

(21)

" WHERE id_narapidana = " & lvDataWB.ListItems(i).SubItems(1)

Set cari = New Recordset

cari.Open Query, Con, 1, 2

If cari.RecordCount > 0 Then

Tahun = DatePart("yyyy", CDate(cari!Tahun))

If Tahun = DatePart("yyyy", dtTime) Then

rank_kelakuan = 1

ElseIf cari.RecordCount > 3 Then

rank_kelakuan = 2

ElseIf cari.RecordCount >= 2 Then

rank_kelakuan = 3

ElseIf cari.RecordCount = 1 Then

rank_kelakuan = 4

End If

ElseIf cari.RecordCount = 0 Then

rank_kelakuan = 5

End If

tot_rank_kelakuan = tot_rank_kelakuan + (rank_kelakuan * rank_kelakuan)

Set cari = Nothing

Query = "SELECT * FROM data_perkara" & _

" WHERE id_narapidana = " & Val(lvDataWB.ListItems(i).SubItems(1)) & _

" AND jenis = 'Umum'"

Set cari = New Recordset

cari.Open Query, Con, 1, 2

totUmum = cari.RecordCount

Set cari = Nothing

Query = "SELECT * FROM data_perkara" & _

" WHERE id_narapidana = " & Val(lvDataWB.ListItems(i).SubItems(1)) & _

" AND jenis = 'Khusus'"

Set cari = New Recordset

cari.Open Query, Con, 1, 2

totKhusus = cari.RecordCount

(22)

If (totUmum = 1) And (totKhusus = 0) Then

rank_perkara = 5

ElseIf (totUmum > 1) And (totKhusus = 0) Then

rank_perkara = 4

ElseIf (totUmum = 0) And (totKhusus = 1) Then

rank_perkara = 3

ElseIf (totUmum = 0) And (totKhusus > 1) Then

rank_perkara = 2

ElseIf (totUmum > 0) And (totKhusus > 0) Then

rank_perkara = 1

End If

tot_rank_perkara = tot_rank_perkara + (rank_perkara * rank_perkara)

Query = "SELECT * FROM data_jasa" & _

" WHERE id_narapidana = " & lvDataWB.ListItems(i).SubItems(1) & _

" ORDER BY tahun DESC"

Set cari = New Recordset

cari.Open Query, Con, 1, 2

If cari.RecordCount = 0 Then

rank_jasa = 1

ElseIf cari.RecordCount > 0 Then

Tahun1 = DatePart("yyyy", dtTime.Value)

Tahun2 = DatePart("yyyy", CDate(cari!Tahun))

If Tahun1 = Tahun2 Then

rank_jasa = 5

Else

rank_jasa = 3

End If

End If

tot_rank_jasa = tot_rank_jasa + (rank_jasa * rank_jasa)

(23)

Set j = lvRanking.ListItems.Add(, , i)

j.SubItems(1) = lvDataWB.ListItems(i).SubItems(1)

j.SubItems(2) = lvDataWB.ListItems(i).SubItems(2)

j.SubItems(3) = rank_kelakuan

j.SubItems(4) = rank_perkara

j.SubItems(5) = rank_jasa

Next

tot_rank_kelakuan = Format(Sqr(tot_rank_kelakuan), "0.0000")

tot_rank_perkara = Format(Sqr(tot_rank_perkara), "0.0000")

tot_rank_jasa = Format(Sqr(tot_rank_jasa), "0.0000")

cmdRanking.Enabled = False

cmdNorm.Enabled = True

End Sub

Private Sub cmdSave_Click()

For i = 1 To lvDataWB.ListItems.Count

Set simpan = New Recordset

simpan.Open "data_topsis", Con, 1, 2

simpan.AddNew

simpan!no_urut = i

simpan!id_narapidana = lvDataWB.ListItems(i).SubItems(1)

simpan!rank_kelakuan = lvRanking.ListItems(i).SubItems(3)

simpan!rank_perkara = lvRanking.ListItems(i).SubItems(4)

simpan!rank_jasa = lvRanking.ListItems(i).SubItems(5)

simpan!norm_kelakuan = lvNormalisasi.ListItems(i).SubItems(3)

simpan!norm_perkara = lvNormalisasi.ListItems(i).SubItems(4)

simpan!norm_jasa = lvNormalisasi.ListItems(i).SubItems(5)

simpan!norm_bobot_kelakuan = lvNormBobot.ListItems(i).SubItems(3)

simpan!norm_bobot_perkara = lvNormBobot.ListItems(i).SubItems(4)

simpan!norm_bobot_jasa = lvNormBobot.ListItems(i).SubItems(5)

simpan!amax_kelakuan = lvSolusiIdeal.ListItems(i).SubItems(3)

simpan!amax_perkara = lvSolusiIdeal.ListItems(i).SubItems(4)

(24)

simpan!amin_kelakuan = lvSolusiIdeal.ListItems(i).SubItems(6)

simpan!amin_perkara = lvSolusiIdeal.ListItems(i).SubItems(7)

simpan!amin_jasa = lvSolusiIdeal.ListItems(i).SubItems(8)

simpan!Dmax = lvJarakPisah.ListItems(i).SubItems(3)

simpan!Dmin = lvJarakPisah.ListItems(i).SubItems(4)

simpan!v = lvKedekatan.ListItems(i).SubItems(3)

simpan.Update

Set simpan = Nothing

Next

MsgBox ("Data berhasil disimpan.")

cmdSave.Enabled = False

cmdLaporan.Enabled = True

End Sub

Private Sub cmdSolusi_Click()

For i = 1 To lvDataWB.ListItems.Count

Set j = lvSolusiIdeal.ListItems.Add(, , i)

j.SubItems(1) = lvDataWB.ListItems(i).SubItems(1)

j.SubItems(2) = lvDataWB.ListItems(i).SubItems(2)

j.SubItems(3) = AmaxKelakuan

j.SubItems(4) = AmaxPerkara

j.SubItems(5) = AmaxJasa

j.SubItems(6) = AminKelakuan

j.SubItems(7) = AminPerkara

j.SubItems(8) = AminJasa

Next

cmdSolusi.Enabled = False

cmdJarak.Enabled = True

End Sub

Private Sub cmdUrut_Click()

For i = 1 To lvDataWB.ListItems.Count

Set j = lvHasil.ListItems.Add(, , lvKedekatan.ListItems(i).Index)

(25)

j.SubItems(2) = lvKedekatan.ListItems(i).SubItems(2)

j.SubItems(3) = lvKedekatan.ListItems(i).SubItems(3)

Next

lvHasil.SortKey = 3

lvHasil.SortOrder = lvwDescending

lvHasil.Sorted = True

cmdUrut.Enabled = False

cmdSave.Enabled = True

End Sub

Private Sub Form_Load()

Connect

Set cari = New Recordset

cari.Open "DELETE FROM data_topsis", Con, 1, 2

Set cari = Nothing

lvLoadHeaderWB

lvLoadRanking

lvLoadNormalisasi

lvLoadNormalisasiBobot

lvLoadSolusiIdeal

lvLoadJarakPisah

lvLoadKedekatan

End Sub

Private Sub lvLoadHeaderWB()

Dim ch As ColumnHeader

Set ch = lvDataWB.ColumnHeaders.Add(, , "No.", 500)

Set ch = lvDataWB.ColumnHeaders.Add(, , "id", 0)

Set ch = lvDataWB.ColumnHeaders.Add(, , "Nama", 2000, vbLeftJustify)

Set ch = lvDataWB.ColumnHeaders.Add(, , "Perkara", 900, vbCenter)

Set ch = lvDataWB.ColumnHeaders.Add(, , "Tanggal Penahanan", 1800, vbCenter)

(26)

End Sub

Private Sub lvLoadRanking()

Dim ch As ColumnHeader

Set ch = lvRanking.ColumnHeaders.Add(, , "No.", 500)

Set ch = lvRanking.ColumnHeaders.Add(, , "id", 0)

Set ch = lvRanking.ColumnHeaders.Add(, , "Nama", 2000, vbLeftJustify)

Set ch = lvRanking.ColumnHeaders.Add(, , "Kelakuan (K1)", 900, vbCenter)

Set ch = lvRanking.ColumnHeaders.Add(, , "Perkara (K2)", 900, vbCenter)

Set ch = lvRanking.ColumnHeaders.Add(, , "Jasa (K3)", 900, vbCenter)

lvRanking.GridLines = True

End Sub

Private Sub lvLoadNormalisasi()

Dim ch As ColumnHeader

Set ch = lvNormalisasi.ColumnHeaders.Add(, , "No.", 500)

Set ch = lvNormalisasi.ColumnHeaders.Add(, , "id", 0)

Set ch = lvNormalisasi.ColumnHeaders.Add(, , "Nama", 2000, vbLeftJustify)

Set ch = lvNormalisasi.ColumnHeaders.Add(, , "K1", 900, vbCenter)

Set ch = lvNormalisasi.ColumnHeaders.Add(, , "K2", 900, vbCenter)

Set ch = lvNormalisasi.ColumnHeaders.Add(, , "K3", 900, vbCenter)

lvNormalisasi.GridLines = True

End Sub

Private Sub lvLoadNormalisasiBobot()

Dim ch As ColumnHeader

Set ch = lvNormBobot.ColumnHeaders.Add(, , "No.", 500)

Set ch = lvNormBobot.ColumnHeaders.Add(, , "id", 0)

Set ch = lvNormBobot.ColumnHeaders.Add(, , "Nama", 2000, vbLeftJustify)

Set ch = lvNormBobot.ColumnHeaders.Add(, , "K1", 900, vbCenter)

Set ch = lvNormBobot.ColumnHeaders.Add(, , "K2", 900, vbCenter)

Set ch = lvNormBobot.ColumnHeaders.Add(, , "K3", 900, vbCenter)

lvNormBobot.GridLines = True

(27)

Private Sub lvLoadSolusiIdeal()

Dim ch As ColumnHeader

Set ch = lvSolusiIdeal.ColumnHeaders.Add(, , "No.", 500)

Set ch = lvSolusiIdeal.ColumnHeaders.Add(, , "id", 0)

Set ch = lvSolusiIdeal.ColumnHeaders.Add(, , "Nama", 2000, vbLeftJustify)

Set ch = lvSolusiIdeal.ColumnHeaders.Add(, , "Amax Kelakuan", 900, vbCenter)

Set ch = lvSolusiIdeal.ColumnHeaders.Add(, , "Amax Perkara", 900, vbCenter)

Set ch = lvSolusiIdeal.ColumnHeaders.Add(, , "Amax Jasa", 900, vbCenter)

Set ch = lvSolusiIdeal.ColumnHeaders.Add(, , "Amin Kelakuan", 900, vbCenter)

Set ch = lvSolusiIdeal.ColumnHeaders.Add(, , "Amin Perkara", 900, vbCenter)

Set ch = lvSolusiIdeal.ColumnHeaders.Add(, , "Amin Jasa", 900, vbCenter)

lvSolusiIdeal.GridLines = True

End Sub

Private Sub lvLoadJarakPisah()

Dim ch As ColumnHeader

Set ch = lvJarakPisah.ColumnHeaders.Add(, , "No.", 500)

Set ch = lvJarakPisah.ColumnHeaders.Add(, , "id", 0)

Set ch = lvJarakPisah.ColumnHeaders.Add(, , "Nama", 2000, vbLeftJustify)

Set ch = lvJarakPisah.ColumnHeaders.Add(, , "Dmax", 900, vbCenter)

Set ch = lvJarakPisah.ColumnHeaders.Add(, , "Dmin", 900, vbCenter)

lvJarakPisah.GridLines = True

End Sub

Private Sub lvLoadKedekatan()

Dim ch As ColumnHeader

Set ch = lvKedekatan.ColumnHeaders.Add(, , "No.", 0)

Set ch = lvKedekatan.ColumnHeaders.Add(, , "id", 0)

Set ch = lvKedekatan.ColumnHeaders.Add(, , "Nama", 2000, vbLeftJustify)

Set ch = lvKedekatan.ColumnHeaders.Add(, , "V", 900, vbCenter)

lvKedekatan.GridLines = True

End Sub

Private Function cekKhusus(MasaPidana As String, TglTahan As Date, TglTujuan As Date) As

(28)

Dim LamaTinggal As Integer

Dim LamaPidanaArr() As String

Dim LamaPidana As Integer

Dim TotalMasa As String

Dim TglAkhir As String

LamaTinggal = DateDiff("d", TglTahan, TglTujuan)

LamaPidanaArr = Split(MasaPidana, ";")

TglAkhir = DatePart("m", DateAdd("m", LamaPidanaArr(1), TglTahan)) & "/" & _

DatePart("d", DateAdd("d", LamaPidanaArr(2), TglTahan)) & "/" & _

DatePart("yyyy", DateAdd("yyyy", LamaPidanaArr(0), TglTahan))

TotalMasa = DateDiff("d", TglTahan, TglAkhir)

If TotalMasa <= (3 * LamaTinggal) Then

cekKhusus = True

Else

cekKhusus = False

End If

Referensi

Dokumen terkait

Tujuan dari penelitian ini adalah untuk mengetahui apakah sistem pengukuran kinerja dan sistem reward berpengaruh terhadap kinerja manajerial pada UD.Surya Chemical dan

Melakukan penilaian terhadap kegiatan usaha dan atau tindakan pelaku usaha yang dapat mengakibatkan terjadinya praktek monopoli dan atau persaingan usaha tidak

Demikian juga dengan kepemimpinan manajer yang menunjukkan kategori kurang baik dengan persentase 70%.Hasil penelitian ini juga menunjukkan bahwa adanya hubungan yang

Alhamdulillahirobbil’alamin, puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat dan karunia-Nya sehingga penulis dapat menyusun dan menyelesaikan skripsi ini

tersebut berdampak pada proses kegiatan belajar mengajar dan juga berdampak pada prestasi siswa banyak yang mendapat nilai kurang baik atau tidak mencapai KKM. Dari hasil

kendaraan tersebut berhasil menempuh jarak 15 km, pada hari kedua 25 km, hari ketiga 35 km dan seterusnya membentuk pola aritmatika.. Pada zaman dahulu hiduplah seorang kakek dengan

2 Keluarga Bapak Nurati merupakan salah satu dari sekian keluarga miskin atau rumah tangga miskin (RTM) yang berada di Desa Manduang. Ia tinggal bersama istri dan satu anak

Meskipun demikian, pengaruh ini dapat dihilangkan karena studi di Turki, pada subjek usia 6-60 bulan dengan diare akut, kadar zinc serum baru meningkat secara ber- makna