61
BAB V IMPLEMENTASI SISTEM DAN ANALISIS HASIL
5.1 Implementasi Subsistem Manajemen Data
Langkah pertama yang dilakukan dalam implementasi manajemen data adalah membuat database. Database dibuat dengan nama skripsi-sppk yang dibuat
menggunakan MYSQL melalui HeidiSQL sebagai aplikasi pengolahan kueri. Berikut ini adalah langkah-langkah pembuatan database-nya :
1. Membuat user baru dengan nama username root dan password root, selanjutnya membuat database dengan nama skripsi-sppk.
2. Langkah berikutnya adalah membuat tabel-tabel yang akan digunakan dalam sistem. Maka diperlukan perintah create untuk membuat tabel-
tabel tersebut. Berikut ini adalah implementasi kueri : a. Implementasi tabel list pemain
Kueri 5.1 Create list_pemain PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
b. Implementasi tabel nilai teknik Kueri 5.2 Create nilai_teknik
c. Implementasi tabel nilai taktik Kueri 5.3 Create nilai_taktik
d. Implementasi tabel nilai fisik Kueri 5.4 Create nilai_fisik
e. Implementasi tabel nilai psikologi Kueri 5.5 Create nilai_psikologi
63
f. Implementasi tabel nilai serang Kueri 5.6 Create nilai_serang
g. Implementasi tabel nilai tahan Kueri 5.7 Create nilai_tahan
h. Implementasi tabel nilai transisi Kueri 5.8 Create nilai_transisi
i. Implementasi tabel nilai gawang Kueri 5.9 Create nilai_gawang
64
j. Implementasi tabel nilai belakang Kueri 5.10 Create nilai_belakang
k. Implementasi tabel nilai tengah Kueri 5.11 Create nilai_tengah
l. Implementasi tabel nilai depan Kueri 5.12 Create nilai_depan
m. Implementasi tabel bft Kueri 5.13 Create bft
65
n. Implementasi tabel normalisasi bft Kueri 5.14 Create normalisasi_bft
o. Implementasi tabel nilai akhir Kueri 5.15 Create nilai_akhir
5.2 Implementasi Subsistem Manajemen Model
Sesuai dengan perancangan umum yang telah dibuat sebelumnya, sistem yang dibuat ini dimulai dari input bobot faktor tujuan setiap kriteria. Kemudian
dilakukan perhitungan normalisasi bobot faktor tujuan setiap kriteria. Setelah itu, setelah itu dilakukan perhitungan nilai interval setiap kriteria lalu menghitung
normalisasi skor setiap kriteria. Kemudian dilakukan konversi nilai normalisasi skor menjadi nilai utility score dan setelah itu dilakukan perhitungan skor total
setiap alternatif. Berdasarkan perancangan sistem yang telah dibuat, berikut disajikan beberapa potongan kode program intinya.
66
1 Input Bobot Faktor Tujuan Setiap Kriteria
string simpanbft =
, simpanbft1 = , simpanbft2 =
, simpanbft3 = , simpanbft4 =
, simpanbft5 = , simpanbft6 =
, simpanbft7 = ,
simpanbft8 = , simpanbft9 =
; Buat koneksi ke database
MySqlConnection db =
new MySqlConnection
datasource=localhost;database=skripsi- sppk;port=3306;username=root;password=
; MySqlDataAdapter
data = new
MySqlDataAdapter ;
MySqlCommand command = db.CreateCommand;
DataSet dataset =
new DataSet
; Kueri untuk menghitung jumlah baris data dalam tabel bft
command.CommandText = SELECT COUNT FROM bft
; db.Open;
double countBFT =
Double .Parsecommand.ExecuteScalar.ToString;
db.Close; Jika jumlah baris data dalam tabel bft kosong:
if countBFT == 0
{ Siapkan beberapa kueri untuk insert data ke tabel bft
Simpan tiap nilai inputan simpanbft =
insert into bft kriteria,faktor_tujuan,bft_depan,bft_tengah,bft_belakang,bft_gawang
values + Posisi.Text +
, + comboTujuanPosisi.Text +
, +
ComboBobotGawang.Text + ,
+ ComboBobotBelakang.Text + ,
+ ComboBobotTengah.Text +
, + ComboBobotDepan.Text +
; simpanbft1 =
insert into bft kriteria,faktor_tujuan,bft_depan,bft_tengah,bft_belakang,bft_gawang
values + Teknik.Text +
, + ComboTujuanTeknik.Text +
, +
ComboBobotGawangTeknik.Text + ,
+ ComboBobotBelakangTeknik.Text + ,
+ ComboBobotTengahTeknik.Text + ,
+ ComboBobotDepanTeknik.Text +
; simpanbft2 =
insert into bft kriteria,faktor_tujuan,bft_depan,bft_tengah,bft_belakang,bft_gawang
values + Taktik.Text +
, + ComboTujuanTaktik.Text +
, +
ComboBobotGawangTaktik.Text + ,
+ ComboBobotBelakangTaktik.Text + ,
+ ComboBobotTengahTaktik.Text + ,
+ ComboBobotDepanTaktik.Text +
; simpanbft3 =
insert into bft kriteria,faktor_tujuan,bft_depan,bft_tengah,bft_belakang,bft_gawang
values + Fisik.Text +
, + ComboTujuanFisik.Text +
, +
ComboBobotGawangFisik.Text + ,
+ ComboBobotBelakangFisik.Text + ,
+ ComboBobotTengahFisik.Text + ,
+ ComboBobotDepanFisik.Text +
; simpanbft4 =
insert into bft kriteria,faktor_tujuan,bft_depan,bft_tengah,bft_belakang,bft_gawang
values + Psikologi.Text +
, + ComboTujuanPsikologi.Text +
, + ComboBobotGawangPsikologi.Text +
, +
ComboBobotBelakangPsikologi.Text + ,
+ ComboBobotTengahPsikologi.Text +
, + ComboBobotDepanPsikologi.Text
+ ;
simpanbft5 = insert into bft
kriteria,faktor_tujuan,bft_depan,bft_tengah,bft_belakang,bft_gawang values
+ Tahan.Text + ,
+ ComboTujuanTahan.Text + ,
+ ComboBobotGawangTahan.Text +
, + ComboBobotBelakangTahan.Text +
67
, + ComboBobotTengahTahan.Text +
, + ComboBobotDepanTahan.Text
+ ;
simpanbft6 = insert into bft
kriteria,faktor_tujuan,bft_depan,bft_tengah,bft_belakang,bft_gawang values
+ Serang.Text + ,
+ ComboTujuanSerang.Text + ,
+ ComboBobotGawangSerang.Text +
, + ComboBobotBelakangSerang.Text +
, + ComboBobotTengahSerang.Text +
, +
ComboBobotDepanSerang.Text + ;
simpanbft7 = insert into bft
kriteria,faktor_tujuan,bft_depan,bft_tengah,bft_belakang,bft_gawang values
+ Transisi.Text + ,
+ ComboTujuanTransisi.Text + ,
+ ComboBobotGawangTransisi.Text +
, + ComboBobotBelakangTransisi.Text
+ ,
+ ComboBobotTengahTransisi.Text + ,
+ ComboBobotDepanTransisi.Text +
; simpanbft8 =
insert into bft kriteria,faktor_tujuan,bft_depan,bft_tengah,bft_belakang,bft_gawang
values + Tinggi.Text +
, + ComboTujuanTinggi.Text +
, +
ComboBobotGawangTinggi.Text + ,
+ ComboBobotBelakangTinggi.Text + ,
+ ComboBobotTengahTinggi.Text + ,
+ ComboBobotDepanTinggi.Text +
; simpanbft9 =
insert into bft kriteria,faktor_tujuan,bft_depan,bft_tengah,bft_belakang,bft_gawang
values + berat.Text +
, + ComboTujuanBerat.Text +
, +
ComboBobotGawangBerat.Text + ,
+ ComboBobotBelakangBerat.Text + ,
+ ComboBobotTengahBerat.Text + ,
+ ComboBobotDepanBerat.Text +
; }
Jika jumlah baris tidak kosong berarti sudah ada data tersimpan
else {
Siapkan beberapa kueri untuk update data pada tabel bft
Simpan tiap nilai inputan simpanbft =
update bft set faktor_tujuan= +
comboTujuanPosisi.Text + ,bft_gawang=
+ ComboBobotGawang.Text + ,bft_belakang=
+ ComboBobotBelakang.Text + ,bft_tengah=
+ ComboBobotTengah.Text +
,bft_depan= + ComboBobotDepan.Text +
WHERE kriteria= + Posisi.Text +
; simpanbft1 =
update bft set faktor_tujuan= +
ComboTujuanTeknik.Text + ,bft_gawang=
+ ComboBobotGawangTeknik.Text +
,bft_belakang= + ComboBobotBelakangTeknik.Text +
,bft_tengah= + ComboBobotTengahTeknik.Text +
,bft_depan= +
ComboBobotDepanTeknik.Text + WHERE kriteria=
+ Teknik.Text + ;
simpanbft2 = update bft set faktor_tujuan=
+ ComboTujuanTaktik.Text +
,bft_gawang= + ComboBobotGawangTaktik.Text
+ ,bft_belakang=
+ ComboBobotBelakangTaktik.Text + ,bft_tengah=
+ ComboBobotTengahTaktik.Text + ,bft_depan=
+ ComboBobotDepanTaktik.Text +
WHERE kriteria= + Taktik.Text +
; simpanbft3 =
update bft set faktor_tujuan= +
ComboTujuanFisik.Text + ,bft_gawang=
+ ComboBobotGawangFisik.Text + ,bft_belakang=
+ ComboBobotBelakangFisik.Text + ,bft_tengah=
+ ComboBobotTengahFisik.Text +
,bft_depan= +
ComboBobotDepanFisik.Text + WHERE kriteria=
+ Fisik.Text + ;
simpanbft4 = update bft set faktor_tujuan=
+ ComboTujuanPsikologi.Text +
,bft_gawang= +
ComboBobotGawangPsikologi.Text + ,bft_belakang=
+
68
ComboBobotBelakangPsikologi.Text + ,bft_tengah=
+ ComboBobotTengahPsikologi.Text +
,bft_depan= +
ComboBobotDepanPsikologi.Text + WHERE kriteria=
+ Psikologi.Text + ;
simpanbft5 = update bft set faktor_tujuan=
+ ComboTujuanTahan.Text +
,bft_gawang= + ComboBobotGawangTahan.Text +
,bft_belakang= + ComboBobotBelakangTahan.Text +
,bft_tengah= +
ComboBobotTengahTahan.Text + ,bft_depan=
+ ComboBobotDepanTahan.Text +
WHERE kriteria= + Tahan.Text +
; simpanbft6 =
update bft set faktor_tujuan= +
ComboTujuanSerang.Text + ,bft_gawang=
+ ComboBobotGawangSerang.Text +
,bft_belakang= + ComboBobotBelakangSerang.Text +
,bft_tengah= + ComboBobotTengahSerang.Text +
,bft_depan= +
ComboBobotDepanSerang.Text + WHERE kriteria=
+ Serang.Text + ;
simpanbft7 = update bft set faktor_tujuan=
+ ComboTujuanTransisi.Text +
,bft_gawang= +
ComboBobotGawangTransisi.Text + ,bft_belakang=
+ ComboBobotBelakangTransisi.Text +
,bft_tengah= +
ComboBobotTengahTransisi.Text + ,bft_depan=
+ ComboBobotDepanTransisi.Text +
WHERE kriteria= + Transisi.Text +
; simpanbft8 =
update bft set faktor_tujuan= +
ComboTujuanTinggi.Text + ,bft_gawang=
+ ComboBobotGawangTinggi.Text +
,bft_belakang= + ComboBobotBelakangTinggi.Text +
,bft_tengah= + ComboBobotTengahTinggi.Text +
,bft_depan= +
ComboBobotDepanTinggi.Text + WHERE kriteria=
+ Tinggi.Text + ;
simpanbft9 = update bft set faktor_tujuan=
+ ComboTujuanBerat.Text +
,bft_gawang= + ComboBobotGawangBerat.Text +
,bft_belakang= + ComboBobotBelakangBerat.Text +
,bft_tengah= +
ComboBobotTengahBerat.Text + ,bft_depan=
+ ComboBobotDepanBerat.Text +
WHERE kriteria= + berat.Text +
; }
Eksekusi kueri yang sudah ditetapkan ExecuteQuerysimpanbft;
ExecuteQuerysimpanbft1; ExecuteQuerysimpanbft2;
ExecuteQuerysimpanbft3; ExecuteQuerysimpanbft4;
ExecuteQuerysimpanbft5; ExecuteQuerysimpanbft6;
ExecuteQuerysimpanbft7; ExecuteQuerysimpanbft8;
ExecuteQuerysimpanbft9;
MessageBox .Show
Data bobot faktor tujuan berhasil disimpan
; Setelah disimpan, tampilkan kotak dialog
Tabel_Normalisasi_BFT Tabel_Normalisasi_BFT
form = new
Tabel_Normalisasi_BFT ;
form.ShowDialog;
2 Hitung Normalisasi Bobot Faktor Tujuan Setiap Kriteria
Buat koneksi ke database
69
MySqlConnection db =
new MySqlConnection
datasource=localhost;database=skripsi- sppk;port=3306;username=root;password=
; MySqlDataAdapter
data = new
MySqlDataAdapter ;
MySqlCommand command = db.CreateCommand;
DataSet dataset =
new DataSet
; Kueri untuk menampilkan semua data dari tabel bft
command.CommandText = SELECT FROM bft
; db.Open;
MySqlDataReader read = command.ExecuteReader;
Buat beberapa list untuk menampung data dari database List
string hasilKriteria =
new List
string ;
List string
hasilFaktor = new
List string
; List
string hasilBobot_depan =
new List
string ;
List string
hasilBobot_tengah = new
List string
; List
string hasilBobot_belakang =
new List
string ;
List string
hasilBobot_gawang = new
List string
; Lakukan perulangan selama masih ada data yang belum
dibaca while
read.Read {
Simpan data dari database ke tiap list hasilKriteria.Addread[0].ToString;
hasilFaktor.Addread[1].ToString; hasilBobot_depan.Addread[2].ToString;
hasilBobot_tengah.Addread[3].ToString; hasilBobot_belakang.Addread[4].ToString;
hasilBobot_gawang.Addread[5].ToString; }
db.Close;
Konversikan semua list ke array string string
[] HasilKriteria = hasilKriteria.ToArray; string
[] HasilFaktor = hasilFaktor.ToArray; string
[] HasilBobot_Depan = hasilBobot_depan.ToArray; string
[] HasilBobot_Tengah = hasilBobot_tengah.ToArray;
string [] HasilBobot_Belakang =
hasilBobot_belakang.ToArray; string
[] HasilBobot_Gawang = hasilBobot_gawang.ToArray;
Konversikan beberapa array string yang diperlukan menjadi array integer
int [] hasilINT_Depan =
Array .ConvertAllHasilBobot_Depan,
int .Parse;
int [] hasilINT_Tengah =
Array .ConvertAllHasilBobot_Tengah,
int .Parse;
int [] hasilINT_Belakang =
Array .ConvertAllHasilBobot_Belakang,
int .Parse;
int [] hasilINT_Gawang =
Array .ConvertAllHasilBobot_Gawang,
int .Parse;
Hitung masing-masing total untuk tiap posisi int
total_Depan = hasilINT_Depan[0] + hasilINT_Depan[1] + hasilINT_Depan[2] + hasilINT_Depan[3] + hasilINT_Depan[4] +
hasilINT_Depan[5] + hasilINT_Depan[6] + hasilINT_Depan[7] + +hasilINT_Depan[8] + +hasilINT_Depan[9];
int total_Tengah = hasilINT_Tengah[0] +
hasilINT_Tengah[1] + hasilINT_Tengah[2] + hasilINT_Tengah[3] +
70
hasilINT_Tengah[4] + hasilINT_Tengah[5] + hasilINT_Tengah[6] + hasilINT_Tengah[7] + +hasilINT_Tengah[8] + +hasilINT_Tengah[9];
int total_Belakang = hasilINT_Belakang[0] +
hasilINT_Belakang[1] + hasilINT_Belakang[2] + hasilINT_Belakang[3] + hasilINT_Belakang[4] + hasilINT_Belakang[5] + hasilINT_Belakang[6] +
hasilINT_Belakang[7] + +hasilINT_Belakang[8] + +hasilINT_Belakang[9]; int
total_Gawang = hasilINT_Gawang[0] + hasilINT_Gawang[1] + hasilINT_Gawang[2] + hasilINT_Gawang[3] +
hasilINT_Gawang[4] + hasilINT_Gawang[5] + hasilINT_Gawang[6] + hasilINT_Gawang[7] + +hasilINT_Gawang[8] + +hasilINT_Gawang[9];
Konversikan tiap nilai total ke tipe float float
[] hasilFLOAT_Depan = Array
.ConvertAllHasilBobot_Depan, float
.Parse; float
[] hasilFLOAT_Tengah = Array
.ConvertAllHasilBobot_Tengah, float
.Parse; float
[] hasilFLOAT_Belakang = Array
.ConvertAllHasilBobot_Belakang, float
.Parse; float
[] hasilFLOAT_Gawang = Array
.ConvertAllHasilBobot_Gawang, float
.Parse; Tampilkan nilai total tiap posisi
tbTotalBFT.Text = + total_Depan.ToString;
tbTotalBFTTengah.Text = + total_Tengah.ToString;
tbTotalBFTBelakang.Text = +
total_Belakang.ToString; tbTotalBFTGawang.Text =
+ total_Gawang.ToString; Lakukan perulangan i dari 0 sampai panjangnya array
HasilKriteria for
int i = 0; i HasilKriteria.Length; i++
{ Tetapkan nilai normalisasi untuk tiap posisi
Nilai normalisasi untuk tiap posisi adalah hasil bagi nilai dengan total tiap posisinya
float normalisasi_Depan = hasilFLOAT_Depan[i]
total_Depan; float
normalisasi_Tengah = hasilFLOAT_Tengah[i] total_Tengah;
float normalisasi_Belakang = hasilFLOAT_Belakang[i]
total_Belakang; float
normalisasi_Gawang = hasilFLOAT_Gawang[i] total_Gawang;
Jika kriterianya adalah Posisi if
HasilKriteria[i] == Posisi
{ Tetapkan nilai Posisi untuk tiap posisi
kemudian tampilkan tbBFTPosisi.Text = HasilBobot_Depan[i] +
; tbBFTTengahPosisi.Text = HasilBobot_Tengah[i] +
; tbBFTBelakangPosisi.Text =
HasilBobot_Belakang[i] + ;
tbBFTGawangPosisi.Text = HasilBobot_Gawang[i] + ;
tbNormalisasiBFTPosisi.Text = normalisasi_Depan +
; tbNormBFTTengahPosisi.Text = normalisasi_Tengah
+ ;
tbNormBFTBelakangPosisi.Text =
71
normalisasi_Belakang + ;
tbNormBFTGawangPosisi.Text = normalisasi_Gawang +
; }
selain itu, jika kriterianya adalah Teknik: else
if HasilKriteria[i] ==
Teknik {
Tetapkan nilai Teknik untuk tiap posisi kemudian tampilkan
tbBFTTeknik.Text = HasilBobot_Depan[i] + ;
tbBFTTengahTeknik.Text = HasilBobot_Tengah[i] + ;
tbBFTBelakangTeknik.Text = HasilBobot_Belakang[i] +
; tbBFTGawangTeknik.Text = HasilBobot_Gawang[i] +
; tbNormalisasiBFTTeknik.Text = normalisasi_Depan
+ ;
tbNormBFTTengahTeknik.Text = normalisasi_Tengah +
; tbNormBFTBelakangTeknik.Text =
normalisasi_Belakang + ;
tbNormBFTGawangTeknik.Text = normalisasi_Gawang +
; }
selain itu, jika kriterianya adalah Taktik: else
if HasilKriteria[i] ==
Taktik {
Tetapkan nilai Taktik untuk tiap posisi kemudian tampilkan
tbBFTTaktik.Text = HasilBobot_Depan[i] + ;
tbBFTTengahTaktik.Text = HasilBobot_Tengah[i] + ;
tbBFTBelakangTaktik.Text = HasilBobot_Belakang[i] +
; tbBFTGawangTaktik.Text = HasilBobot_Gawang[i] +
; tbNormalisasiBFTTaktik.Text = normalisasi_Depan
+ ;
tbNormBFTTengahTaktik.Text = normalisasi_Tengah +
; tbNormBFTBelakangTaktik.Text =
normalisasi_Belakang + ;
tbNormBFTGawangTaktik.Text = normalisasi_Gawang +
; }
selain itu, jika kriterianya adalah Fisik: else
if HasilKriteria[i] ==
Fisik {
Tetapkan nilai Fisik untuk tiap posisi kemudian tampilkan
tbBFTFisik.Text = HasilBobot_Depan[i] + ;
tbBFTTengahFisik.Text = HasilBobot_Tengah[i] + ;
tbBFTBelakangFisik.Text = HasilBobot_Belakang[i] +
; tbBFTGawangFisik.Text = HasilBobot_Gawang[i] +
72
; tbNormalisasiBFTFisik.Text = normalisasi_Depan
+ ;
tbNormBFTTengahFisik.Text = normalisasi_Tengah +
; tbNormBFTBelakangFisik.Text =
normalisasi_Belakang + ;
tbNormBFTGawangFisik.Text = normalisasi_Gawang +
; }
selain itu, jika kriterianya adalah Psikologi: else
if HasilKriteria[i] ==
Psikologi {
Tetapkan nilai Psikologi untuk tiap posisi kemudian tampilkan
tbBFTPsikologi.Text = HasilBobot_Depan[i] + ;
tbBFTTengahPsikologi.Text = HasilBobot_Tengah[i] +
; tbBFTBelakangPsikologi.Text =
HasilBobot_Belakang[i] + ;
tbBFTGawangPsikologi.Text = HasilBobot_Gawang[i] +
; tbNormalisasiBFTPsikologi.Text =
normalisasi_Depan + ;
tbNormBFTTengahPsikologi.Text = normalisasi_Tengah +
; tbNormBFTBelakangPsikologi.Text =
normalisasi_Belakang + ;
tbNormBFTGawangPsikologi.Text = normalisasi_Gawang +
; }
selain itu, jika kriterianya adalah Tahan: else
if HasilKriteria[i] ==
Tahan {
Tetapkan nilai Tahan untuk tiap posisi kemudian tampilkan
tbBFTTahan.Text = HasilBobot_Depan[i] + ;
tbBFTTengahTahan.Text = HasilBobot_Tengah[i] + ;
tbBFTBelakangTahan.Text = HasilBobot_Belakang[i] +
; tbBFTGawangTahan.Text = HasilBobot_Gawang[i] +
; tbNormalisasiBFTTahan.Text = normalisasi_Depan
+ ;
tbNormBFTTengahTahan.Text = normalisasi_Tengah +
; tbNormBFTBelakangTahan.Text =
normalisasi_Belakang + ;
tbNormBFTGawangTahan.Text = normalisasi_Gawang +
; }
selain itu, jika kriterianya adalah Serang: else
if HasilKriteria[i] ==
Serang {
Tetapkan nilai Serang untuk tiap posisi kemudian tampilkan
73
tbBFTSerang.Text = HasilBobot_Depan[i] + ;
tbBFTTengahSerang.Text = HasilBobot_Tengah[i] + ;
tbBFTBelakangSerang.Text = HasilBobot_Belakang[i] +
; tbBFTGawangSerang.Text = HasilBobot_Gawang[i] +
; tbNormalisasiBFTSerang.Text = normalisasi_Depan
+ ;
tbNormBFTTengahSerang.Text = normalisasi_Tengah +
; tbNormBFTBelakangSerang.Text =
normalisasi_Belakang + ;
tbNormBFTGawangSerang.Text = normalisasi_Gawang +
; }
selain itu, jika kriterianya adalah Transisi: else
if HasilKriteria[i] ==
Transisi {
Tetapkan nilai Transisi untuk tiap posisi kemudian tampilkan
tbBFTTransisi.Text = HasilBobot_Depan[i] + ;
tbBFTTengahTransisi.Text = HasilBobot_Tengah[i] +
; tbBFTBelakangTransisi.Text =
HasilBobot_Belakang[i] + ;
tbBFTGawangTransisi.Text = HasilBobot_Gawang[i] +
; tbNormalisasiBFTTransisi.Text =
normalisasi_Depan + ;
tbNormBFTTengahTransisi.Text = normalisasi_Tengah +
; tbNormBFTBelakangTransisi.Text =
normalisasi_Belakang + ;
tbNormBFTGawangTransisi.Text = normalisasi_Gawang +
; }
selain itu, jika kriterianya adalah Tinggi: else
if HasilKriteria[i] ==
Tinggi {
Tetapkan nilai Tinggi untuk tiap posisi kemudian tampilkan
tbBFTTinggi.Text = HasilBobot_Depan[i] + ;
tbBFTTengahTinggi.Text = HasilBobot_Tengah[i] + ;
tbBFTBelakangTinggi.Text = HasilBobot_Belakang[i] +
; tbBFTGawangTinggi.Text = HasilBobot_Gawang[i] +
; tbNormalisasiBFTTinggi.Text = normalisasi_Depan
+ ;
tbNormBFTTengahTinggi.Text = normalisasi_Tengah +
; tbNormBFTBelakangTinggi.Text =
normalisasi_Belakang + ;
tbNormBFTGawangTinggi.Text = normalisasi_Gawang +
;
74
} selain itu, jika kriterianya adalah Berat:
else if
HasilKriteria[i] == Berat
{ Tetapkan nilai Berat untuk tiap posisi
kemudian tampilkan tbBFTBerat.Text = HasilBobot_Depan[i] +
; tbBFTTengahBerat.Text = HasilBobot_Tengah[i] +
; tbBFTBelakangBerat.Text =
HasilBobot_Belakang[i] + ;
tbBFTGawangBerat.Text = HasilBobot_Gawang[i] + ;
tbNormalisasiBFTBerat.Text = normalisasi_Depan +
; tbNormBFTTengahBerat.Text = normalisasi_Tengah
+ ;
tbNormBFTBelakangBerat.Text = normalisasi_Belakang +
; tbNormBFTGawangBerat.Text = normalisasi_Gawang
+ ;
} }
3 Hitung nilai interval setiap kriteria
Buat koneksi ke database MySqlConnection
db = new
MySqlConnection datasource=localhost;database=skripsi-
sppk;port=3306;username=root;password= ;
MySqlDataAdapter data =
new MySqlDataAdapter
; MySqlCommand
command1 = db.CreateCommand; MySqlCommand
command2 = db.CreateCommand; DataSet
dataset = new
DataSet ;
Kueri untuk menampilkan nilai maksimal dan minimal tiap atribut pemain
command1.CommandText = select maxtinggi, maxberat,
maxteknik, maxtaktik, maxfisik, maxpsikologi, maxmenyerang, +
maxbertahan, maxtransisi, maxgawang, maxbelakang, maxtengah, maxdepan from list_pemain
; command2.CommandText =
select mintinggi, minberat, minteknik, mintaktik, minfisik, minpsikologi, minmenyerang,
+ minbertahan, mintransisi, mingawang, minbelakang,
mintengah, mindepan from list_pemain ;
CARI NILAI MAX db.Open;
MySqlDataReader read1 = command1.ExecuteReader;
List string
hslMax = new
List string
; double
max_tinggi = 0, max_berat = 0, max_teknik = 0, max_taktik = 0, max_fisik = 0, max_psikologi = 0, max_menyerang = 0,
75
max_bertahan = 0, max_transisi = 0, max_gawang = 0, max_belakang = 0, max_tengah = 0, max_depan = 0;
Lakukan perulangan selama masih ada data yang akan dibaca while
read1.Read {
Simpan semua hasil eksekusi kueri ke tiap variabel max_tinggi =
Double .Parseread1[0].ToString;
max_berat = Double
.Parseread1[1].ToString; max_teknik =
Double .Parseread1[2].ToString;
max_taktik = Double
.Parseread1[3].ToString; max_fisik =
Double .Parseread1[4].ToString;
max_psikologi = Double
.Parseread1[5].ToString; max_menyerang =
Double .Parseread1[6].ToString;
max_bertahan = Double
.Parseread1[7].ToString; max_transisi =
Double .Parseread1[8].ToString;
max_gawang = Double
.Parseread1[9].ToString; max_belakang =
Double .Parseread1[10].ToString;
max_tengah = Double
.Parseread1[11].ToString; max_depan =
Double .Parseread1[12].ToString;
} db.Close;
CARI NILAI MIN db.Open;
MySqlDataReader read2 = command2.ExecuteReader;
List string
hslMin = new
List string
; double
min_tinggi = 0, min_berat = 0, min_teknik = 0, min_taktik = 0, min_fisik = 0, min_psikologi = 0, min_menyerang = 0,
min_bertahan = 0, min_transisi = 0, min_gawang = 0, min_belakang = 0, min_tengah = 0, min_depan = 0;
Lakukan perulangan selama masih ada data yang akan dibaca while
read2.Read {
Simpan semua hasil eksekusi kueri ke tiap variabel min_tinggi =
Double .Parseread2[0].ToString;
min_berat = Double
.Parseread2[1].ToString; min_teknik =
Double .Parseread2[2].ToString;
min_taktik = Double
.Parseread2[3].ToString; min_fisik =
Double .Parseread2[4].ToString;
min_psikologi = Double
.Parseread2[5].ToString; min_menyerang =
Double .Parseread2[6].ToString;
min_bertahan = Double
.Parseread2[7].ToString; min_transisi =
Double .Parseread2[8].ToString;
min_gawang = Double
.Parseread2[9].ToString; min_belakang =
Double .Parseread2[10].ToString;
min_tengah = Double
.Parseread2[11].ToString; min_depan =
Double .Parseread2[12].ToString;
} db.Close;
Cari Nilai Interval Masing-Masing Kriteria 5 = Skala double
interval_tinggi = max_tinggi - min_tinggi 5; double
interval_berat = max_berat - min_berat 5; double
interval_teknik = max_teknik - min_teknik 5; double
interval_taktik = max_taktik - min_taktik 5; double
interval_fisik = max_fisik - min_fisik 5; double
interval_psikologi = max_psikologi - min_psikologi
76
5; double
interval_menyerang = max_menyerang - min_menyerang 5;
double interval_bertahan = max_bertahan - min_bertahan
5; double
interval_transisi = max_transisi - min_transisi 5;
double interval_gawang = max_gawang - min_gawang 5;
double interval_belakang = max_belakang - min_belakang
5; double
interval_tengah = max_tengah - min_tengah 5; double
interval_depan = max_depan - min_depan 5;
4 Hitung Normalisasi Skor Setiap Kriteria dan Konversi Nilai Normalisasi Skor Tersebut Menjadi Utility Score
Method untuk mengembalikan nilai normalisasi dari suatu nilai public
double cekNormSkor
double nilai,
double interval,
double min,
double max
{ Tetapkan beberapa variabel yang diperlukan
x adalah nilai min dan y adalah nilai min+interval double
norm_skor = 0, x = min, y = min + interval; Lakukan perulangan i dari 0 sampai 100 dengan penambahan
nilai i sebesar 25 for
double i = 0; i = 100; i=i+25
{ if
nilai == min {
norm_skor = 0; break
; }
else if
nilai == max {
norm_skor = 1; break
; }
Jika norm_skor masih 0 dan nilainya berada di antara x dan y:
else if
nilai = x nilai = y norm_skor == 0 {
Tetapkan nilai untuk norm_skor = i 100 norm_skor = i 100;
break ;
} Selain itu, jika nilainya sama dengan y:
else if
nilai == y {
Tetapkan nilai untuk norm_skor = 1 maksimal norm_skor = 1;
} Ganti nilai x dengan y
x = y; Ganti nilai y dengan y+interval
77
y = y + interval; }
Kembalikan nilai norm_skor sebagai nilai balik dari pemanggilan method ini
return norm_skor;
} Proses Hitung Normalisasi
double nilai_gawang = 0, nilai_belakang = 0, nilai_tengah = 0,
nilai_depan = 0; MySqlCommand
command3 = db.CreateCommand; isi notepad
Untuk cek pertambahan nilai; INSERT nilai akhir ke database lalu tampilkan pesan
berhasil jika data bertambah Kueri untuk menghitung jumlah baris data pada tabel
nilai_akhir MySqlCommand
commandCount1 = db.CreateCommand; commandCount1.CommandText =
SELECT COUNT FROM nilai_akhir
; db.Open;
int countNA1 =
Int32 .ParsecommandCount1.ExecuteScalar.ToString;
db.Close; Kueri untuk menampilkan tiap atribut pemain dari tabel
list_pemain db.Open;
command3.CommandText = SELECT tinggi, berat, teknik,
taktik, fisik, psikologi, menyerang, +
bertahan, transisi, gawang, belakang, tengah, depan, pemain, kode_alternatif
+ FROM list_pemain ORDER BY
kode_alternatif ;
MySqlDataReader read3 = command3.ExecuteReader;
Lakukan perulangan selama masih ada data yang akan dibaca while
read3.Read {
UNTUK SEORANG PEMAIN: Hitung nilai untuk posisi Gawang G
double G_tinggi =
Double .ParsetbNormBFTGawangTinggi.Text
cekNormSkor Double
.Parseread3[0].ToString, interval_tinggi, min_tinggi, max_tinggi;
double G_berat =
Double .ParsetbNormBFTGawangBerat.Text
cekNormSkor Double
.Parseread3[1].ToString, interval_berat, min_berat, max_berat;
double G_teknik =
Double .ParsetbNormBFTGawangTeknik.Text
cekNormSkor Double
.Parseread3[2].ToString, interval_teknik, min_teknik, max_teknik;
78
double G_taktik =
Double .ParsetbNormBFTGawangTaktik.Text
cekNormSkor Double
.Parseread3[3].ToString, interval_taktik, min_taktik, max_taktik;
double G_fisik =
Double .ParsetbNormBFTGawangFisik.Text
cekNormSkor Double
.Parseread3[4].ToString, interval_fisik, min_fisik, max_fisik;
double G_psikologi =
Double .ParsetbNormBFTGawangPsikologi.Text
cekNormSkor Double
.Parseread3[5].ToString, interval_psikologi, min_psikologi, max_psikologi;
double G_menyerang =
Double .ParsetbNormBFTGawangSerang.Text
cekNormSkor Double
.Parseread3[6].ToString, interval_menyerang, min_menyerang, max_menyerang;
double G_bertahan =
Double .ParsetbNormBFTGawangTahan.Text
cekNormSkor Double
.Parseread3[7].ToString, interval_bertahan, min_bertahan, max_bertahan;
double G_transisi =
Double .ParsetbNormBFTGawangTransisi.Text
cekNormSkor Double
.Parseread3[8].ToString, interval_transisi, min_transisi, max_transisi;
double G_gawang =
Double .ParsetbNormBFTGawangPosisi.Text
cekNormSkor Double
.Parseread3[9].ToString, interval_gawang, min_gawang, max_gawang;
Hitung nilai untuk posisi Belakang double
B_tinggi = Double
.ParsetbNormBFTBelakangTinggi.Text cekNormSkor
Double .Parseread3[0].ToString, interval_tinggi,
min_tinggi, max_tinggi; double
B_berat = Double
.ParsetbNormBFTBelakangBerat.Text cekNormSkor
Double .Parseread3[1].ToString, interval_berat,
min_berat, max_berat; double
B_teknik = Double
.ParsetbNormBFTBelakangTeknik.Text cekNormSkor
Double .Parseread3[2].ToString, interval_teknik,
min_teknik, max_teknik; double
B_taktik = Double
.ParsetbNormBFTBelakangTaktik.Text cekNormSkor
Double .Parseread3[3].ToString, interval_taktik,
min_taktik, max_taktik; double
B_fisik = Double
.ParsetbNormBFTBelakangFisik.Text cekNormSkor
Double .Parseread3[4].ToString, interval_fisik,
min_fisik, max_fisik; double
B_psikologi = Double
.ParsetbNormBFTBelakangPsikologi.Text cekNormSkor
Double .Parseread3[5].ToString, interval_psikologi,
min_psikologi, max_psikologi; double
B_menyerang = Double
.ParsetbNormBFTBelakangSerang.Text cekNormSkor
Double .Parseread3[6].ToString, interval_menyerang,
79
min_menyerang, max_menyerang; double
B_bertahan = Double
.ParsetbNormBFTBelakangTahan.Text cekNormSkor
Double .Parseread3[7].ToString, interval_bertahan,
min_bertahan, max_bertahan; double
B_transisi = Double
.ParsetbNormBFTBelakangTransisi.Text cekNormSkor
Double .Parseread3[8].ToString, interval_transisi,
min_transisi, max_transisi; double
B_belakang = Double
.ParsetbNormBFTBelakangPosisi.Text cekNormSkor
Double .Parseread3[10].ToString, interval_belakang,
min_belakang, max_belakang; Hitung nilai untuk posisi Tengah
double T_tinggi =
Double .ParsetbNormBFTTengahTinggi.Text
cekNormSkor Double
.Parseread3[0].ToString, interval_tinggi, min_tinggi, max_tinggi;
double T_berat =
Double .ParsetbNormBFTTengahBerat.Text
cekNormSkor Double
.Parseread3[1].ToString, interval_berat, min_berat, max_berat;
double T_teknik =
Double .ParsetbNormBFTTengahTeknik.Text
cekNormSkor Double
.Parseread3[2].ToString, interval_teknik, min_teknik, max_teknik;
double T_taktik =
Double .ParsetbNormBFTTengahTaktik.Text
cekNormSkor Double
.Parseread3[3].ToString, interval_taktik, min_taktik, max_taktik;
double T_fisik =
Double .ParsetbNormBFTTengahFisik.Text
cekNormSkor Double
.Parseread3[4].ToString, interval_fisik, min_fisik, max_fisik;
double T_psikologi =
Double .ParsetbNormBFTTengahPsikologi.Text
cekNormSkor Double
.Parseread3[5].ToString, interval_psikologi, min_psikologi, max_psikologi;
double T_menyerang =
Double .ParsetbNormBFTTengahSerang.Text
cekNormSkor Double
.Parseread3[6].ToString, interval_menyerang, min_menyerang, max_menyerang;
double T_bertahan =
Double .ParsetbNormBFTTengahTahan.Text
cekNormSkor Double
.Parseread3[7].ToString, interval_bertahan, min_bertahan, max_bertahan;
double T_transisi =
Double .ParsetbNormBFTTengahTransisi.Text
cekNormSkor Double
.Parseread3[8].ToString, interval_transisi, min_transisi, max_transisi;
double T_tengah =
Double .ParsetbNormBFTTengahPosisi.Text
cekNormSkor Double
.Parseread3[11].ToString, interval_tengah, min_tengah, max_tengah;
Hitung nilai untuk posisi Depan
80
double D_tinggi =
Double .ParsetbNormalisasiBFTTinggi.Text
cekNormSkor Double
.Parseread3[0].ToString, interval_tinggi, min_tinggi, max_tinggi;
double D_berat =
Double .ParsetbNormalisasiBFTBerat.Text
cekNormSkor Double
.Parseread3[1].ToString, interval_berat, min_berat, max_berat;
double D_teknik =
Double .ParsetbNormalisasiBFTTeknik.Text
cekNormSkor Double
.Parseread3[2].ToString, interval_teknik, min_teknik, max_teknik;
double D_taktik =
Double .ParsetbNormalisasiBFTTaktik.Text
cekNormSkor Double
.Parseread3[3].ToString, interval_taktik, min_taktik, max_taktik;
double D_fisik =
Double .ParsetbNormalisasiBFTFisik.Text
cekNormSkor Double
.Parseread3[4].ToString, interval_fisik, min_fisik, max_fisik;
double D_psikologi =
Double .ParsetbNormalisasiBFTPsikologi.Text
cekNormSkor Double
.Parseread3[5].ToString, interval_psikologi, min_psikologi, max_psikologi;
double D_menyerang =
Double .ParsetbNormalisasiBFTSerang.Text
cekNormSkor Double
.Parseread3[6].ToString, interval_menyerang, min_menyerang, max_menyerang;
double D_bertahan =
Double .ParsetbNormalisasiBFTTahan.Text
cekNormSkor Double
.Parseread3[7].ToString, interval_bertahan, min_bertahan, max_bertahan;
double D_transisi =
Double .ParsetbNormalisasiBFTTransisi.Text
cekNormSkor Double
.Parseread3[8].ToString, interval_transisi, min_transisi, max_transisi;
double D_depan =
Double .ParsetbNormalisasiBFTPosisi.Text
cekNormSkor Double
.Parseread3[12].ToString, interval_depan, min_depan, max_depan;
5 Hitung Skor Total Setiap Alternatif
Simpan total nilai untuk tiap posisi nilai_depan = D_tinggi + D_berat + D_teknik + D_taktik
+ D_fisik + D_psikologi + D_menyerang + D_bertahan + D_transisi + D_depan;
nilai_tengah = T_tinggi + T_berat + T_teknik + T_taktik + T_fisik + T_psikologi + T_menyerang + T_bertahan + T_transisi +
T_tengah; nilai_belakang = B_tinggi + B_berat + B_teknik +
B_taktik + B_fisik + B_psikologi + B_menyerang + B_bertahan +
81
B_transisi + B_belakang; nilai_gawang = G_tinggi + G_berat + G_teknik + G_taktik
+ G_fisik + G_psikologi + G_menyerang + G_bertahan + G_transisi + G_gawang;
Kueri untuk simpan atau update nilai akhir ke tabel nilai_akhir
string q_insert_nilai_akhir =
INSERT INTO nilai_akhir kode_pemain, nilai_gawang, nilai_belakang, nilai_tengah, nilai_depan
+ VALUES
+ read3[14].ToString + ,
+ nilai_gawang +
, + nilai_belakang +
, +
nilai_tengah + ,
+ nilai_depan + ;
string q_update_nilai_akhir =
UPDATE nilai_akhir SET +
nilai_gawang= + nilai_gawang +
, nilai_belakang=
+ nilai_belakang + ,
+ nilai_tengah=
+ nilai_tengah + ,
nilai_depan= + nilai_depan +
+ WHERE kode_pemain=
+ read3[14].ToString + ;
MySqlConnection db2 =
new MySqlConnection
datasource=localhost;database=skripsi- sppk;port=3306;username=root;password=
; Kueri untuk menghitung jumlah baris data pada tabel
nilai_akhir db2.Open;
MySqlCommand commandCountPemain = db2.CreateCommand;
commandCountPemain.CommandText = SELECT COUNT FROM
nilai_akhir WHERE kode_pemain= + read3[14].ToString +
; int
countNApemain = Int32
.ParsecommandCountPemain.ExecuteScalar.ToString; db2.Close;
Jika jumlah baris data=0 kosong: if
countNApemain == 0 {
Eksekusi kueri insert ExecuteQueryq_insert_nilai_akhir;
} Selain itu, jika jumlah baris data tidak kosong
sudah terisi else
{ Eksekusi kueri update
ExecuteQueryq_update_nilai_akhir; }
6 Output Nilai Pemain Setiap Posisi
papantulis.Text += [
+ read3[14].ToString + ]
+ read3[13].ToString +
\n ;
papantulis.Text += Gawang\t:
+ nilai_gawang + \n
; papantulis.Text +=
Belakang\t: + nilai_belakang +
82
\n ;
papantulis.Text += Tengah\t:
+ nilai_tengah + \n
; papantulis.Text +=
Depan\t: + nilai_depan +
\n ;
papantulis.Text += \n Tinggi=
+ D_tinggi + -
Norm= +
Double .ParsetbNormalisasiBFTTinggi.Text +
- Skor= +
cekNormSkor Double
.Parseread3[0].ToString, interval_tinggi, min_tinggi, max_tinggi;
papantulis.Text += - Nilai=
+ Double
.Parseread3[0].ToString + - Interval=
+ interval_tinggi + - Min=
+ min_tinggi + - Max=
+ max_tinggi; papantulis.Text +=
\n Berat= + D_berat +
- Norm=
+ Double
.ParsetbNormalisasiBFTBerat.Text + - Skor=
+ cekNormSkor
Double .Parseread3[1].ToString, interval_berat,
min_berat, max_berat; papantulis.Text +=
- Nilai= +
Double .Parseread3[1].ToString +
- Interval= + interval_berat +
- Min= + min_berat +
- Max= + max_berat;
papantulis.Text += \n Teknik=
+ D_teknik + -
Norm= +
Double .ParsetbNormalisasiBFTTeknik.Text +
- Skor= +
cekNormSkor Double
.Parseread3[2].ToString, interval_teknik, min_teknik, max_teknik;
papantulis.Text += - Nilai=
+ Double
.Parseread3[2].ToString + - Interval=
+ interval_teknik + - Min=
+ min_teknik + - Max=
+ max_teknik; papantulis.Text +=
\n Taktik= + D_taktik +
- Norm=
+ Double
.ParsetbNormalisasiBFTTaktik.Text + - Skor=
+ cekNormSkor
Double .Parseread3[3].ToString, interval_taktik,
min_taktik, max_taktik; papantulis.Text +=
- Nilai= +
Double .Parseread3[3].ToString +
- Interval= + interval_taktik +
- Min= + min_taktik +
- Max= + max_taktik;
papantulis.Text += \n Psklogi=
+ D_psikologi + - Norm=
+ Double
.ParsetbNormalisasiBFTPsikologi.Text + - Skor=
+ cekNormSkor
Double .Parseread3[5].ToString, interval_psikologi,
min_psikologi, max_psikologi; papantulis.Text +=
- Nilai= +
Double .Parseread3[5].ToString +
- Interval= + interval_psikologi
+ - Min=
+ min_psikologi + - Max=
+ max_psikologi; papantulis.Text +=
\n Fisik= + D_fisik +
- Norm=
+ Double
.ParsetbNormalisasiBFTFisik.Text + - Skor=
+ cekNormSkor
Double .Parseread3[4].ToString, interval_fisik,
min_fisik, max_fisik; papantulis.Text +=
- Nilai= +
Double .Parseread3[4].ToString +
- Interval= + interval_fisik +
- Min= + min_fisik +
- Max= + max_fisik;
papantulis.Text += \n Mnyrang=
+ D_menyerang + - Norm=
+ Double
.ParsetbNormalisasiBFTSerang.Text + - Skor=
+ cekNormSkor
Double .Parseread3[6].ToString, interval_menyerang,
min_menyerang, max_menyerang; papantulis.Text +=
- Nilai= +
Double .Parseread3[6].ToString +
- Interval= + interval_menyerang
+ - Min=
+ min_menyerang + - Max=
+ max_menyerang; papantulis.Text +=
\n Brthan= + D_bertahan +
- Norm=
+ Double
.ParsetbNormalisasiBFTTahan.Text + - Skor=
+ cekNormSkor
Double .Parseread3[7].ToString, interval_bertahan,
min_bertahan, max_bertahan;
83
papantulis.Text += - Nilai=
+ Double
.Parseread3[7].ToString + - Interval=
+ interval_bertahan +
- Min= + min_bertahan +
- Max= + max_bertahan;
papantulis.Text += \n Trnssi=
+ D_transisi + -
Norm= +
Double .ParsetbNormalisasiBFTTransisi.Text +
- Skor= +
cekNormSkor Double
.Parseread3[8].ToString, interval_transisi, min_transisi, max_transisi;
papantulis.Text += - Nilai=
+ Double
.Parseread3[8].ToString + - Interval=
+ interval_transisi +
- Min= + min_transisi +
- Max= + max_transisi;
papantulis.Text += \n Depan=
+ D_depan + -
Norm= +
Double .ParsetbNormalisasiBFTPosisi.Text +
- Skor= +
cekNormSkor Double
.Parseread3[12].ToString, interval_depan, min_depan, max_depan;
papantulis.Text += - Nilai=
+ Double
.Parseread3[12].ToString + - Interval=
+ interval_depan + - Min=
+ min_depan + - Max=
+ max_depan; papantulis.Text +=
\n Tengah= + T_tengah +
- Norm=
+ Double
.ParsetbNormBFTTengahPosisi.Text + - Skor=
+ cekNormSkor
Double .Parseread3[11].ToString, interval_tengah,
min_tengah, max_tengah; papantulis.Text +=
- Nilai= +
Double .Parseread3[11].ToString +
- Interval= + interval_tengah +
- Min= + min_tengah +
- Max= + max_tengah;
papantulis.Text += \n Belakang=
+ B_belakang + - Norm=
+ Double
.ParsetbNormBFTBelakangPosisi.Text + - Skor=
+ cekNormSkor
Double .Parseread3[10].ToString, interval_belakang,
min_belakang, max_belakang; papantulis.Text +=
- Nilai= +
Double .Parseread3[10].ToString +
- Interval= + interval_belakang
+ - Min=
+ min_belakang + - Max=
+ max_belakang; papantulis.Text +=
\n Gawang= + G_gawang +
- Norm=
+ Double
.ParsetbNormBFTGawangPosisi.Text + - Skor=
+ cekNormSkor
Double .Parseread3[9].ToString, interval_gawang,
min_gawang, max_gawang; papantulis.Text +=
- Nilai= +
Double .Parseread3[9].ToString +
- Interval= + interval_gawang +
- Min= + min_gawang +
- Max= + max_gawang;
papantulis.Text += \n\n
;
5.3 Implementasi Subsistem Manajemen Dialog