Source Code SPK Weighted Product C Sharp (C#) – Sistem pendukung keputusan (Inggris: decision support systems disingkat DSS) adalah bagian dari sistem informasi berbasis komputer (termasuk sistem berbasis pengetahuan (manajemen pengetahuan)) yang dipakai untuk mendukung pengambilan keputusan dalam suatu organisasi atau perusahaan.
Metode Weighted Product (WP) Metode WP mengunakan perkalian untuk menghubungkan rating atribut, di mana rating setiap atribut harus dipangkatkan dulu dengan bobot atribut yang bersangkutan. Langkah dalam metode weighted product yaitu:
- Menentukan pangkat bobot kriteria.
- Normalisasi, yaitu memangkatkan setiap elemen matriks alternatif kriteria dengan pangkat bobot kriteria.
- Mencari vektor s dan vektor v.
- Perangkingan berdasarkan vektor v.
Detail Source Code
Nama | Source Code SPK Metode Weighted Product C# |
Deskripsi | Source code Sistem Pendukung Keputusan (SPK) dengan metode Weighted Product (WP) berbasis Desktop dengan C Sharp (C#) |
Bahasa | C# |
Database | MySQL |
Harga | Rp 350,000 |
Tokopedia | https://tokopedia.com/rumahsourcecode/source-code-spk-metode-weighted-product-c-sharp |
Komponen Source Code SPK Weighted Product C Sharp

- FrmLogin, untuk login ke aplikasi.
- FrmUtama, sebagai menu navigasi untuk aplikasi
- FrmAlternatif, untuk mencari dan menampilkan data alternatif
- FrmKriteria, untuk mencari dan menambah kriteria
- FrmRelAlternatif, untuk mengisi bobot nilai alternatif pada masing-masing kriteria
- FrmHitung, melakukan proses perhitungan weighted product
- LapAlternatif, untuk menampilkan laporan alternatif
- LapKriteria, untuk menampilkan laporan kriteria
- LapHitung, untuk menampilkan laporan hasil perhitungan
- FrmPassword, untuk mengubah password user yang login.
Untuk detail tampilan dari aplikasi, bisa cek demo youtube dan screenshoot di bawah:
Contoh Source Code Weighted_Product.cs
Berikut contoh code perhitungan pada source code spk weighted product c sharp:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; namespace WP { class Alternatif { public string Kode; public string Nama; public double Vektor_s; public double Vektor_v; public double Total; public int Rank; } class Kriteria { public string Kode; public string Nama; public string Atribut; public double Kepentingan; public double Bobot; public double Pangkat; } class Weighted_Product { public Dictionary<string, Alternatif> DicAlt = new Dictionary<string, Alternatif>(); public Dictionary<string, Kriteria> DicKrit = new Dictionary<string, Kriteria>(); public Dictionary<string, Dictionary<string, double>> DicNilai = new Dictionary<string, Dictionary<string, double>>(); public Dictionary<string, Dictionary<string, double>> Normal = new Dictionary<string, Dictionary<string, double>>(); public Weighted_Product(DataTable DtAlt, DataTable DtKrit, DataTable DtRel) { foreach (DataRow row in DtAlt.Rows) { Alternatif alt = new Alternatif(); alt.Kode = row["kode_alternatif"].ToString(); alt.Nama = row["nama_alternatif"].ToString(); DicAlt.Add(row["kode_alternatif"].ToString(), alt); } foreach (DataRow row in DtKrit.Rows) { Kriteria krit = new Kriteria(); krit.Kode = row["kode_kriteria"].ToString(); krit.Nama = row["nama_kriteria"].ToString(); krit.Atribut = row["atribut"].ToString(); krit.Bobot = Double.Parse(row["bobot"].ToString()); DicKrit.Add(row["kode_kriteria"].ToString(), krit); } foreach (KeyValuePair<string, Alternatif> row in DicAlt) { DataRow[] filter = DtRel.Select("kode_alternatif='" + row.Key + "'"); Dictionary<string, double> d = new Dictionary<string,double>(); foreach (DataRow r in filter) d.Add(r["kode_kriteria"].ToString(), r["nilai"].ToD()); DicNilai.Add(row.Key, d); } } public void Calculate() { GetPangkat(); Normalize(); Vektor_s(); Vektor_v(); Rank(); } void GetPangkat() { double total = 0; foreach (KeyValuePair<string, Kriteria> row in DicKrit) { total += row.Value.Bobot; } foreach (KeyValuePair<string, Kriteria> row in DicKrit) { row.Value.Kepentingan = row.Value.Bobot / total; if (row.Value.Atribut.ToLower() == "cost") row.Value.Pangkat = row.Value.Kepentingan * -1; else row.Value.Pangkat = row.Value.Kepentingan; } } void Normalize() { foreach (KeyValuePair<string, Dictionary<string, double>> row in DicNilai) { Dictionary<string, double> d = new Dictionary<string,double>(); foreach (KeyValuePair<string, double> r in row.Value) { d.Add(r.Key, Math.Pow(r.Value, DicKrit[r.Key].Pangkat)); } Normal.Add(row.Key, d); } } void Vektor_s() { foreach (KeyValuePair<string, Dictionary<string, double>> row in Normal) { DicAlt[row.Key].Vektor_s = 1; foreach (KeyValuePair<string, double> r in row.Value) { DicAlt[row.Key].Vektor_s *= r.Value; } } } void Vektor_v() { double total = 0; foreach (KeyValuePair<string, Alternatif> row in DicAlt) { total += row.Value.Vektor_s; } foreach (KeyValuePair<string, Alternatif> row in DicAlt) { DicAlt[row.Key].Vektor_v = row.Value.Vektor_s / total; DicAlt[row.Key].Total = row.Value.Vektor_s / total; } Rank(); } void Rank() { string[] keys = DicAlt.Keys.ToArray(); double[] total = new Double[keys.Length]; int index = 0; foreach (KeyValuePair<string, Alternatif> row in DicAlt) { total[index] = row.Value.Vektor_v; index++; } for (int a = 0; a < total.Length - 1; a++) { for (int b = a + 1; b < total.Length; b++) { if (total[b] > total[a]) { string t = keys[a]; keys[a] = keys[b]; keys[b] = t; double tmp = total[a]; total[a] = total[b]; total[b] = tmp; } } } for (int a = 0; a < keys.Length; a++) { DicAlt[keys[a]].Rank = a + 1; } } } }
Pembelian Source Code
Untuk melakukan pembelian anda harus melakukan donasi sesuai harga yang ada di Daftar Harga Source Code Tugas Akhir. Anda juga bisa menghubungi kami melalui:
Email : herdikayan@gmail.com
WA / SMS : 085 737 058 375
Pembayaran Source Code
Untuk pembayaran source code yang sudah ada, silahkan transfer ke rekening kami. Kami akan mengirimkan source code langsung setelah pembayaran kami konfirmasi. Source code kami kirim melalui email.
BNI
0827432793
CIMB
7612 9066 4600
BCA
6110244663
BRI
4643-01-008473-53-8
a/n I Kayan Herdiana
Untuk pembuatan source code by request wajib untuk melakukan pembayaran DP sebesar 30% dari harga yang disepakati. Kami akan mengembalikan uang anda 100% jika kami tidak dapat menyelesaikan pekerjaan kami sampai batas waktu yang ditentukan.