LISTING PROGRAM
1. Halaman Login
Imports System.Data.Odbc Imports System.Data
Imports System.Data.SqlClient Imports MySql.Data.MySqlClient Public Class frmlogin
Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click, Label1.Click
End Sub
Private Sub frmlogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
getConnString()
cbolevel.Items.Add("Pengguna") cbolevel.Items.Add("Administrator") cmdlogin.Enabled = False
txtuser.Enabled = False txtpassword.Enabled = False End Sub
Private Sub cmdtambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdlogin.Click
If cbolevel.Text = "Pengguna" Then
main.MasterToolStripMenuItem.Visible = False Me.Hide()
main.Show() Exit Sub
ElseIf cbolevel.Text = "Administrator" Then main.MasterToolStripMenuItem.Visible = True main.MetodeToolStripMenuItem.Visible = True
If txtuser.Text = "" Then
MsgBox("Masukkan User ID", vbCritical) txtuser.Focus()
End If
If txtpassword.Text = "" Then
MsgBox("Masukkan Password", vbCritical) txtpassword.Focus()
End If openConn()
rd = cmd.ExecuteReader rd.Read()
If rd.HasRows Then Call closeConn() userid = txtuser.Text Me.Hide()
main.Show() txtuser.Text = "" txtpassword.Text = "" Else
MsgBox("Login Salah") txtuser.Focus()
End If End If End Sub
Private Sub cbolevel_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbolevel.SelectedIndexChanged
If cbolevel.Text = "Administrator" Then txtuser.Enabled = True
txtpassword.Enabled = True txtuser.Text = ""
txtpassword.Text = ""
ElseIf cbolevel.Text = "Pengguna" Then txtuser.Enabled = False
txtpassword.Enabled = False txtpassword.Text = "" txtuser.Text = "" End If
cmdlogin.Enabled = True End Sub
Private Sub cmdkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdkeluar.Click
Application.Exit() End Sub
2. Halaman Proses Kriteria
Imports MySql.Data.MySqlClient Imports MySql.Data
Public Class frmkriteria
Dim blnaddcus As Boolean = True Dim blnubahcus As Boolean = False Dim blnhapuscus As Boolean = False Sub bersih()
txtnama_kriteria.Text = "" txtid_kriteria.Text = "" End Sub
Sub isisDgv()
Dim dt As New DataTable
GetData(dt, "select * from kriteria") dgkriteria.DataSource = dt
dgkriteria.Columns(0).HeaderText = "ID Kriteria" dgkriteria.Columns(1).HeaderText = "Nama Kriteria" dgkriteria.Columns(0).Width = 50
dgkriteria.Columns(1).Width = 200 End Sub
Sub enabFalse()
txtnama_kriteria.Enabled = False txtid_kriteria.Enabled = False End Sub
Sub enabTrue()
txtnama_kriteria.Enabled = True txtid_kriteria.Enabled = True End Sub
Function validasi() As Boolean
If txtnama_kriteria.Text.Length = 0 Then
MessageBox.Show("Kriteria tidak boleh kosong", "Validasi", MessageBoxButtons.OK, MessageBoxIcon.Information) txtnama_kriteria.Focus()
Return False End If
If txtnama_kriteria.Text.Length <> 0 <> 0 Then Return True
End If End Function
Private Sub frmkriteria_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub cmdtambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdtambah.Click
Try
If cmdtambah.Text = "&Tambah" Then Me.bersih()
enabTrue()
txtnama_kriteria.Focus() cmdtambah.Text = "&Simpan" cmdubah.Text = "&Batal" cmdhapus.Enabled = False blnaddcus = True
blnubahcus = True Else
If validasi() Then
cmdtambah.Text = "&Tambah" cmdubah.Text = "&Ubah" cmdhapus.Enabled = True
If blnaddcus = True Then
If Eksekusi(String.Format("insert into kriteria (nama_kriteria) values('" & txtnama_kriteria.Text & "')")) > 0 Then
MessageBox.Show("Berhasil tersimpan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
isisDgv() bersih() enabFalse() Else
MessageBox.Show("Gagal tersimpan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
blnubahcus = False blnhapuscus = False Else
If MessageBox.Show(String.Format("Apakah anda yakin akan mengubah menjadi'{0}'", txtnama_kriteria.Text), "Konfirmasi",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
If Eksekusi(String.Format("update kriteria set nama_kriteria='{0}' where id_kriteria={2}", txtnama_kriteria.Text, txtid_kriteria.Text)) > 0 Then MessageBox.Show("Berhasil diubah", "Sukses",
MessageBoxButtons.OK, MessageBoxIcon.Information) isisDgv()
bersih() enabFalse() Else
End If
blnubahcus = False blnhapuscus = False End If
End If End If End If
Catch ex As Exception
MessageBox.Show("Failed : " & ex.Message) End Try
End Sub
Private Sub cmdubah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdubah.Click
If blnubahcus Then
If blnaddcus = True Then 'batal add
cmdtambah.Text = "&Tambah" cmdubah.Text = "&Ubah" cmdhapus.Enabled = True blnaddcus = False
enabFalse() bersih()
blnubahcus = False blnhapuscus = False Else
If cmdubah.Text = "&Ubah" Then 'Tambah
cmdtambah.Text = "&Simpan" cmdubah.Text = "&Batal" cmdhapus.Enabled = False blnaddcus = False
cmdubah.Enabled = True cmdhapus.Enabled = False cmdtambah.Enabled = True enabTrue()
txtid_kriteria.Enabled = False blnubahcus = True
blnhapuscus = True Else
'batal ubah
cmdtambah.Text = "&Tambah" cmdubah.Text = "&Ubah" cmdhapus.Enabled = True enabFalse()
bersih()
End If Else
MessageBox.Show("Pilih dahulu data yang akan diubah", "Pilih", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If End Sub
Private Sub cmdhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdhapus.Click
If blnhapuscus Then
If MessageBox.Show(String.Format("Apakah anda yakin akan menghapus '{0}' dari daftar", txtnama_kriteria.Text), "Konfirmasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then 'make sure there is a selected item to delete
Try
If Eksekusi(String.Format("Delete from kriteria Where id_kriteria ={0}", txtid_kriteria.Text)) > 0 Then
MessageBox.Show("Berhasil dihapus", "Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
isisDgv() bersih()
txtnama_kriteria.Enabled = False txtid_kriteria.Enabled = False blnhapuscus = False
Else
MessageBox.Show("Gagal dihapus", "Kesalahan", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Catch ex As Exception
MessageBox.Show("Failed : " & ex.Message) End Try
End If Else
MessageBox.Show("Pilih dahulu data yang akan dihapus", "Pilih", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If End Sub
Private Sub dgkriteria_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgkriteria.DoubleClick
txtid_kriteria.Text = dgkriteria.Item(0, dgkriteria.CurrentRow.Index).Value txtnama_kriteria.Text = dgkriteria.Item(1, dgkriteria.CurrentRow.Index).Value blnaddcus = False
txtid_kriteria.Enabled = False blnubahcus = True
blnhapuscus = True End Sub
3. Halaman Proses Penilaian
Imports System.Data.Odbc Imports System.Data
Imports System.Data.SqlClient Imports MySql.Data.MySqlClient Public Class frmpenilaian
Dim blnaddcus As Boolean = True Dim blnubahcus As Boolean = False Dim blnhapuscus As Boolean = False Sub bersih()
txtidpenilaian.Text = "" cbopelayanan.Text = "" cbofasilitas.Text = "" txtbiaya.Text = "" txtdokter_mata.Text = "" txtdokter_paru.Text = "" txtdokter_jantung.Text = "" cbonamarumah_sakit.Text = "" txtidrumah_sakit.Text = ""
End Sub Sub isisDgv()
Dim dt As New DataTable
GetData(dt, "SELECT penilaian.id_penilaian,rumah_sakit.id_rumah_sakit, rumah_sakit.nama_rumah_sakit, penilaian.pelayanan, penilaian.fasilitas,
penilaian.biaya,penilaian.dokter_mata, penilaian.dokter_paru,penilaian.dokter_jantung FROM rumah_sakit INNER JOIN penilaian ON rumah_sakit.id_rumah_sakit = penilaian.id_rumah_sakit")
dgpenilaian.DataSource = dt
dgpenilaian.Columns(0).HeaderText = "ID Penilaian" dgpenilaian.Columns(1).HeaderText = "ID Rumah Sakit"
dgpenilaian.Columns(2).HeaderText = "Nama Rumah Sakit" dgpenilaian.Columns(3).HeaderText = "Pelayanan"
dgpenilaian.Columns(4).HeaderText = "Fasilitas" dgpenilaian.Columns(5).HeaderText = "Biaya"
dgpenilaian.Columns(6).HeaderText = "Jumlah Dokter Mata" dgpenilaian.Columns(7).HeaderText = "Jumlah Dokter Paru" dgpenilaian.Columns(8).HeaderText = "Jumlah Dokter Jantung"
dgpenilaian.Columns(8).Width = 200
End Sub Sub combo() Try
openConn()
cmd = New OdbcCommand("select nama_rumah_sakit from rumah_sakit", conn)
rd = cmd.ExecuteReader
cbonamarumah_sakit.Items.Clear() While rd.Read
cbonamarumah_sakit.Items.Add(rd.Item("nama_rumah_sakit")) End While
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
End Sub
Function validasi() As Boolean If txtbiaya.Text.Length = 0 Then
MessageBox.Show("Biaya tidak boleh kosong", "Validasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
txtbiaya.Focus() Return False End If
If cbopelayanan.Text.Length = 0 Then
MessageBox.Show("Pelayanan tidak boleh kosong", "Validasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
cbopelayanan.Focus() Return False
End If
If cbofasilitas.Text.Length = 0 Then
MessageBox.Show("Fasilitas tidak boleh kosong", "Validasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
cbofasilitas.Focus() Return False End If
If txtdokter_mata.Text.Length = 0 Then
MessageBox.Show("Dokter Mata Tidak tidak boleh kosong", "Validasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
txtdokter_mata.Focus() Return False
End If
MessageBox.Show("Dokter Paru Tidak tidak boleh kosong", "Validasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
txtdokter_paru.Focus() Return False
End If
If txtdokter_jantung.Text.Length = 0 Then
MessageBox.Show("Dokter Jantung Tidak tidak boleh kosong", "Validasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
txtdokter_jantung.Focus() Return False
End If
If txtbiaya.Text.Length <> 0 And cbopelayanan.Text.Length <> 0 And cbofasilitas.Text.Length <> 0 And txtbiaya.Text.Length <> 0 And
txtdokter_mata.Text.Length <> 0 And txtdokter_paru.Text.Length <> 0 And txtdokter_jantung.Text.Length <> 0 Then
Return True End If
End Function Sub enabFalse()
txtidpenilaian.Enabled = False cbofasilitas.Enabled = False
cbonamarumah_sakit.Enabled = False cbopelayanan.Enabled = False
txtbiaya.Enabled = False txtdokter_mata.Enabled = False txtdokter_paru.Enabled = False txtdokter_jantung.Enabled = False txtidrumah_sakit.Enabled = False End Sub
Sub enabTrue()
txtidpenilaian.Enabled = True cbofasilitas.Enabled = True
cbonamarumah_sakit.Enabled = True cbopelayanan.Enabled = True
txtbiaya.Enabled = True txtdokter_mata.Enabled = True txtdokter_paru.Enabled = True txtdokter_jantung.Enabled = True txtidrumah_sakit.Enabled = True End Sub
Private Sub frmpenilaian_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
getConnString() combo()
Private Sub dgpenilaian_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgpenilaian.DoubleClick
txtidpenilaian.Text = dgpenilaian.Item(0, dgpenilaian.CurrentRow.Index).Value txtidrumah_sakit.Text = dgpenilaian.Item(1,
dgpenilaian.CurrentRow.Index).Value
cbonamarumah_sakit.Text = dgpenilaian.Item(2, dgpenilaian.CurrentRow.Index).Value
cbopelayanan.Text = dgpenilaian.Item(3, dgpenilaian.CurrentRow.Index).Value
cbofasilitas.Text = dgpenilaian.Item(4, dgpenilaian.CurrentRow.Index).Value txtbiaya.Text = dgpenilaian.Item(5, dgpenilaian.CurrentRow.Index).Value txtdokter_mata.Text = dgpenilaian.Item(6, dgpenilaian.CurrentRow.Index).Value txtdokter_paru.Text = dgpenilaian.Item(7, dgpenilaian.CurrentRow.Index).Value txtdokter_jantung.Text = dgpenilaian.Item(8,
dgpenilaian.CurrentRow.Index).Value blnaddcus = False
blnubahcus = True blnhapuscus = True End Sub
Private Sub cmdhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdhapus.Click
If blnhapuscus Then
If MessageBox.Show(String.Format("Apakah anda yakin akan menghapus '{0}' dari daftar", cbonamarumah_sakit.Text), "Konfirmasi",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then 'make sure there is a selected item to delete Try
If Eksekusi(String.Format("Delete from penilaian Where id_penilaian={0}", txtidpenilaian.Text)) > 0 Then
MessageBox.Show("Berhasil dihapus", "Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
isisDgv() bersih()
txtidrumah_sakit.Enabled = False txtidpenilaian.Enabled = False blnhapuscus = False
Else
MessageBox.Show("Gagal dihapus", "Kesalahan", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Catch ex As Exception
MessageBox.Show("Failed : " & ex.Message) End Try
MessageBox.Show("Pilih dahulu data yang akan dihapus", "Pilih", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If End Sub
Private Sub cbonamarumah_sakit_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
cbonamarumah_sakit.SelectedIndexChanged Try
openConn()
cmd = New OdbcCommand("select id_rumah_sakit from rumah_sakit where nama_rumah_sakit='" & cbonamarumah_sakit.Text & "'", conn)
rd = cmd.ExecuteReader rd.Read()
txtidrumah_sakit.Text = rd.Item("id_rumah_sakit") txtidrumah_sakit.Enabled = False
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
If Button2.Text = "&Tambah" Then Me.bersih()
enabTrue()
cbonamarumah_sakit.Focus() Button2.Text = "&Simpan" Button1.Text = "&Batal" cmdhapus.Enabled = False blnaddcus = True
blnubahcus = True Else
If validasi() Then
Button2.Text = "&Tambah" Button1.Text = "&Ubah" cmdhapus.Enabled = True If blnaddcus = True Then
If Eksekusi(String.Format("insert into penilaian (id_rumah_sakit, pelayanan, fasilitas, biaya, dokter_mata, dokter_paru, dokter_jantung) values('" & txtidrumah_sakit.Text & "','" & cbopelayanan.Text & "','" & cbofasilitas.Text & "','" & txtbiaya.Text & "','" & txtdokter_mata.Text & "','" & txtdokter_paru.Text & "','" & txtdokter_jantung.Text & "')")) > 0 Then
MessageBox.Show("Berhasil tersimpan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
bersih() enabFalse() Else
MessageBox.Show("Gagal tersimpan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
blnubahcus = False blnhapuscus = False Else
If MessageBox.Show(String.Format("Apakah anda yakin akan mengubah data nilai rumah sakit'{0}'", cbonamarumah_sakit.Text), "Konfirmasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
If Eksekusi(String.Format("update penilaian set id_rumah_sakit='" & txtidrumah_sakit.Text & "', pelayanan='" & cbopelayanan.Text & "', fasilitas='" & cbofasilitas.Text & "', biaya='" & txtbiaya.Text & "',dokter_mata='" &
txtdokter_mata.Text & "',dokter_paru='" & txtdokter_paru.Text &
"',dokter_jantung='" & txtdokter_jantung.Text & "' WHERE id_penilaian = " & txtidpenilaian.Text & "")) > 0 Then
MessageBox.Show("Berhasil diubah", "Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
isisDgv() bersih() enabFalse() Else
MessageBox.Show("Berhasil diubah", "Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
blnubahcus = False blnhapuscus = False End If
End If End If End If
Catch ex As Exception
MessageBox.Show("Failed : " & ex.Message) End Try
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If blnubahcus Then
If blnaddcus = True Then 'batal add
Button2.Text = "&Tambah" Button1.Text = "&Ubah" cmdhapus.Enabled = True blnaddcus = False
bersih()
blnubahcus = False blnhapuscus = False Else
If Button1.Text = "&Ubah" Then 'Tambah
Button2.Text = "&Simpan" Button1.Text = "&Batal" cmdhapus.Enabled = False blnaddcus = False
Button1.Enabled = True cmdhapus.Enabled = False Button2.Enabled = True enabTrue()
txtidpenilaian.Enabled = False blnubahcus = True
blnhapuscus = True Else
'batal ubah
Button2.Text = "&Tambah" Button1.Text = "&Ubah" cmdhapus.Enabled = True enabFalse()
bersih()
blnubahcus = False blnhapuscus = False End If
End If Else
MessageBox.Show("Pilih dahulu data yang akan diubah", "Pilih", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If End Sub End Class
4. Halaman Proses Perbandingan
Imports System.Data.Odbc Imports System.Data
Imports System.Data.SqlClient Imports MySql.Data.MySqlClient
cbokriteria_kedua.Text = "" cbokriteria_pertama.Text = "" txtidkriteria_pertama.Text = "" txtidkriteria_kedua.Text = "" txtnilai1.Text = ""
txtnilai2.Text = ""
End Sub Sub isisDgv()
Dim dt As New DataTable
GetData(dt, "SELECT b.id_bobot_perbandingan, a.nama_kriteria AS
nama_kriteria_1,c.nama_kriteria AS nama_kriteria_2, b.nilai1, b.nilai2, b.hasil FROM kriteria a, bobot_perbandingan b, kriteria c WHERE a.id_kriteria = b.id_kriteria1 AND c.id_kriteria = b.id_kriteria2")
dgperbandingan.DataSource = dt
dgperbandingan.Columns(0).HeaderText = "ID Perbandingan" dgperbandingan.Columns(1).HeaderText = "Kriteria I"
dgperbandingan.Columns(2).HeaderText = "Kriteria 2" dgperbandingan.Columns(3).HeaderText = "Nilai Kriteria I" dgperbandingan.Columns(4).HeaderText = "Nilai Kriteria 2" dgperbandingan.Columns(5).HeaderText = "Hasil"
dgperbandingan.Columns(0).Width = 60 dgperbandingan.Columns(1).Width = 200 dgperbandingan.Columns(2).Width = 200 dgperbandingan.Columns(3).Width = 200 dgperbandingan.Columns(4).Width = 200
End Sub Sub combo1() Try
openConn()
cmd = New OdbcCommand("select nama_kriteria from kriteria", conn) rd = cmd.ExecuteReader
cbokriteria_pertama.Items.Clear() While rd.Read
cbokriteria_pertama.Items.Add(rd.Item("nama_kriteria")) End While
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
End Sub Sub combo2() Try
openConn()
cbokriteria_kedua.Items.Clear() While rd.Read
cbokriteria_kedua.Items.Add(rd.Item("nama_kriteria")) End While
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
End Sub
Function validasi() As Boolean If txtnilai1.Text.Length = 0 Then
MessageBox.Show("Nilai Kriteria Pertama tidak boleh kosong", "Validasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
txtnilai1.Focus() Return False End If
If txtnilai2.Text.Length = 0 Then
MessageBox.Show("Pelayanan tidak boleh kosong", "Validasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
txtnilai2.Focus() Return False End If
If txtnilai1.Text.Length <> 0 And txtnilai2.Text.Length <> 0 Then Return True
End If End Function
Sub enabFalse()
txtnilai1.Enabled = False txtnilai2.Enabled = False
cbokriteria_pertama.Enabled = False cbokriteria_kedua.Enabled = False End Sub
Sub enabTrue()
txtnilai1.Enabled = True txtnilai2.Enabled = True
cbokriteria_pertama.Enabled = True cbokriteria_kedua.Enabled = True End Sub
Private Sub frmperbandingan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub cmdhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdhapus.Click
If blnhapuscus Then
If MessageBox.Show(String.Format("Apakah anda yakin akan menghapus dari daftar"), "Konfirmasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then 'make sure there is a selected item to delete Try
If Eksekusi(String.Format("Delete from bobot_perbandingan Where id_bobot_perbandingan={0}", txtid_perbandingan.Text)) > 0 Then
MessageBox.Show("Berhasil dihapus", "Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
isisDgv() bersih()
txtnilai1.Enabled = False txtnilai2.Enabled = False
cbokriteria_kedua.Enabled = False cbokriteria_pertama.Enabled = False blnhapuscus = False
Else
MessageBox.Show("Gagal dihapus", "Kesalahan", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Catch ex As Exception
MessageBox.Show("Failed : " & ex.Message) End Try
End If Else
MessageBox.Show("Pilih dahulu data yang akan dihapus", "Pilih", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
Private Sub cbokriteria_pertama_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
cbokriteria_pertama.SelectedIndexChanged Try
openConn()
cmd = New OdbcCommand("select id_kriteria from kriteria where nama_kriteria='" & cbokriteria_pertama.Text & "'", conn)
rd = cmd.ExecuteReader rd.Read()
txtidkriteria_pertama.Text = rd.Item("id_kriteria") txtidkriteria_pertama.Enabled = False
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
End Sub
Private Sub cbokriteria_kedua_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
cbokriteria_kedua.SelectedIndexChanged Try
openConn()
cmd = New OdbcCommand("select id_kriteria from kriteria where nama_kriteria='" & cbokriteria_kedua.Text & "'", conn)
rd = cmd.ExecuteReader rd.Read()
txtidkriteria_kedua.Text = rd.Item("id_kriteria") txtidkriteria_kedua.Enabled = False
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
If Button2.Text = "&Tambah" Then Me.bersih()
enabTrue()
cbokriteria_pertama.Focus() Button2.Text = "&Simpan" Button1.Text = "&Batal" cmdhapus.Enabled = False blnaddcus = True
blnubahcus = True Else
If validasi() Then
Dim hasil As String Dim hasil2 As String
hasil = Val(txtnilai1.Text / txtnilai2.Text) hasil2 = Val(txtnilai2.Text / txtnilai1.Text) Button2.Text = "&Tambah"
If txtidkriteria_pertama.Text = txtidkriteria_kedua.Text Then If Eksekusi(String.Format("insert into bobot_perbandingan values('','" & txtidkriteria_pertama.Text & "','" & txtidkriteria_kedua.Text & "','" & txtnilai1.Text & "','" & txtnilai2.Text & "','" & hasil & "')")) > 0 Then
MessageBox.Show("Berhasil tersimpan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
isisDgv() bersih() enabFalse() Else
MessageBox.Show("Gagal tersimpan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If Else
If Eksekusi(String.Format("insert into bobot_perbandingan values('','" & txtidkriteria_pertama.Text & "','" & txtidkriteria_kedua.Text & "','" & txtnilai1.Text & "','" & txtnilai2.Text & "','" & hasil & "')")) Or
Eksekusi(String.Format("insert into bobot_perbandingan values('','" &
txtidkriteria_kedua.Text & "','" & txtidkriteria_pertama.Text & "','" & txtnilai2.Text & "','" & txtnilai1.Text & "','" & hasil2 & "')")) > 0 Then
MessageBox.Show("Berhasil tersimpan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
isisDgv() bersih() enabFalse() Else
MessageBox.Show("Gagal tersimpan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If End If
blnubahcus = False blnhapuscus = False Else
If MessageBox.Show(String.Format("Apakah anda yakin akan mengubah data?"), "Konfirmasi", MessageBoxButtons.YesNo,
MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then If Eksekusi(String.Format("update bobot_perbandingan set id_kriteria1='" & txtidkriteria_pertama.Text & "', id_kriteria2='" &
txtidkriteria_kedua.Text & "', nilai1='" & txtnilai1.Text & "', nilai2='" & txtnilai2.Text & "',hasil='" & hasil & "' WHERE id_bobot_perbandingan = " &
txtid_perbandingan.Text & "")) > 0 Then
MessageBox.Show("Berhasil diubah", "Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
MessageBox.Show("Berhasil diubah", "Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
blnubahcus = False blnhapuscus = False End If
End If End If End If
Catch ex As Exception
MessageBox.Show("Failed : " & ex.Message) End Try
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If blnubahcus Then
If blnaddcus = True Then 'batal add
Button2.Text = "&Tambah" Button1.Text = "&Ubah" cmdhapus.Enabled = True blnaddcus = False
enabFalse() bersih()
blnubahcus = False blnhapuscus = False Else
If Button1.Text = "&Ubah" Then 'Tambah
Button2.Text = "&Simpan" Button1.Text = "&Batal" cmdhapus.Enabled = False blnaddcus = False
Button1.Enabled = True cmdhapus.Enabled = False Button2.Enabled = True enabTrue()
txtid_perbandingan.Enabled = False blnubahcus = True
blnhapuscus = True Else
'batal ubah
Button2.Text = "&Tambah" Button1.Text = "&Ubah" cmdhapus.Enabled = True enabFalse()
bersih()
blnhapuscus = False End If
End If Else
MessageBox.Show("Pilih dahulu data yang akan diubah", "Pilih", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If End Sub
Private Sub dgperbandingan_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgperbandingan.DoubleClick
txtid_perbandingan.Text = dgperbandingan.Item(0, dgperbandingan.CurrentRow.Index).Value
cbokriteria_pertama.Text = dgperbandingan.Item(1, dgperbandingan.CurrentRow.Index).Value
cbokriteria_kedua.Text = dgperbandingan.Item(2, dgperbandingan.CurrentRow.Index).Value
txtnilai1.Text = dgperbandingan.Item(3, dgperbandingan.CurrentRow.Index).Value
txtnilai2.Text = dgperbandingan.Item(4, dgperbandingan.CurrentRow.Index).Value blnaddcus = False
blnubahcus = True blnhapuscus = True
End Sub
Private Sub dgperbandingan_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgperbandingan.CellContentClick
End Sub
Private Sub txtnilai2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtnilai2.TextChanged
End Sub
Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click
5. Halaman Proses Rumah Sakit
Imports MySql.Data.MySqlClient Imports MySql.Data
Public Class frmrumah_sakit
Dim blnaddcus As Boolean = True Dim blnubahcus As Boolean = False Dim blnhapuscus As Boolean = False Sub bersih()
txtidrumah_sakit.Text = "" txtalamatrumah_sakit.Text = "" txtnamarumah_sakit.Text = "" txtidrumah_sakit.Text = "" End Sub
Sub isisDgv()
Dim dt As New DataTable
GetData(dt, "select * from rumah_sakit") dgrumah_sakit.DataSource = dt
dgrumah_sakit.Columns(0).HeaderText = "ID Rumah Sakit" dgrumah_sakit.Columns(1).HeaderText = "Nama Rumah Sakit" dgrumah_sakit.Columns(2).HeaderText = "Alamat"
dgrumah_sakit.Columns(0).Width = 50 dgrumah_sakit.Columns(1).Width = 200 dgrumah_sakit.Columns(2).Width = 350 End Sub
Sub enabFalse()
txtnamarumah_sakit.Enabled = False txtalamatrumah_sakit.Enabled = False txtidrumah_sakit.Enabled = False End Sub
Sub enabTrue()
txtnamarumah_sakit.Enabled = True txtalamatrumah_sakit.Enabled = True txtidrumah_sakit.Enabled = True End Sub
Function validasi() As Boolean
If txtnamarumah_sakit.Text.Length = 0 Then
MessageBox.Show("Nama Rumah Sakit tidak boleh kosong", "Validasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
txtnamarumah_sakit.Focus() Return False
End If
If txtalamatrumah_sakit.Text.Length = 0 Then
MessageBox.Show("Alamat Rumah Sakit tidak boleh kosong", "Validasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
Return False End If
If txtnamarumah_sakit.Text.Length <> 0 And txtalamatrumah_sakit.Text.Length <> 0 Then
Return True End If
End Function
Private Sub frmrumah_sakit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
getConnString() isisDgv() End Sub
Private Sub cmdtambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdtambah.Click
Try
If cmdtambah.Text = "&Tambah" Then Me.bersih()
enabTrue()
txtnamarumah_sakit.Focus() cmdtambah.Text = "&Simpan" cmdubah.Text = "&Batal" cmdhapus.Enabled = False blnaddcus = True
blnubahcus = True Else
If validasi() Then
cmdtambah.Text = "&Tambah" cmdubah.Text = "&Ubah" cmdhapus.Enabled = True
If blnaddcus = True Then
If Eksekusi(String.Format("insert into rumah_sakit
(nama_rumah_sakit, alamat) values('" & txtnamarumah_sakit.Text & "','" & txtalamatrumah_sakit.Text & "')")) > 0 Then
MessageBox.Show("Berhasil tersimpan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
isisDgv() bersih() enabFalse() Else
MessageBox.Show("Gagal tersimpan", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
If MessageBox.Show(String.Format("Apakah anda yakin akan mengubah menjadi'{0}'", txtnamarumah_sakit.Text), "Konfirmasi",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
If Eksekusi(String.Format("update rumah_sakit set nama_rumah_sakit='{0}', alamat= '{1}' where id_rumah_sakit={2}",
txtnamarumah_sakit.Text, txtalamatrumah_sakit.Text, txtidrumah_sakit.Text)) > 0 Then
MessageBox.Show("Berhasil diubah", "Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
isisDgv() bersih() enabFalse() Else
MessageBox.Show("Berhasil diubah", "Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
blnubahcus = False blnhapuscus = False End If
End If End If End If
Catch ex As Exception
MessageBox.Show("Failed : " & ex.Message) End Try
End Sub
Private Sub cmdubah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdubah.Click
If blnubahcus Then
If blnaddcus = True Then 'batal add
cmdtambah.Text = "&Tambah" cmdubah.Text = "&Ubah" cmdhapus.Enabled = True blnaddcus = False
enabFalse() bersih()
blnubahcus = False blnhapuscus = False Else
If cmdubah.Text = "&Ubah" Then 'Tambah
cmdtambah.Text = "&Simpan" cmdubah.Text = "&Batal" cmdhapus.Enabled = False blnaddcus = False
cmdhapus.Enabled = False cmdtambah.Enabled = True enabTrue()
txtidrumah_sakit.Enabled = False blnubahcus = True
blnhapuscus = True Else
'batal ubah
cmdtambah.Text = "&Tambah" cmdubah.Text = "&Ubah" cmdhapus.Enabled = True enabFalse()
bersih()
blnubahcus = False blnhapuscus = False End If
End If Else
MessageBox.Show("Pilih dahulu data yang akan diubah", "Pilih", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If End Sub
Private Sub cmdhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdhapus.Click
If blnhapuscus Then
If MessageBox.Show(String.Format("Apakah anda yakin akan menghapus '{0}' dari daftar", txtnamarumah_sakit.Text), "Konfirmasi",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then 'make sure there is a selected item to delete Try
If Eksekusi(String.Format("Delete from rumah_sakit Where id_rumah_sakit ={0}", txtidrumah_sakit.Text)) > 0 Then
MessageBox.Show("Berhasil dihapus", "Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
isisDgv() bersih()
txtnamarumah_sakit.Enabled = False txtalamatrumah_sakit.Enabled = False
blnhapuscus = False Else
MessageBox.Show("Gagal dihapus", "Kesalahan", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Catch ex As Exception
MessageBox.Show("Failed : " & ex.Message) End Try
Else
MessageBox.Show("Pilih dahulu data yang akan dihapus", "Pilih", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If End Sub
Private Sub dgrumah_sakit_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgrumah_sakit.DoubleClick
txtidrumah_sakit.Text = dgrumah_sakit.Item(0, dgrumah_sakit.CurrentRow.Index).Value
txtnamarumah_sakit.Text = dgrumah_sakit.Item(1, dgrumah_sakit.CurrentRow.Index).Value
txtalamatrumah_sakit.Text = dgrumah_sakit.Item(2, dgrumah_sakit.CurrentRow.Index).Value
blnaddcus = False
txtidrumah_sakit.Enabled = False blnubahcus = True
blnhapuscus = True End Sub
Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
End Sub End Class
6. Halaman Menu AHP
Imports System.Data.Odbc Imports System.Data.OleDb Imports System.Data.SqlClient Imports MySql.Data.MySqlClient Public Class frmahp
Dim i As Integer
Dim insertquery As String Dim deletequery As String Dim jum_kriteria As String
Dim jum_normal_matrix As String Dim hasil As Double
Dim hasil_delete As Integer
Sub penilaian_ahp()
Dim oWatch As New Stopwatch oWatch.Start()
'untuk clear data Try
openConn()
deletequery = ("delete from bobot_ahp") cmd = New OdbcCommand(deletequery, conn) hasil_delete = cmd.ExecuteNonQuery
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
Try
openConn()
deletequery = ("delete from total_bobot") cmd = New OdbcCommand(deletequery, conn) hasil_delete = cmd.ExecuteNonQuery
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
Try
openConn()
deletequery = ("delete from bobot_eigen") cmd = New OdbcCommand(deletequery, conn) hasil_delete = cmd.ExecuteNonQuery
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
Try
openConn()
deletequery = ("delete from normal_matrix") cmd = New OdbcCommand(deletequery, conn) hasil_delete = cmd.ExecuteNonQuery
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
Try
openConn()
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
Try
openConn()
deletequery = ("delete from total_bagi")
cmd = New OdbcCommand(deletequery, conn) hasil_delete = cmd.ExecuteNonQuery
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
Try
openConn()
deletequery = ("delete from total_perbandingan") cmd = New OdbcCommand(deletequery, conn) hasil_delete = cmd.ExecuteNonQuery
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
Try
openConn()
deletequery = ("delete from eigenfactor") cmd = New OdbcCommand(deletequery, conn) hasil_delete = cmd.ExecuteNonQuery
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
Try
openConn()
deletequery = ("delete from total_eigen") cmd = New OdbcCommand(deletequery, conn) hasil_delete = cmd.ExecuteNonQuery
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
Try
deletequery = ("delete from hasil_ahp")
cmd = New OdbcCommand(deletequery, conn) hasil_delete = cmd.ExecuteNonQuery
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
'untuk clear data
'untuk menghitung total masing2 kriteria Try
openConn()
cmd = New OdbcCommand("SELECT COUNT(*) AS jum_kriteria FROM kriteria order by id_kriteria ASC", conn)
rd = cmd.ExecuteReader() rd.Read()
jum_kriteria = rd.Item("jum_kriteria") Catch ex As Exception
MessageBox.Show(ex.Message) End Try
'untuk menghitung total masing2 kriteria
'untuk pembobotann hirarki semua kriteria Try
openConn()
cmd = New OdbcCommand("SELECT * FROM kriteria order by id_kriteria ASC", conn)
rd = cmd.ExecuteReader() While rd.Read
cmd2 = New OdbcCommand("SELECT SUM(hasil) AS hasil_bobot FROM bobot_perbandingan where id_kriteria2='" & rd.Item("id_kriteria") & "'", conn) rd2 = cmd2.ExecuteReader()
rd2.Read()
insertquery = ("insert into bobot_ahp values('','" & rd.Item("id_kriteria") & "','" & rd2.Item("hasil_bobot") & "')")
cmd2 = New OdbcCommand(insertquery, conn) hasil = cmd2.ExecuteNonQuery
End While closeConn()
Catch ex As Exception
Try
openConn()
cmd = New OdbcCommand("SELECT * FROM bobot_perbandingan order by id_kriteria1 ASC", conn)
rd = cmd.ExecuteReader() While rd.Read
cmd2 = New OdbcCommand("SELECT * FROM bobot_ahp where id_kriteria='" & rd.Item("id_kriteria2") & "' order by id_kriteria ASC", conn) rd2 = cmd2.ExecuteReader()
While rd2.Read()
hasil = rd.Item("hasil") / rd2.Item("nilai_kriteria")
insertquery = ("insert into total_bobot values('','" &
rd.Item("id_kriteria1") & "','" & rd.Item("id_kriteria2") & "','" & hasil & "')") cmd2 = New OdbcCommand(insertquery, conn)
hasil = cmd2.ExecuteNonQuery End While
End While closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Try
openConn()
cmd = New OdbcCommand("SELECT * FROM kriteria order by id_kriteria ASC", conn)
rd = cmd.ExecuteReader() While rd.Read
cmd2 = New OdbcCommand("SELECT SUM(hasil_kriteria) AS
hasil_kriteria FROM total_bobot where id_kriteria1='" & rd.Item("id_kriteria") & "' order by id_kriteria2 ASC", conn)
rd2 = cmd2.ExecuteReader() rd2.Read()
hasil = rd2.Item("hasil_kriteria") / jum_kriteria
insertquery = ("insert into bobot_eigen values('','" & rd.Item("id_kriteria") & "','" & hasil & "')")
cmd2 = New OdbcCommand(insertquery, conn) hasil = cmd2.ExecuteNonQuery
End While closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
'untuk menormalkan kriteria dari penilaian Try
openConn()
cmd = New OdbcCommand("SELECT * FROM penilaian order by id_rumah_sakit ASC", conn)
rd = cmd.ExecuteReader()
While rd.Read
If (rd.Item("pelayanan") = "Cukup") Then hasil_1 = 1
ElseIf (rd.Item("pelayanan") = "Bagus") Then hasil_1 = 2
ElseIf (rd.Item("pelayanan") = "Sangat Bagus") Then hasil_1 = 3
End If
If (rd.Item("fasilitas") = "Kurang") Then hasil_2 = 1
ElseIf (rd.Item("fasilitas") = "Cukup Lengkap") Then hasil_2 = 2
ElseIf (rd.Item("fasilitas") = "Lengkap") Then hasil_2 = 3
ElseIf (rd.Item("fasilitas") = "Sangat Lengkap") Then hasil_2 = 4
End If
If (rd.Item("biaya") <= 100000) Then hasil_3 = 4
ElseIf (rd.Item("biaya") <= 199000) Then hasil_3 = 3
ElseIf (rd.Item("biaya") <= 350000) Then hasil_3 = 2
ElseIf (rd.Item("biaya") > 350000) Then hasil_3 = 1
End If
If (rd.Item("dokter_mata") <= 2) Then hasil_4 = 1
ElseIf (rd.Item("dokter_mata") <= 4) Then hasil_4 = 2
ElseIf (rd.Item("dokter_mata") >= 5) Then hasil_4 = 3
End If
hasil_5 = 1
ElseIf (rd.Item("dokter_jantung") <= 4) Then hasil_5 = 2
ElseIf (rd.Item("dokter_jantung") >= 5) Then hasil_5 = 3
End If
If (rd.Item("dokter_paru") <= 2) Then hasil_6 = 1
ElseIf (rd.Item("dokter_paru") <= 4) Then hasil_6 = 2
ElseIf (rd.Item("dokter_paru") >= 5) Then hasil_6 = 3
End If
insertquery = ("insert into normal_matrix values('','" &
rd.Item("id_rumah_sakit") & "','" & hasil_1 & "','" & hasil_2 & "','" & hasil_3 & "','" & hasil_4 & "','" & hasil_5 & "','" & hasil_6 & "')")
cmd2 = New OdbcCommand(insertquery, conn) hasil = cmd2.ExecuteNonQuery
End While closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
'untuk menormalkan penilaian dari setiap kriteria 'unntuk matriks berpasangan alternatif setiap kriteria Try
openConn()
cmd = New OdbcCommand("SELECT * FROM kriteria order by id_kriteria ASC", conn)
rd = cmd.ExecuteReader() While rd.Read
cmd2 = New OdbcCommand("SELECT * FROM normal_matrix order by id_rumah_sakit ASC", conn)
rd2 = cmd2.ExecuteReader() While rd2.Read()
cmd3 = New OdbcCommand("SELECT * FROM normal_matrix order by id_rumah_sakit ASC", conn)
rd3 = cmd3.ExecuteReader() While rd3.Read()
If rd.Item("id_kriteria") = 7 Then
insertquery = ("insert into matrix_ahp values('','" & rd2.Item("id_rumah_sakit") & "','" & rd3.Item("id_rumah_sakit") & "','" & rd2.Item("normal_pelayanan") & "','" & rd3.Item("normal_pelayanan") & "','" & hasil_1 & "','" & rd.Item("id_kriteria") & "')")
cmd2 = New OdbcCommand(insertquery, conn) hasil = cmd2.ExecuteNonQuery
End If
If rd.Item("id_kriteria") = 8 Then
hasil_2 = rd3.Item("normal_fasilitas") / rd2.Item("normal_fasilitas")
insertquery = ("insert into matrix_ahp values('','" & rd2.Item("id_rumah_sakit") & "','" & rd3.Item("id_rumah_sakit") & "','" &
rd2.Item("normal_fasilitas") & "','" & rd3.Item("normal_fasilitas") & "','" & hasil_2 & "','" & rd.Item("id_kriteria") & "')")
cmd2 = New OdbcCommand(insertquery, conn) hasil = cmd2.ExecuteNonQuery
End If
If rd.Item("id_kriteria") = 9 Then
hasil_3 = rd3.Item("normal_biaya") / rd2.Item("normal_biaya")
insertquery = ("insert into matrix_ahp values('','" & rd2.Item("id_rumah_sakit") & "','" & rd3.Item("id_rumah_sakit") & "','" &
rd2.Item("normal_biaya") & "','" & rd3.Item("normal_biaya") & "','" & hasil_3 & "','" & rd.Item("id_kriteria") & "')")
cmd2 = New OdbcCommand(insertquery, conn) hasil = cmd2.ExecuteNonQuery
End If
If rd.Item("id_kriteria") = 10 Then
hasil_4 = rd3.Item("normal_dokter_mata") / rd2.Item("normal_dokter_mata")
insertquery = ("insert into matrix_ahp values('','" & rd2.Item("id_rumah_sakit") & "','" & rd3.Item("id_rumah_sakit") & "','" &
rd2.Item("normal_dokter_mata") & "','" & rd3.Item("normal_dokter_mata") & "','" & hasil_4 & "','" & rd.Item("id_kriteria") & "')")
cmd2 = New OdbcCommand(insertquery, conn) hasil = cmd2.ExecuteNonQuery
End If
hasil_5 = rd3.Item("normal_dokter_jantung") / rd2.Item("normal_dokter_jantung")
insertquery = ("insert into matrix_ahp values('','" & rd2.Item("id_rumah_sakit") & "','" & rd3.Item("id_rumah_sakit") & "','" &
rd2.Item("normal_dokter_jantung") & "','" & rd3.Item("normal_dokter_jantung") & "','" & hasil_5 & "','" & rd.Item("id_kriteria") & "')")
cmd2 = New OdbcCommand(insertquery, conn) hasil = cmd2.ExecuteNonQuery
End If
If rd.Item("id_kriteria") = 10 Then
hasil_6 = rd3.Item("normal_dokter_paru") / rd2.Item("normal_dokter_paru")
insertquery = ("insert into matrix_ahp values('','" & rd2.Item("id_rumah_sakit") & "','" & rd3.Item("id_rumah_sakit") & "','" &
rd2.Item("normal_dokter_paru") & "','" & rd3.Item("normal_dokter_paru") & "','" & hasil_6 & "','" & rd.Item("id_kriteria") & "')")
cmd2 = New OdbcCommand(insertquery, conn) hasil = cmd2.ExecuteNonQuery
End If
End While
End While
End While closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
'unntuk matriks berpasangan alternatif setiap kriteria
'memproses seluruh perhitungan matriks ke dalam matriks global
Try
openConn()
cmd = New OdbcCommand("SELECT a.*,b.* FROM kriteria a,bobot_ahp b where a.id_kriteria=b.id_kriteria order by a.id_kriteria ASC", conn)
cmd2 = New OdbcCommand("SELECT * FROM rumah_sakit order by id_rumah_sakit ASC", conn)
rd2 = cmd2.ExecuteReader() While rd2.Read()
cmd3 = New OdbcCommand("SELECT SUM(bagi_matrix) AS total_matrix FROM matrix_ahp where id_rumah_sakit1='" &
rd2.Item("id_rumah_sakit") & "' and id_kriteria ='" & rd.Item("id_kriteria") & "'", conn)
rd3 = cmd3.ExecuteReader() While rd3.Read()
insertquery = ("insert into total_bagi values('','" & rd2.Item("id_rumah_sakit") & "','" & rd.Item("id_kriteria") & "','" & rd3.Item("total_matrix") & "')")
cmd2 = New OdbcCommand(insertquery, conn) hasil = cmd2.ExecuteNonQuery
End While
End While
End While closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try Try openConn()
cmd = New OdbcCommand("SELECT a.*,b.* FROM kriteria a,bobot_ahp b where a.id_kriteria=b.id_kriteria order by a.id_kriteria ASC", conn)
rd = cmd.ExecuteReader() While rd.Read
cmd2 = New OdbcCommand("SELECT * FROM matrix_ahp where id_kriteria='" & rd.Item("id_kriteria") & "'", conn)
rd2 = cmd2.ExecuteReader() While rd2.Read()
cmd3 = New OdbcCommand("SELECT * FROM total_bagi where id_rumah_sakit='" & rd2.Item("id_rumah_sakit1") & "' and id_kriteria ='" & rd.Item("id_kriteria") & "'", conn)
rd3 = cmd3.ExecuteReader() rd3.Read()
insertquery = ("insert into total_perbandingan values('','" & rd2.Item("id_rumah_sakit1") & "','" & rd2.Item("id_rumah_sakit2") & "','" & rd.Item("id_kriteria") & "','" & hasil_1 & "')")
cmd2 = New OdbcCommand(insertquery, conn) hasil = cmd2.ExecuteNonQuery
End While
End While closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Try
openConn()
cmd = New OdbcCommand("SELECT COUNT(*) AS jum_normal_matrix FROM normal_matrix", conn)
rd = cmd.ExecuteReader() rd.Read()
jum_normal_matrix = rd.Item("jum_normal_matrix")
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
Try
openConn()
cmd = New OdbcCommand("SELECT a.*,b.* FROM kriteria a,bobot_ahp b where a.id_kriteria=b.id_kriteria order by a.id_kriteria ASC", conn)
rd = cmd.ExecuteReader() While rd.Read
cmd2 = New OdbcCommand("SELECT * FROM normal_matrix ORDER BY id_rumah_sakit ASC", conn)
rd2 = cmd2.ExecuteReader() While rd2.Read()
cmd3 = New OdbcCommand("SELECT SUM(hasil_perbandingan) AS jumlah_perbandingan FROM total_perbandingan where id_rumah_sakit2='" & rd2.Item("id_rumah_sakit") & "' and id_kriteria ='" & rd.Item("id_kriteria") & "'", conn)
rd3 = cmd3.ExecuteReader() rd3.Read()
insertquery = ("insert into eigenfactor values('','" &
rd2.Item("id_rumah_sakit") & "','" & rd.Item("id_kriteria") & "','" & hasil_1 & "')") cmd2 = New OdbcCommand(insertquery, conn)
hasil = cmd2.ExecuteNonQuery
End While
End While closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Try
openConn()
cmd = New OdbcCommand("SELECT * FROM bobot_eigen order by id_kriteria ASC", conn)
rd = cmd.ExecuteReader() While rd.Read
cmd2 = New OdbcCommand("SELECT * FROM eigenfactor WHERE id_kriteria='" & rd.Item("id_kriteria") & "'", conn)
rd2 = cmd2.ExecuteReader() While rd2.Read()
hasil_1 = rd2.Item("hasil_eigenfactor") * rd.Item("nilai_eigen")
insertquery = ("insert into total_eigen values('','" &
rd2.Item("id_kriteria") & "','" & rd2.Item("id_rumah_sakit") & "','" & hasil_1 & "')") cmd2 = New OdbcCommand(insertquery, conn)
hasil = cmd2.ExecuteNonQuery
End While
End While closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
'mencari hasil akhir ahp Try
openConn()
cmd = New OdbcCommand("SELECT a.*,b.* FROM rumah_sakit a, penilaian b where a.id_rumah_sakit=b.id_rumah_sakit order by a.id_rumah_sakit ASC", conn)
rd = cmd.ExecuteReader() While rd.Read
cmd2 = New OdbcCommand("SELECT SUM(nilai_eigen) AS hasil_ahp FROM total_eigen WHERE id_rumah_sakit='" & rd.Item("id_rumah_sakit") & "' order by id_rumah_sakit ASC", conn)
rd2 = cmd2.ExecuteReader() While rd2.Read()
insertquery = ("insert into hasil_ahp values('','" & rd.Item("id_rumah_sakit") & "','" & rd2.Item("hasil_ahp") & "')") cmd2 = New OdbcCommand(insertquery, conn) hasil = cmd2.ExecuteNonQuery
End While
End While closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
'mencari hasil akhir ahp
oWatch.Stop()
Label6.Text = "0.0" & oWatch.ElapsedMilliseconds.ToString & " Detik"
End Sub Sub isisDgv()
Dim dt As New DataTable
GetData(dt, "select a.nama_rumah_sakit,b.hasil_ahp from rumah_sakit a, hasil_ahp b WHERE a.id_rumah_sakit=b.id_rumah_sakit order by b.hasil_ahp DESC")
dghasil.DataSource = dt
dghasil.Columns(0).HeaderText = "Nama Rumah Sakit" dghasil.Columns(1).HeaderText = "Hasil AHP"
End Sub
Private Sub frmahp_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
getConnString() penilaian_ahp() isisDgv() End Sub
Private Sub dghasil_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles
dghasil.CellContentClick End Sub
End Class
7. Halaman Proses PROMETHEE
Imports System.Data.Odbc Imports System.Data.OleDb Imports System.Data.SqlClient Imports MySql.Data.MySqlClient
Public Class frmpromete Dim i As Integer
Dim insertquery As String Dim deletequery As String
Dim jum_normal_matrix As String Dim hasil As Double
Dim hasil_delete As Integer
Dim hasil_1 As Double Dim hasil_2 As Double Dim hasil_3 As Double Dim hasil_4 As Double Dim hasil_5 As Double Dim hasil_6 As Double Dim leaving_flow As Double Dim entering_flow As Double Dim net_flow As Double
Dim selisih_dokter_jantung As Double Dim selisih_dokter_jantung2 As Double Dim selisih_dokter_paru As Double Dim selisih_dokter_paru2 As Double
Dim biasa_pelayanan As Double Dim biasa_pelayanan2 As Double Dim biasa_fasilitas As Double Dim biasa_fasilitas2 As Double Dim biasa_biaya As Double Dim biasa_biaya2 As Double Dim biasa_dokter_mata As Double Dim biasa_dokter_mata2 As Double Dim biasa_dokter_jantung As Double Dim biasa_dokter_jantung2 As Double Dim biasa_dokter_paru As Double Dim biasa_dokter_paru2 As Double
Sub penilaian_promete()
Dim oWatch As New Stopwatch oWatch.Start()
'clear data Try
openConn()
deletequery = ("delete from normal_matrix") cmd = New OdbcCommand(deletequery, conn) hasil_delete = cmd.ExecuteNonQuery
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
Try
openConn()
deletequery = ("delete from hasil_promete") cmd = New OdbcCommand(deletequery, conn) hasil_delete = cmd.ExecuteNonQuery
closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
'clear data
'untuk penormalan matrik Try
openConn()
cmd = New OdbcCommand("SELECT * FROM penilaian order by id_rumah_sakit ASC", conn)
While rd.Read
If (rd.Item("pelayanan") = "Cukup") Then hasil_1 = 1
ElseIf (rd.Item("pelayanan") = "Bagus") Then hasil_1 = 2
ElseIf (rd.Item("pelayanan") = "Sangat Bagus") Then hasil_1 = 3
End If
If (rd.Item("fasilitas") = "Kurang") Then hasil_2 = 1
ElseIf (rd.Item("fasilitas") = "Cukup Lengkap") Then hasil_2 = 2
ElseIf (rd.Item("fasilitas") = "Lengkap") Then hasil_2 = 3
ElseIf (rd.Item("fasilitas") = "Sangat Lengkap") Then hasil_2 = 4
End If
If (rd.Item("biaya") <= 100000) Then hasil_3 = 4
ElseIf (rd.Item("biaya") <= 199000) Then hasil_3 = 3
ElseIf (rd.Item("biaya") <= 350000) Then hasil_3 = 2
ElseIf (rd.Item("biaya") > 350000) Then hasil_3 = 1
End If
If (rd.Item("dokter_mata") <= 2) Then hasil_4 = 1
ElseIf (rd.Item("dokter_mata") <= 4) Then hasil_4 = 2
ElseIf (rd.Item("dokter_mata") >= 5) Then hasil_4 = 3
End If
If (rd.Item("dokter_jantung") <= 2) Then hasil_5 = 1
ElseIf (rd.Item("dokter_jantung") <= 4) Then hasil_5 = 2
ElseIf (rd.Item("dokter_jantung") >= 5) Then hasil_5 = 3
End If
ElseIf (rd.Item("dokter_paru") <= 4) Then hasil_6 = 2
ElseIf (rd.Item("dokter_paru") >= 5) Then hasil_6 = 3
End If
insertquery = ("insert into normal_matrix values('','" &
rd.Item("id_rumah_sakit") & "','" & hasil_1 & "','" & hasil_2 & "','" & hasil_3 & "','" & hasil_4 & "','" & hasil_5 & "','" & hasil_6 & "')")
cmd2 = New OdbcCommand(insertquery, conn) hasil = cmd2.ExecuteNonQuery
End While closeConn()
Catch ex As Exception
MessageBox.Show(ex.Message) End Try
'untuk penormalan matrik
Try
openConn()
cmd = New OdbcCommand("SELECT COUNT(*) AS jum_normal_matrix FROM normal_matrix", conn)
rd = cmd.ExecuteReader() rd.Read()
jum_normal_matrix = rd.Item("jum_normal_matrix") Catch ex As Exception
MessageBox.Show(ex.Message) End Try
'mencari hd
Try
openConn()
cmd = New OdbcCommand("SELECT * FROM normal_matrix order by id_rumah_sakit ASC", conn)
rd = cmd.ExecuteReader() While rd.Read
cmd2 = New OdbcCommand("SELECT * FROM normal_matrix where id_rumah_sakit!='" & rd.Item("id_rumah_sakit") & "' ", conn)
rd2 = cmd2.ExecuteReader() While rd2.Read()
leaving_flow = 0 entering_flow = 0
cmd3 = New OdbcCommand("SELECT * FROM normal_matrix WHERE id_rumah_sakit='" & rd2.Item("id_rumah_sakit") & "' order by id_rumah_sakit DESC", conn)
selisih_pelayanan = rd.Item("normal_pelayanan") - rd3.Item("normal_pelayanan")
selisih_pelayanan2 = selisih_pelayanan * -1
selisih_fasilitas = rd.Item("normal_fasilitas") - rd3.Item("normal_fasilitas")
selisih_fasilitas2 = selisih_fasilitas * -1
selisih_biaya = rd.Item("normal_biaya") - rd3.Item("normal_biaya") selisih_biaya2 = selisih_biaya * -1
selisih_dokter_mata = rd.Item("normal_dokter_mata") - rd3.Item("normal_dokter_mata")
selisih_dokter_mata2 = selisih_dokter_mata * -1
selisih_dokter_jantung = rd.Item("normal_dokter_jantung") - rd3.Item("normal_dokter_jantung")
selisih_dokter_jantung2 = selisih_dokter_jantung * -1
selisih_dokter_paru = rd.Item("normal_dokter_paru") - rd3.Item("normal_dokter_paru")
selisih_dokter_paru2 = selisih_dokter_paru * -1 If (selisih_pelayanan > 0) Then
biasa_pelayanan = 1 Else
biasa_pelayanan = 0 End If
If (selisih_pelayanan2 > 0) Then biasa_pelayanan2 = 1
Else
biasa_pelayanan2 = 0
End If
If (selisih_fasilitas > 0) Then
biasa_fasilitas = 1 Else
biasa_fasilitas = 0
End If
If (selisih_fasilitas2 > 0) Then
biasa_fasilitas2 = 1 Else
biasa_fasilitas2 = 0 End If
biasa_biaya = 1 Else
biasa_biaya = 0
End If
If (selisih_biaya2 > 0) Then
biasa_biaya2 = 1 Else
biasa_biaya2 = 0 End If
If (selisih_dokter_mata > 0) Then biasa_dokter_mata = 1
Else
biasa_dokter_mata = 0 End If
If (selisih_dokter_mata2 > 0) Then
biasa_dokter_mata2 = 1 Else
biasa_dokter_mata2 = 0 End If
If (selisih_dokter_jantung > 0) Then
biasa_dokter_jantung = 1 Else
biasa_dokter_jantung = 0 End If
If (selisih_dokter_jantung2 > 0) Then
biasa_dokter_jantung2 = 1 Else
biasa_dokter_jantung2 = 0 End If
If (selisih_dokter_paru > 0) Then biasa_dokter_paru = 1
Else
biasa_dokter_paru = 0 End If
If (selisih_dokter_paru2 > 0) Then biasa_dokter_paru2 = 1