LISTING PROGRAM
1. Form Utama
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace MenentukanAntibiotik
{ public
partial class
FormUtama :
Form {
public FormUtama
{ InitializeComponent;
}
private void
aBOUTMEToolStripMenuItem_Click object
sender, EventArgs
e {
AboutMe aboutme =
new AboutMe
; aboutme.ShowDialog;
}
private void
mASTERDATAPENYAKITToolStripMenuItem_Click object
sender, EventArgs
e {
MasterPenyakit masterpenyakit =
new MasterPenyakit
; masterpenyakit.ShowDialog;
}
private void
mASTERDATAANTIBIOTIKToolStripMenuItem_Click object
sender, EventArgs
e {
MasterAntibiotik masterantibiotik =
new MasterAntibiotik
; masterantibiotik.ShowDialog;
Universitas Sumatera Utara
}
private void
mASTERDATAKRITERIAToolStripMenuItem_Click object
sender, EventArgs
e {
MasterKriteria masterkriteria =
new MasterKriteria
; masterkriteria.ShowDialog;
}
private void
FormUtama_Load object
sender, EventArgs
e {
}
private void
eXITToolStripMenuItem_Click object
sender, EventArgs
e {
Application .Exit;
} private
void pENILAIANKRITERIAToolStripMenuItem_Click
object sender,
EventArgs e
{ PenilaianKriteria
penilaian = new
PenilaianKriteria ;
penilaian.ShowDialog; }
private void
pENILAIANANTIBIOTIKToolStripMenuItem_Click object
sender, EventArgs
e {
PenilaianAntibiotik penilaian =
new PenilaianAntibiotik
; penilaian.ShowDialog;
}
private void
pENILAIANPRODUKWPToolStripMenuItem_Click object
sender, EventArgs
e {
PenilaianProduk penilaian =
new PenilaianProduk
; penilaian.ShowDialog;
} }
}
Universitas Sumatera Utara
2. Form Aboutme
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace MenentukanAntibiotik
{ public
partial class
AboutMe :
Form {
public AboutMe
{ InitializeComponent;
}
private void
button1_Click object
sender, EventArgs
e {
this .Close;
} }
} 3.
Hasil AHP antibiotik
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlServerCe;
using System.Diagnostics;
namespace MenentukanAntibiotik
Universitas Sumatera Utara
{ public
partial class
HasilAHPAntibiotik :
Form {
public DataTable
TableBeratBadan = new
DataTable ;
public DataTable
TableDosis = new
DataTable ;
public DataTable
TableHarga = new
DataTable ;
public HasilAHPAntibiotik
{ InitializeComponent;
}
private void
HasilAHPAntibiotik_Load object
sender, EventArgs
e {
Stopwatch sw =
new Stopwatch
; sw.Start;
ProsesAHPTableBeratBadan, BeratBadan
; ProsesAHPTableHarga,
Harga ;
ProsesAHPTableDosis, Dosis
; HitungTotal;
sw.Stop;
MessageBox .Show
Perhitungan selesai\n +
Tampilkan hasil perhitungan ,
Perhitungan ,
MessageBoxButtons .OK;
DataTable table_ranking =
DataTable data_ranking.DataSource;
DataView view =
new DataView
table_ranking; view.Sort =
[Eigen Vector] DESC ;
table_ranking = view.ToTable; table_ranking.Columns.Add
Rank No ,
typeof double
; table_ranking.Columns.Remove
Deskripsi ;
int rankNo = 1;
foreach DataRow
row in
table_ranking.Rows {
row[ Rank No
] = rankNo++; }
data_ranking.DataSource = table_ranking;
Universitas Sumatera Utara
} private
Dictionary string
, double
ProsesAHP DataTable
data, string
kriteria {
Dictionary string
, DataTable
result = new
Dictionary string
, DataTable
; DataTable
matriks = GetMatriksdata; DataTable
tableAkhir = new
DataTable ;
DataTable tableJumlahKolom =
new DataTable
; DataTable
dataAntibiotik = GetDataAntibiotik; tableAkhir = matriks.Copy;
double lamda = 0;
double nilaiCI = 0;
double nilaiCR = 0;
double NilaiIR = 1.43;
double JumlahAntibiotik = dataAntibiotik.Rows.Count;
result = NormalisasitableAkhir, dataAntibiotik; tableAkhir = result[
MatriksAkhir ];
tableJumlahKolom = result[ MatriksJumlahKolom
]; foreach
DataRow row
in tableAkhir.Rows
{ String
NamaAntibiotik = row[ Antibiotik
].ToString; if
NamaAntibiotik == Total Kolom
continue ;
lamda += double
row[ Eigen Max
]; }
nilaiCI = lamda - JumlahAntibiotik JumlahAntibiotik - 1; nilaiCR = nilaiCI NilaiIR;
Dictionary string
, double
consistency = new
Dictionary string
, double
; consistency.Add
JumlahAntibiotik , JumlahAntibiotik;
consistency.Add CI
, nilaiCI; consistency.Add
CR , nilaiCR;
consistency.Add IR
, NilaiIR; DataTable
data_consistency = new
DataTable ;
data_consistency.Columns.Add Variable
, typeof
string ;
data_consistency.Columns.Add Nilai
, typeof
double ;
DataRow newrow = data_consistency.NewRow;
newrow[ Variable
] = Jumlah Antibiotik
; newrow[
Nilai ] = JumlahAntibiotik;
data_consistency.Rows.Addnewrow;
Universitas Sumatera Utara
newrow = data_consistency.NewRow; newrow[
Variable ] =
Nilai IR ;
newrow[ Nilai
] = NilaiIR; data_consistency.Rows.Addnewrow;
newrow = data_consistency.NewRow; newrow[
Variable ] =
Nilai CI ;
newrow[ Nilai
] = nilaiCI; data_consistency.Rows.Addnewrow;
newrow = data_consistency.NewRow; newrow[
Variable ] =
Nilai CR ;
newrow[ Nilai
] = nilaiCR; data_consistency.Rows.Addnewrow;
Control [] matriks_ctl =
this .Controls.Find
data_matriks + kriteria,
true ;
Control [] data_jumlah_kolom_ctl =
this .Controls.Find
data_jumlah_kolom +
kriteria, true
; Control
[] data_akhir_ctl = this
.Controls.Find data_akhir
+ kriteria, true
; Control
[] data_consistency_ctl = this
.Controls.Find data_consistency
+ kriteria,
true ;
if matriks_ctl.Length 0
{ DataGridView
matriks_ctl[0].DataSource = matriks; }
if data_jumlah_kolom_ctl.Length 0
{ DataGridView
data_jumlah_kolom_ctl[0].DataSource = tableJumlahKolom;
} if
data_akhir_ctl.Length 0 {
DataGridView data_akhir_ctl[0].DataSource = tableAkhir;
} if
data_consistency_ctl.Length 0 {
DataGridView data_consistency_ctl[0].DataSource = data_consistency;
}
return consistency;
}
Universitas Sumatera Utara
private DataTable
GetDataAntibiotik {
Database database =
new Database
CEConn ;
DataTable data =
new DataTable
; List
SqlCeParameter parameters =
new List
SqlCeParameter ;
String query =
SELECT FROM table_antibiotik ORDER BY NamaAntibiotik ASC
; parameters =
new List
SqlCeParameter ;
data = database.GetDataTablequery, parameters; return
data; }
private DataTable
GetDataKriteria {
Database database =
new Database
CEConn ;
DataTable data =
new DataTable
; List
SqlCeParameter parameters =
new List
SqlCeParameter ;
String query =
SELECT FROM table_kriteria ORDER BY NamaKriteria ASC
; parameters =
new List
SqlCeParameter ;
data = database.GetDataTablequery, parameters; return
data; }
private DataTable
GetMatriks DataTable
data {
DataTable dataAntibiotik = GetDataAntibiotik;
DataTable matriks =
new DataTable
Matriks ;
matriks.Columns.Add Antibiotik
, typeof
string ;
foreach DataRow
row in
dataAntibiotik.Rows {
matriks.Columns.Addrow[ NamaAntibiotik
].ToString, typeof
double ;
} foreach
DataRow row
in dataAntibiotik.Rows
{ DataRow
new_row = matriks.NewRow; new_row[
Antibiotik ] = row[
NamaAntibiotik ];
matriks.Rows.Addnew_row; }
Universitas Sumatera Utara
for int
i = 0; i matriks.Rows.Count; i++ {
for int
j = 1; j matriks.Columns.Count; j++ {
string column = matriks.Columns[j].ColumnName;
string row = matriks.Rows[i][
Antibiotik ].ToString;
if column == row
{ matriks.Rows[i][j] = 1;
}
else {
DataRow [] rows = data.Select
AntibiotikB = + column +
AND AntibiotikA =
+ row + ;
double nilai = 0;
string dominan =
; if
rows.Length == 1 {
nilai = double
rows[0][ Nilai
]; dominan = rows[0][
Dominan ].ToString;
} else
{ rows = data.Select
AntibiotikA = + column +
AND AntibiotikB =
+ row + ;
if rows.Length == 1
{ nilai =
double rows[0][
Nilai ];
dominan = rows[0][ Dominan
].ToString; }
else {
nilai = 0; }
}
if row == dominan
{ matriks.Rows[i][j] = nilai;
}
else if
column == dominan
Universitas Sumatera Utara
{ matriks.Rows[i][j] = nilai == 0 ? 0 : 1 nilai;
}
else {
matriks.Rows[i][j] = 0; }
} }
}
return matriks;
} private
Dictionary string
, DataTable
Normalisasi DataTable
data, DataTable
dataAntibiotik {
Dictionary string
, DataTable
result = new
Dictionary string
, DataTable
; DataTable
matriks = new
DataTable Matriks
; DataTable
newMatriks = new
DataTable NewMatriks
; double
JumlahAntibiotik = dataAntibiotik.Rows.Count; Dictionary
string ,
double total_kolom =
new Dictionary
string ,
double ;
foreach DataRow
antibiotik in
dataAntibiotik.Rows {
total_kolom.Addantibiotik[ NamaAntibiotik
].ToString, 0; }
foreach DataRow
row in
data.Rows {
foreach DataRow
antibiotik in
dataAntibiotik.Rows {
String namaAntibiotik = antibiotik[
NamaAntibiotik ].ToString;
total_kolom[namaAntibiotik] += double
row[namaAntibiotik]; }
} newMatriks = data.Copy;
matriks = data.Copy;
DataRow new_row = newMatriks.NewRow;
new_row[ Antibiotik
] = Total Kolom
; foreach
DataRow antibiotik
in dataAntibiotik.Rows
Universitas Sumatera Utara
{ String
namaAntibiotik = antibiotik[ NamaAntibiotik
].ToString; new_row[namaAntibiotik] = total_kolom[namaAntibiotik];
} newMatriks.Rows.Addnew_row;
foreach DataRow
row in
data.Rows {
foreach DataRow
antibiotik in
dataAntibiotik.Rows {
String namaAntibiotik = antibiotik[
NamaAntibiotik ].ToString;
row[namaAntibiotik] = double
row[namaAntibiotik] total_kolom[namaAntibiotik];
} }
hitung jumlah baris Dictionary
string ,
double total_baris =
new Dictionary
string ,
double ;
foreach DataRow
antibiotik in
dataAntibiotik.Rows {
total_baris.Addantibiotik[ NamaAntibiotik
].ToString, 0; }
foreach DataRow
row in
data.Rows {
String namaAntibiotik = row[
AntiBiotik ].ToString;
if namaAntibiotik ==
Total Kolom continue
; for
int i = 1; i data.Columns.Count; i++
{ total_baris[namaAntibiotik] +=
double row[i];
} }
data.Columns.Add
Jumlah Baris ,
typeof double
; data.Columns.Add
Eigen Vector ,
typeof double
; data.Columns.Add
Eigen Max ,
typeof double
; Dictionary
string ,
double eigenVectors =
new Dictionary
string ,
double ;
foreach DataRow
row in
data.Rows {
String namaAntibiotik = row[
AntiBiotik ].ToString;
if namaAntibiotik ==
Total Kolom continue
;
Universitas Sumatera Utara
row[ Jumlah Baris
] = total_baris[namaAntibiotik]; row[
Eigen Vector ] = total_baris[namaAntibiotik] JumlahAntibiotik;
row[ Eigen Max
] = total_baris[namaAntibiotik] JumlahAntibiotik total_kolom[namaAntibiotik];
} result.Add
MatriksJumlahKolom , newMatriks;
result.Add MatriksAkhir
, data; return
result; }
private void
HitungTotal {
DataTable table_hitung =
new DataTable
; DataTable
table_ranking = new
DataTable ;
DataTable Data_kriteria = GetDataKriteria;
DataTable Data_antibiotik = GetDataAntibiotik;
table_hitung.Columns.Add Kriteria
, typeof
string ;
table_hitung.Columns.Add Prioritas
, typeof
double ;
table_ranking = Data_antibiotik.Copy; table_ranking.Columns.Add
Eigen Vector ,
typeof double
; Dictionary
String ,
DataTable datas =
new Dictionary
string ,
DataTable ;
foreach DataRow
kriteria in
Data_kriteria.Rows {
string namakriteria = kriteria[
NamaKriteria ].ToString.Replace
, ;
DataTable table_nilai =
new DataTable
; Control
[] ctls = this
.Controls.Find data_akhir
+ namakriteria, true
; if
ctls.Length 0 {
table_nilai = DataTable
DataGridView ctls[0].DataSource;
} datas.Addnamakriteria, table_nilai;
}
foreach DataRow
antibiotik in
Data_antibiotik.Rows {
string nama_antibiotik = antibiotik[
NamaAntibiotik ].ToString;
table_hitung.Columns.Addnama_antibiotik, typeof
double ;
}
Universitas Sumatera Utara
foreach DataRow
kriteria in
Data_kriteria.Rows {
string namakriteria = kriteria[
NamaKriteria ].ToString;
double eigenvector =
String .IsNullOrEmptykriteria[
EigenVector ].ToString ? 0 :
double kriteria[
EigenVector ];;
DataRow new_row = table_hitung.NewRow;
new_row[ Kriteria
] = namakriteria; new_row[
Prioritas ] = eigenvector;
table_hitung.Rows.Addnew_row; }
DataRow row_total = table_hitung.NewRow;
row_total[ Kriteria
] = Total Eigen
; foreach
DataRow rank
in table_hitung.Rows
{ string
namakriteria = rank[ Kriteria
].ToString.Replace ,
; double
eigenvectorkriteria = double
rank[ Prioritas
]; foreach
DataRow antibiotik
in Data_antibiotik.Rows
{ string
nama_antibiotik = antibiotik[ NamaAntibiotik
].ToString; DataRow
[] rows = datas[namakriteria].Select Antibiotik =
+ nama_antibiotik +
; double
eigenvectorpemain = rows.Length 0 ? double
rows[0][ Eigen
Vector ] : 1;
rank[nama_antibiotik] = eigenvectorkriteria eigenvectorpemain; if
String .IsNullOrEmptyrow_total[nama_antibiotik].ToString
row_total[nama_antibiotik] = 0; row_total[nama_antibiotik] =
double row_total[nama_antibiotik] +
double rank[nama_antibiotik];
} }
table_hitung.Rows.Addrow_total;
foreach DataRow
antibiotik in
table_ranking.Rows {
string nama_antibiotik = antibiotik[
NamaAntibiotik ].ToString;
Universitas Sumatera Utara
antibiotik[ Eigen Vector
] = row_total[nama_antibiotik]; }
data_hitung.DataSource = table_hitung; data_ranking.DataSource = table_ranking;
}
private void
BKeluar_Click object
sender, EventArgs
e {
this .Close;
} }
}
4. Hasil AHP Kriteria