Implementasi Subsistem Manajemen Data Implementasi Subsistem Manajemen Model

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