Implementasi Metode Multifactor Evaluation Process (MFEP) dan Metode Elimination et choix Traduisant la Realite (ELECTRE) pada Sistem Pendukung Keputusan untuk Memilih Tabungan Syariah

(1)

Form1.cs using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data;

using System.Drawing; using System.Linq; using System.Text;

using System.Threading.Tasks; using System.Windows.Forms;

namespace WindowsFormsApplication3 {

public partial class Form1 : Form

{

public Form1() {

InitializeComponent(); this.FormBorderStyle =

System.Windows.Forms.FormBorderStyle.FixedSingle; }

private void mFEPToolStripMenuItem_Click(object sender, EventArgs e) {

this.Hide();

Mfep newmfep = new Mfep(); newmfep.Show();

}

private void eLECTREToolStripMenuItem_Click(object sender, EventArgs e) {

this.Hide();

Electre newelectre = new Electre(); newelectre.Show();

}

private void closeToolStripMenuItem_Click(object sender, EventArgs e) {

Application.Exit(); }

private void perbandinganToolStripMenuItem_Click(object sender,

EventArgs e) {

this.Hide();

Perbandingan newperbandingan = new Perbandingan(); newperbandingan.Show();

} } }


(2)

using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data;

using System.Drawing; using System.Linq; using System.Text;

using System.Threading.Tasks; using System.Windows.Forms; using MySql.Data.MySqlClient; using System.Diagnostics;

namespace WindowsFormsApplication3 {

public partial class Mfep : Form

{

public MySqlConnection koneksi = new

MySqlConnection("server=localhost;database=skripsi;uid=root;pwd=''"); Stopwatch sw = new Stopwatch();

public Mfep() {

InitializeComponent(); this.FormBorderStyle =

System.Windows.Forms.FormBorderStyle.FixedSingle; }

double hasil, unitATM, nisbah, admin, jsm, kb, pelayanan, nbf_unitAtm, nbf_nisbah, nbf_admin, nbf_jsm, nbf_kb, nbf_pelayanan;

string[] namaBank = new string[8]; double[,] nef = new double[8, 7]; double[,] nbe = new double[8, 7]; double[] tne = new double[8];

private void proses_Click(object sender, EventArgs e) {

sw.Reset(); sw.Start();

bagiKriteria();

hasil = (unitATM + nisbah + admin + jsm + kb + pelayanan)/100; if (hasil != 1)

MessageBox.Show("Total pembobotan harus sama dengan 100"); else if (hasil==1)

{

dataGridView1.Visible = true; dataGridView3.Visible = false;

dataGridView1.Columns[0].Name = "Jumlah Unit/Counter ATM"; dataGridView1.Columns[1].Name = "Nisbah/Bagi Hasil"; dataGridView1.Columns[2].Name = "Biaya Administrasi"; dataGridView1.Columns[3].Name = "Jumlah Setoran Minimum"; dataGridView1.Columns[4].Name = "Kemudahan Bertransaksi"; dataGridView1.Columns[5].Name = "Pelayanan";

dataGridView1.Rows[0].Cells[0].Value = nbf_unitAtm; dataGridView1.Rows[0].Cells[1].Value = nbf_nisbah;


(3)

dataGridView1.Rows[0].Cells[5].Value = nbf_pelayanan; }

sw.Stop(); koneksi.Open();

MySqlCommand cmd = new MySqlCommand("UPDATE waktu SET

mfep='"+sw.Elapsed.Seconds+" Detik, "+sw.Elapsed.Milliseconds+" Milidetik '", koneksi);

cmd.ExecuteNonQuery(); koneksi.Close(); }

void ambilKriteria() {

unitATM = Convert.ToDouble(textBox1.Text); nisbah = Convert.ToDouble(textBox2.Text); admin = Convert.ToDouble(textBox3.Text); jsm = Convert.ToDouble(textBox4.Text); kb = Convert.ToDouble(textBox5.Text);

pelayanan = Convert.ToDouble(textBox6.Text); }

void bagiKriteria() {

ambilKriteria();

nbf_unitAtm = unitATM / 100; nbf_nisbah = nisbah / 100; nbf_admin = admin / 100; nbf_jsm = jsm / 100; nbf_kb = kb / 100;

nbf_pelayanan = pelayanan / 100; }

private void reset_Click(object sender, EventArgs e) {

sw.Start();

textBox1.Text = "0"; textBox2.Text = "0"; textBox3.Text = "0"; textBox4.Text = "0"; textBox5.Text = "0"; textBox6.Text = "0"; sw.Stop();

koneksi.Open();

MySqlCommand cmd = new MySqlCommand("UPDATE waktu SET mfep='" + sw.Elapsed.Seconds + " Detik, " + sw.Elapsed.Milliseconds + " Milidetik '", koneksi);

cmd.ExecuteNonQuery(); koneksi.Close(); }

private void hitung_Click(object sender, EventArgs e) {

label2.Text = "3. Setiap nilai bobot faktor dikalikan evaluasi faktor";

sw.Start();

dataGridView2.Rows.Clear(); koneksi.Open();


(4)

dataGridView2.Columns[2].Name = "Biaya Administrasi"; dataGridView2.Columns[2].Width = 75;

dataGridView2.Columns[3].Name = "Jumlah Setoran Minimum"; dataGridView2.Columns[3].Width = 60;

dataGridView2.Columns[4].Name = "Kemudahan Bertransaksi"; dataGridView2.Columns[4].Width = 80;

dataGridView2.Columns[5].Name = "Pelayanan"; dataGridView2.Columns[5].Width = 70;

dataGridView2.Columns[6].Name = "Hasil"; dataGridView2.Columns[6].Width = 53;

MySqlCommand cm = new MySqlCommand("select unitatm, nisbah, admin, jsm, kb, pelayanan, hasil from tb_alternatif", koneksi);

MySqlDataReader dr = cm.ExecuteReader(); while (dr.Read())

{

String[] row = new String[] { dr[0].ToString(),

dr[1].ToString(), dr[2].ToString(), dr[3].ToString(), dr[4].ToString(), dr[5].ToString(), dr[6].ToString(), };

dataGridView2.Rows.Add(row); }

dr.Close(); koneksi.Close();

for (int i = 0; i <= 7; i++) for (int j = 0; j <= 6; j++ ) nef[i, j] =

Convert.ToDouble(dataGridView2.Rows[i].Cells[j].Value); for (int i = 0; i <= 7; i++)

for (int j = 0; j <= 6; j++) if (j == 0)

nbe[i, j] = nef[i, j] * nbf_unitAtm; else if (j == 1)

nbe[i, j] = nef[i, j] * nbf_nisbah; else if (j == 2)

nbe[i, j] = nef[i, j] * nbf_admin; else if (j == 3)

nbe[i, j] = nef[i, j] * nbf_jsm; else if (j == 4)

nbe[i, j] = nef[i, j] * nbf_kb; else if (j == 5)

nbe[i, j] = nef[i, j] * nbf_pelayanan;

for (int i = 0; i <= 7; i++) for (int j = 0; j <= 6; j++)

tne[i] = nbe[i, 0] + nbe[i, 1] + nbe[i, 2] + nbe[i, 3] + nbe[i, 4] + nbe[i, 5];

for (int i = 0; i <= 7; i++) for (int j = 0; j <= 6; j++) if (j==6)

dataGridView2.Rows[i].Cells[6].Value = System.Math.Round(tne[i],2);

else

dataGridView2.Rows[i].Cells[j].Value = System.Math.Round(nbe[i, j],2);


(5)

sw.Elapsed.Seconds + " Detik, " + sw.Elapsed.Milliseconds + " Milidetik '", koneksi);

cmd.ExecuteNonQuery(); koneksi.Close(); }

private void tampil_Click(object sender, EventArgs e) {

label2.Text = "2. Memberikan nilai bobot untuk setiap alternatif"; sw.Start();

dataGridView1.Visible = false; dataGridView3.Visible = true; koneksi.Open();

DataTable dt = new DataTable();

MySqlDataAdapter da = new MySqlDataAdapter("select*from tb_alternatif", koneksi);

da.Fill(dt);

dataGridView3.DataSource = dt.DefaultView; koneksi.Close();

sw.Stop(); koneksi.Open();

MySqlCommand cmd = new MySqlCommand("UPDATE waktu SET mfep='" + sw.Elapsed.Seconds + " Detik, " + sw.Elapsed.Milliseconds + " Milidetik '", koneksi);

cmd.ExecuteNonQuery(); koneksi.Close(); }

private void simpan_Click(object sender, EventArgs e) {

string[] namaBank = new string[8]; double[] hasil = new double[8]; sw.Start();

koneksi.Open();

DataTable dt = new DataTable();

MySqlDataAdapter da = new MySqlDataAdapter("delete from tb_mfep", koneksi);

da.Fill(dt); koneksi.Close();

for (int i = 0; i <= 7; i++) {

hasil[i] = tne[i]; if (i == 0)

namaBank[i] = "BRI Syariah"; else if (i == 1)

namaBank[i] = "BNI Syariah"; else if (i == 2)

namaBank[i] = "Bank Syariah Bukopin"; else if (i == 3)

namaBank[i] = "BTN Syariah"; else if (i == 4)

namaBank[i] = "Bank SUMUT Syariah"; else if (i == 5)


(6)

else if (i == 7)

namaBank[i] = "Bank Syariah Mandiri"; koneksi.Open();

MySqlCommand cmd1 = new MySqlCommand("Insert into tb_mfep values(@namabank,@hasil)", koneksi);

cmd1.Parameters.Add(@"namabank", namaBank[i]);

cmd1.Parameters.Add(@"hasil", System.Math.Round(hasil[i],2)); cmd1.ExecuteNonQuery();

koneksi.Close(); }

MessageBox.Show("Data Berhasil Disimpan", MessageBoxButtons.OK,

MessageBoxIcon.None, MessageBoxDefaultButton.Button1); sw.Stop();

koneksi.Open();

MySqlCommand cmd = new MySqlCommand("UPDATE waktu SET mfep='" + sw.Elapsed.Seconds + " Detik, " + sw.Elapsed.Milliseconds + " Milidetik '", koneksi);

cmd.ExecuteNonQuery(); koneksi.Close(); }

private void textBox1_Leave(object sender, EventArgs e) {

ambilKriteria();

double total = unitATM + nisbah + admin + jsm + kb + pelayanan; lblJlh.Text = Convert.ToString("Jumlah Bobot: " + total); }

private void textBox2_Leave(object sender, EventArgs e) {

ambilKriteria();

double total = unitATM + nisbah + admin + jsm + kb + pelayanan; lblJlh.Text = Convert.ToString("Jumlah Bobot: " + total); }

private void textBox3_Leave(object sender, EventArgs e) {

ambilKriteria();

double total = unitATM + nisbah + admin + jsm + kb + pelayanan; lblJlh.Text = Convert.ToString("Jumlah Bobot: " + total); }

private void textBox4_Leave(object sender, EventArgs e) {

ambilKriteria();

double total = unitATM + nisbah + admin + jsm + kb + pelayanan; lblJlh.Text = Convert.ToString("Jumlah Bobot: " + total); }

private void textBox5_Leave(object sender, EventArgs e) {

ambilKriteria();

double total = unitATM + nisbah + admin + jsm + kb + pelayanan; lblJlh.Text = Convert.ToString("Jumlah Bobot: " + total); }


(7)

double total = unitATM + nisbah + admin + jsm + kb + pelayanan; lblJlh.Text = Convert.ToString("Jumlah Bobot: " + total); }

private void mFEPToolStripMenuItem_Click(object sender, EventArgs e) {

this.Hide();

Mfep newmfep = new Mfep(); newmfep.Show();

}

private void eLECTREToolStripMenuItem_Click_1(object sender, EventArgs

e)

{

this.Hide();

Electre newelectre = new Electre(); newelectre.Show();

}

private void exitToolStripMenuItem_Click(object sender, EventArgs e) {

this.Hide();

Form1 newform = new Form1(); newform.Show();

}

private void perbandinganToolStripMenuItem_Click(object sender,

EventArgs e) {

this.Hide();

Perbandingan newperbandingan = new Perbandingan(); newperbandingan.Show();

} } }


(8)

using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data;

using System.Drawing; using System.Linq; using System.Text;

using System.Threading.Tasks; using System.Windows.Forms; using MySql.Data.MySqlClient; using System.Diagnostics;

namespace WindowsFormsApplication3 {

public partial class Electre : Form

{

public MySqlConnection koneksi = new

MySqlConnection("server=localhost;database=skripsi;uid=root;pwd=''"); Stopwatch sw1 = new Stopwatch();

public Electre() {

InitializeComponent(); this.FormBorderStyle =

System.Windows.Forms.FormBorderStyle.FixedSingle; }

double wCounterAtm, wBagiHasil, wAdmin, wJsm, wKb, wPelayanan; int z = 0;

double conc, disc, perdisc,disc1,perdisc1,totalC,totalD=0; double w, cThres, dThres;

double[,] G = new double[8,8]; double[,] F = new double[8,8]; double[,] E = new double[8,8]; double[,] C = new double[8,8]; double[,] D = new double[8,8]; double[] x = new double[6];

double[] hasilAkhir = new double[8]; string[] namaBank = new string[8]; double[,] k = new double[8,6]; double[,] r = new double[8,6]; double[,] v = new double[8,6];

private void eLECTREToolStripMenuItem_Click(object sender, EventArgs e) {

this.Hide();

Electre newelectre = new Electre(); newelectre.Show();

}

private void mFEPToolStripMenuItem_Click(object sender, EventArgs e) {

this.Hide();

Mfep newmfep = new Mfep(); newmfep.Show();

}

private void exitToolStripMenuItem_Click(object sender, EventArgs e) {


(9)

}

private void proses_Click(object sender, EventArgs e) {

sw1.Reset(); sw1.Start(); //comboBox1

if (comboBox1.SelectedItem == "Sedikit") wCounterAtm = 1;

else if (comboBox1.SelectedItem == "Sedang") wCounterAtm = 2;

else if (comboBox1.SelectedItem == "Banyak") wCounterAtm = 3;

//comboBox2

if (comboBox2.SelectedItem == "Rendah") wBagiHasil = 1;

else if (comboBox2.SelectedItem == "Sedang") wBagiHasil = 2;

else if (comboBox2.SelectedItem == "Tinggi") wBagiHasil = 3;

//comboBox3

if (comboBox3.SelectedItem == "Kecil") wAdmin = 3;

else if (comboBox3.SelectedItem == "Sedang") wAdmin = 2;

else if (comboBox3.SelectedItem == "Besar") wAdmin = 1;

//comboBox4

if (comboBox4.SelectedItem == "Kecil") wJsm = 3;

else if (comboBox4.SelectedItem == "Sedang") wJsm = 2;

else if (comboBox4.SelectedItem == "Besar") wJsm = 1;

//comboBox5

if (comboBox5.SelectedItem == "Sulit") wKb = 1;

else if (comboBox5.SelectedItem == "Mudah") wKb = 2;

//comboBox6

if (comboBox6.SelectedItem == "Sedikit") wPelayanan = 1;

else if (comboBox6.SelectedItem == "Sedang") wPelayanan = 2;

else if (comboBox6.SelectedItem == "Banyak") wPelayanan = 3;

dataGridView1.Visible = true; dataGridView10.Visible = false;

dataGridView1.Columns[0].Name = "Jumlah Unit/Counter ATM"; dataGridView1.Columns[1].Name = "Nisbah/Bagi Hasil"; dataGridView1.Columns[2].Name = "Biaya Administrasi"; dataGridView1.Columns[3].Name = "Jumlah Setoran Minimum"; dataGridView1.Columns[4].Name = "Kemudahan Bertransaksi"; dataGridView1.Columns[5].Name = "Pelayanan";


(10)

dataGridView1.Rows[0].Cells[4].Value = wKb;

dataGridView1.Rows[0].Cells[5].Value = wPelayanan; sw1.Stop();

koneksi.Open();

MySqlCommand cmd1 = new MySqlCommand("UPDATE waktu SET electre='" + sw1.Elapsed.Seconds + " Detik, " + sw1.Elapsed.Milliseconds + " Milidetik '", koneksi);

cmd1.ExecuteNonQuery(); koneksi.Close(); }

private void tampil_Click(object sender, EventArgs e) {

label2.Text = "Rating Kecocokan dari setiap alternatif pada setiap kriteria";

sw1.Start();

dataGridView1.Visible = false; dataGridView10.Visible = true; koneksi.Open();

DataTable dt = new DataTable();

MySqlDataAdapter da = new MySqlDataAdapter("select*from tb_alternatif2", koneksi);

da.Fill(dt);

dataGridView10.DataSource = dt.DefaultView; koneksi.Close();

sw1.Stop(); koneksi.Open();

MySqlCommand cmd1 = new MySqlCommand("UPDATE waktu SET electre='" + sw1.Elapsed.Seconds + " Detik, " + sw1.Elapsed.Milliseconds + " Milidetik '", koneksi);

cmd1.ExecuteNonQuery(); koneksi.Close(); }

private void normalisasi_Click(object sender, EventArgs e) {

label2.Text = "Normalisasi matriks keputusan"; sw1.Start();

dataGridView2.Visible = true; dataGridView3.Visible = false; dataGridView4.Visible = false; dataGridView5.Visible = false; dataGridView6.Visible = false; dataGridView7.Visible = false; dataGridView8.Visible = false; dataGridView9.Visible = false; textBox1.Visible = false; dataGridView2.Rows.Clear(); koneksi.Open();

dataGridView2.Columns[0].Name = "Jumlah Unit/Counter ATM"; dataGridView2.Columns[0].Width = 80;

dataGridView2.Columns[1].Name = "Nisbah/Bagi Hasil"; dataGridView2.Columns[1].Width = 75;


(11)

dataGridView2.Columns[3].Width = 60;

dataGridView2.Columns[4].Name = "Kemudahan Bertransaksi"; dataGridView2.Columns[4].Width = 80;

dataGridView2.Columns[5].Name = "Pelayanan"; dataGridView2.Columns[5].Width = 70;

MySqlCommand cm = new MySqlCommand("select

counteratm,bagihasil,admin,jsm,kb,pelayanan from tb_alternatif2", koneksi); MySqlDataReader dr = cm.ExecuteReader();

while (dr.Read()) {

String[] row = new String[] { dr[0].ToString(),

dr[1].ToString(), dr[2].ToString(), dr[3].ToString(), dr[4].ToString(), dr[5].ToString(), };

dataGridView2.Rows.Add(row); }

dr.Close(); koneksi.Close();

for (int a = 0; a <= 7; a++) for (int c = 0; c <= 5; c++) k[a, c] =

Convert.ToDouble(dataGridView2.Rows[a].Cells[c].Value); for (int c = 0; c <= 5; c++)

x[c] = Math.Abs(Math.Pow(Math.Pow(k[0, c], 2) + Math.Pow(k[1, c], 2) + Math.Pow(k[2, c], 2) + Math.Pow(k[3, c], 2) + Math.Pow(k[4, c], 2) +

Math.Pow(k[5, c], 2) + Math.Pow(k[6, c], 2) + Math.Pow(k[7, c], 2), 0.5)); for (int a = 0; a <= 7; a++)

for (int c = 0; c <= 5; c++) r[a, c] = k[a, c] / x[c]; for (int a = 0; a <= 7; a++) for (int c = 0; c <= 5; c++)

dataGridView2.Rows[a].Cells[c].Value = System.Math.Round(r[a,c],2);

sw1.Stop(); koneksi.Open();

MySqlCommand cmd1 = new MySqlCommand("UPDATE waktu SET electre='" + sw1.Elapsed.Seconds + " Detik, " + sw1.Elapsed.Milliseconds + " Milidetik '", koneksi);

cmd1.ExecuteNonQuery(); koneksi.Close(); }

private void pembobotan_Click(object sender, EventArgs e) {

label2.Text = "Pembobotan pada matriks yang telah dinormalisasi"; sw1.Start();

dataGridView2.Visible = false; dataGridView3.Visible = true; dataGridView4.Visible = false; dataGridView5.Visible = false; dataGridView6.Visible = false; dataGridView7.Visible = false; dataGridView8.Visible = false;


(12)

dataGridView3.Rows.Clear();

dataGridView3.Columns[0].Name = "Jumlah Unit/Counter ATM"; dataGridView3.Columns[0].Width = 80;

dataGridView3.Columns[1].Name = "Nisbah/Bagi Hasil"; dataGridView3.Columns[1].Width = 75;

dataGridView3.Columns[2].Name = "Biaya Administrasi"; dataGridView3.Columns[2].Width = 75;

dataGridView3.Columns[3].Name = "Jumlah Setoran Minimum"; dataGridView3.Columns[3].Width = 60;

dataGridView3.Columns[4].Name = "Kemudahan Bertransaksi"; dataGridView3.Columns[4].Width = 80;

dataGridView3.Columns[5].Name = "Pelayanan"; dataGridView3.Columns[5].Width = 70;

DataGridViewRow a1 = new DataGridViewRow(); dataGridView3.Rows.Add(a1);

DataGridViewRow a2 = new DataGridViewRow(); dataGridView3.Rows.Add(a2);

DataGridViewRow a3 = new DataGridViewRow(); dataGridView3.Rows.Add(a3);

DataGridViewRow a4 = new DataGridViewRow(); dataGridView3.Rows.Add(a4);

DataGridViewRow a5 = new DataGridViewRow(); dataGridView3.Rows.Add(a5);

DataGridViewRow a6 = new DataGridViewRow(); dataGridView3.Rows.Add(a6);

DataGridViewRow a7 = new DataGridViewRow(); dataGridView3.Rows.Add(a7);

for (int a = 0; a <= 7; a++) for (int c = 0; c <= 5; c++) if (c == 0)

v[a, c] = r[a, c] * wCounterAtm; else if (c == 1)

v[a, c] = r[a, c] * wBagiHasil; else if (c == 2)

v[a, c] = r[a, c] * wAdmin; else if (c == 3)

v[a, c] = r[a, c] * wJsm; else if (c == 4)

v[a, c] = r[a, c] * wKb; else

v[a, c] = r[a, c] * wPelayanan; for (int a = 0; a <= 7; a++)

for (int c = 0; c <= 5; c++)

dataGridView3.Rows[a].Cells[c].Value = System.Math.Round(v[a, c],2);

sw1.Stop(); koneksi.Open();

MySqlCommand cmd1 = new MySqlCommand("UPDATE waktu SET electre='" + sw1.Elapsed.Seconds + " Detik, " + sw1.Elapsed.Milliseconds + " Milidetik '", koneksi);

cmd1.ExecuteNonQuery(); koneksi.Close(); }


(13)

label2.Text = "Menghitung matriks concordance"; sw1.Start();

dataGridView2.Visible = false; dataGridView3.Visible = false; dataGridView4.Visible = true; dataGridView5.Visible = false; dataGridView6.Visible = false; dataGridView7.Visible = false; dataGridView8.Visible = false; dataGridView9.Visible = false; textBox1.Visible = false; dataGridView4.Rows.Clear(); for (int a = 0; a <= 7; a++) for (int c = 0; c <= 7; c++) {

conc = 0; if(a == c) C[a, c] = 0; else

{

for (int z = 0; z <= 5; z++) {

if (z == 0)

w = wCounterAtm; else if (z == 1) w = wBagiHasil; else if (z == 2) w = wAdmin; else if (z == 3) w = wJsm; else if (z == 4) w = wKb; else

w = wPelayanan; if (v[a, z] >= v[c, z]) conc = conc + w; }

C[a, c] = conc; totalC += C[a, c]; }

}

dataGridView4.Columns[0].Name = "BRI Syariah"; dataGridView4.Columns[0].Width = 50;

dataGridView4.Columns[1].Name = "BNI Syariah"; dataGridView4.Columns[1].Width = 50;

dataGridView4.Columns[2].Name = "Bank Syariah Bukopin"; dataGridView4.Columns[2].Width = 50;

dataGridView4.Columns[3].Name = "BTN Syariah"; dataGridView4.Columns[3].Width = 50;

dataGridView4.Columns[4].Name = "Bank SUMUT Syariah"; dataGridView4.Columns[4].Width = 50;

dataGridView4.Columns[5].Name = "Bank Muamalat"; dataGridView4.Columns[5].Width = 60;

dataGridView4.Columns[6].Name = "Bank Mega Syariah"; dataGridView4.Columns[6].Width = 50;


(14)

DataGridViewRow a1 = new DataGridViewRow(); dataGridView4.Rows.Add(a1);

DataGridViewRow a2 = new DataGridViewRow(); dataGridView4.Rows.Add(a2);

DataGridViewRow a3 = new DataGridViewRow(); dataGridView4.Rows.Add(a3);

DataGridViewRow a4 = new DataGridViewRow(); dataGridView4.Rows.Add(a4);

DataGridViewRow a5 = new DataGridViewRow(); dataGridView4.Rows.Add(a5);

DataGridViewRow a6 = new DataGridViewRow(); dataGridView4.Rows.Add(a6);

DataGridViewRow a7 = new DataGridViewRow(); dataGridView4.Rows.Add(a7);

for (int a = 0; a <= 7; a++) for (int c = 0; c <= 7; c++)

dataGridView4.Rows[a].Cells[c].Value = C[a, c];

sw1.Stop(); koneksi.Open();

MySqlCommand cmd1 = new MySqlCommand("UPDATE waktu SET electre='" + sw1.Elapsed.Seconds + " Detik, " + sw1.Elapsed.Milliseconds + " Milidetik '", koneksi);

cmd1.ExecuteNonQuery(); koneksi.Close(); }

private void disc_Click(object sender, EventArgs e) {

label2.Text = "Menghitung matriks discordance"; sw1.Start();

dataGridView2.Visible = false; dataGridView3.Visible = false; dataGridView4.Visible = false; dataGridView5.Visible = true; dataGridView6.Visible = false; dataGridView7.Visible = false; dataGridView8.Visible = false; dataGridView9.Visible = false; textBox1.Visible = false; dataGridView5.Rows.Clear(); for (int a = 0; a <= 7; a++) for (int c = 0; c <= 7; c++) {

disc = 0; z = 0; perdisc = 0; disc1 = 0; perdisc1 = 0;

if (a == c) C[a, c] = 0; else


(15)

if (perdisc > perdisc1) perdisc1 = perdisc; if (v[a, z] < v[c, z]) {

disc = Math.Abs(v[a, z] - v[c, z]); if (disc > disc1)

disc1 = disc; }

z++; }

D[a, c] = disc1/perdisc1; totalD += D[a, c];

} }

dataGridView5.Columns[0].Name = "BRI Syariah"; dataGridView5.Columns[0].Width = 50;

dataGridView5.Columns[1].Name = "BNI Syariah"; dataGridView5.Columns[1].Width = 50;

dataGridView5.Columns[2].Name = "Bank Syariah Bukopin"; dataGridView5.Columns[2].Width = 50;

dataGridView5.Columns[3].Name = "BTN Syariah"; dataGridView5.Columns[3].Width = 50;

dataGridView5.Columns[4].Name = "Bank SUMUT Syariah"; dataGridView5.Columns[4].Width = 50;

dataGridView5.Columns[5].Name = "Bank Muamalat"; dataGridView5.Columns[5].Width = 60;

dataGridView5.Columns[6].Name = "Bank Mega Syariah"; dataGridView5.Columns[6].Width = 50;

dataGridView5.Columns[7].Name = "Bank Syariah Mandiri"; dataGridView5.Columns[7].Width = 50;

DataGridViewRow a1 = new DataGridViewRow(); dataGridView5.Rows.Add(a1);

DataGridViewRow a2 = new DataGridViewRow(); dataGridView5.Rows.Add(a2);

DataGridViewRow a3 = new DataGridViewRow(); dataGridView5.Rows.Add(a3);

DataGridViewRow a4 = new DataGridViewRow(); dataGridView5.Rows.Add(a4);

DataGridViewRow a5 = new DataGridViewRow(); dataGridView5.Rows.Add(a5);

DataGridViewRow a6 = new DataGridViewRow(); dataGridView5.Rows.Add(a6);

DataGridViewRow a7 = new DataGridViewRow(); dataGridView5.Rows.Add(a7);

for (int a = 0; a <= 7; a++) for (int c = 0; c <= 7; c++)

dataGridView5.Rows[a].Cells[c].Value = System.Math.Round(D[a, c],2);

sw1.Stop(); koneksi.Open();

MySqlCommand cmd1 = new MySqlCommand("UPDATE waktu SET electre='" + sw1.Elapsed.Seconds + " Detik, " + sw1.Elapsed.Milliseconds + " Milidetik '", koneksi);


(16)

private void dconc_Click(object sender, EventArgs e) {

label2.Text = "Menentukan matriks dominan concordance"; sw1.Start();

dataGridView2.Visible = false; dataGridView3.Visible = false; dataGridView4.Visible = false; dataGridView5.Visible = false; dataGridView6.Visible = true; dataGridView7.Visible = false; dataGridView8.Visible = false; dataGridView9.Visible = false; textBox1.Visible = false;

dataGridView6.Rows.Clear(); cThres = totalC / (8 * (8 - 1)); for (int a = 0; a <= 7; a++) for (int c = 0; c <= 7; c++) {

if (C[a,c] >= cThres) E[a,c] = 1; else

E[a,c] = 0; }

dataGridView6.Columns[0].Name = "BRI Syariah"; dataGridView6.Columns[0].Width = 50;

dataGridView6.Columns[1].Name = "BNI Syariah"; dataGridView6.Columns[1].Width = 50;

dataGridView6.Columns[2].Name = "Bank Syariah Bukopin"; dataGridView6.Columns[2].Width = 50;

dataGridView6.Columns[3].Name = "BTN Syariah"; dataGridView6.Columns[3].Width = 50;

dataGridView6.Columns[4].Name = "Bank SUMUT Syariah"; dataGridView6.Columns[4].Width = 50;

dataGridView6.Columns[5].Name = "Bank Muamalat"; dataGridView6.Columns[5].Width = 60;

dataGridView6.Columns[6].Name = "Bank Mega Syariah"; dataGridView6.Columns[6].Width = 50;

dataGridView6.Columns[7].Name = "Bank Syariah Mandiri"; dataGridView6.Columns[7].Width = 50;

DataGridViewRow a1 = new DataGridViewRow(); dataGridView6.Rows.Add(a1);

DataGridViewRow a2 = new DataGridViewRow(); dataGridView6.Rows.Add(a2);

DataGridViewRow a3 = new DataGridViewRow(); dataGridView6.Rows.Add(a3);

DataGridViewRow a4 = new DataGridViewRow(); dataGridView6.Rows.Add(a4);

DataGridViewRow a5 = new DataGridViewRow(); dataGridView6.Rows.Add(a5);

DataGridViewRow a6 = new DataGridViewRow(); dataGridView6.Rows.Add(a6);


(17)

for (int a = 0; a <= 7; a++) for (int c = 0; c <= 7; c++)

dataGridView6.Rows[a].Cells[c].Value = System.Math.Round(E[a,c],2);

sw1.Stop(); koneksi.Open();

MySqlCommand cmd1 = new MySqlCommand("UPDATE waktu SET electre='" + sw1.Elapsed.Seconds + " Detik, " + sw1.Elapsed.Milliseconds + " Milidetik '", koneksi);

cmd1.ExecuteNonQuery(); koneksi.Close(); }

private void ddisc_Click(object sender, EventArgs e) {

label2.Text = "Menentukan matriks dominan discordance"; sw1.Start();

dataGridView2.Visible = false; dataGridView3.Visible = false; dataGridView4.Visible = false; dataGridView5.Visible = false; dataGridView6.Visible = false; dataGridView7.Visible = true; dataGridView8.Visible = false; dataGridView9.Visible = false; textBox1.Visible = false;

dataGridView7.Rows.Clear(); dThres = totalD / (8 * (8 - 1)); for (int a = 0; a <= 7; a++) for (int c = 0; c <= 7; c++) {

if (D[a, c] >= dThres) F[a, c] = 1; else

F[a, c] = 0; }

dataGridView7.Columns[0].Name = "BRI Syariah"; dataGridView7.Columns[0].Width = 50;

dataGridView7.Columns[1].Name = "BNI Syariah"; dataGridView7.Columns[1].Width = 50;

dataGridView7.Columns[2].Name = "Bank Syariah Bukopin"; dataGridView7.Columns[2].Width = 50;

dataGridView7.Columns[3].Name = "BTN Syariah"; dataGridView7.Columns[3].Width = 50;

dataGridView7.Columns[4].Name = "Bank SUMUT Syariah"; dataGridView7.Columns[4].Width = 50;

dataGridView7.Columns[5].Name = "Bank Muamalat"; dataGridView7.Columns[5].Width = 60;

dataGridView7.Columns[6].Name = "Bank Mega Syariah"; dataGridView7.Columns[6].Width = 50;

dataGridView7.Columns[7].Name = "Bank Syariah Mandiri"; dataGridView7.Columns[7].Width = 50;


(18)

DataGridViewRow a2 = new DataGridViewRow(); dataGridView7.Rows.Add(a2);

DataGridViewRow a3 = new DataGridViewRow(); dataGridView7.Rows.Add(a3);

DataGridViewRow a4 = new DataGridViewRow(); dataGridView7.Rows.Add(a4);

DataGridViewRow a5 = new DataGridViewRow(); dataGridView7.Rows.Add(a5);

DataGridViewRow a6 = new DataGridViewRow(); dataGridView7.Rows.Add(a6);

DataGridViewRow a7 = new DataGridViewRow(); dataGridView7.Rows.Add(a7);

for (int a = 0; a <= 7; a++) for (int c = 0; c <= 7; c++)

dataGridView7.Rows[a].Cells[c].Value = System.Math.Round(F[a, c],2);

sw1.Stop(); koneksi.Open();

MySqlCommand cmd1 = new MySqlCommand("UPDATE waktu SET electre='" + sw1.Elapsed.Seconds + " Detik, " + sw1.Elapsed.Milliseconds + " Milidetik '", koneksi);

cmd1.ExecuteNonQuery(); koneksi.Close(); }

private void aggregate_Click(object sender, EventArgs e) {

label2.Text = "Menentukan aggregate dominan matriks"; sw1.Start();

dataGridView2.Visible = false; dataGridView3.Visible = false; dataGridView4.Visible = false; dataGridView5.Visible = false; dataGridView6.Visible = false; dataGridView7.Visible = false; dataGridView8.Visible = true; dataGridView9.Visible = false; textBox1.Visible = false;

dataGridView8.Rows.Clear(); for (int a = 0; a <= 7; a++) for (int c = 0; c <= 7; c++) {

G[a, c] = E[a, c] * F[a, c]; }

dataGridView8.Columns[0].Name = "BRI Syariah"; dataGridView8.Columns[0].Width = 50;

dataGridView8.Columns[1].Name = "BNI Syariah"; dataGridView8.Columns[1].Width = 50;

dataGridView8.Columns[2].Name = "Bank Syariah Bukopin"; dataGridView8.Columns[2].Width = 50;


(19)

dataGridView8.Columns[5].Name = "Bank Muamalat"; dataGridView8.Columns[5].Width = 60;

dataGridView8.Columns[6].Name = "Bank Mega Syariah"; dataGridView8.Columns[6].Width = 50;

dataGridView8.Columns[7].Name = "Bank Syariah Mandiri"; dataGridView8.Columns[7].Width = 50;

DataGridViewRow a1 = new DataGridViewRow(); dataGridView8.Rows.Add(a1);

DataGridViewRow a2 = new DataGridViewRow(); dataGridView8.Rows.Add(a2);

DataGridViewRow a3 = new DataGridViewRow(); dataGridView8.Rows.Add(a3);

DataGridViewRow a4 = new DataGridViewRow(); dataGridView8.Rows.Add(a4);

DataGridViewRow a5 = new DataGridViewRow(); dataGridView8.Rows.Add(a5);

DataGridViewRow a6 = new DataGridViewRow(); dataGridView8.Rows.Add(a6);

DataGridViewRow a7 = new DataGridViewRow(); dataGridView8.Rows.Add(a7);

for (int a = 0; a <= 7; a++) for (int c = 0; c <= 7; c++)

dataGridView8.Rows[a].Cells[c].Value = System.Math.Round(G[a, c],2);

sw1.Stop(); koneksi.Open();

MySqlCommand cmd1 = new MySqlCommand("UPDATE waktu SET electre='" + sw1.Elapsed.Seconds + " Detik, " + sw1.Elapsed.Milliseconds + " Milidetik '", koneksi);

cmd1.ExecuteNonQuery(); koneksi.Close(); }

private void eliminasi_Click(object sender, EventArgs e) {

label2.Text = "Eliminasi alternatif yang less favorable"; sw1.Start();

dataGridView2.Visible = false; dataGridView3.Visible = false; dataGridView4.Visible = false; dataGridView5.Visible = false; dataGridView6.Visible = false; dataGridView7.Visible = false; dataGridView8.Visible = false; dataGridView9.Visible = true; textBox1.Visible = true; dataGridView9.Rows.Clear(); for (int a = 0; a <= 7; a++) {

hasilAkhir[a] = 0;

for (int c = 0; c <= 7; c++) hasilAkhir[a] += G[a, c];


(20)

dataGridView9.Columns[1].Name = "Hasil"; DataGridViewRow a1 = new DataGridViewRow(); dataGridView9.Rows.Add(a1);

DataGridViewRow a2 = new DataGridViewRow(); dataGridView9.Rows.Add(a2);

DataGridViewRow a3 = new DataGridViewRow(); dataGridView9.Rows.Add(a3);

DataGridViewRow a4 = new DataGridViewRow(); dataGridView9.Rows.Add(a4);

DataGridViewRow a5 = new DataGridViewRow(); dataGridView9.Rows.Add(a5);

DataGridViewRow a6 = new DataGridViewRow(); dataGridView9.Rows.Add(a6);

DataGridViewRow a7 = new DataGridViewRow(); dataGridView9.Rows.Add(a7);

for (int a = 0; a <= 7; a++) for (int c = 0; c <= 7; c++) {

if (a == 0)

namaBank[a] = "BRI Syariah"; else if (a == 1)

namaBank[a] = "BNI Syariah"; else if (a == 2)

namaBank[a] = "Bank Syariah Bukopin"; else if (a == 3)

namaBank[a] = "BTN Syariah"; else if (a == 4)

namaBank[a] = "Bank SUMUT Syariah"; else if (a == 5)

namaBank[a] = "Bank Muamalat"; else if (a == 6)

namaBank[a] = "Bank Mega Syariah"; else if (a == 7)

namaBank[a] = "Bank Syariah Mandiri"; dataGridView9.Rows[a].Cells[1].Value = System.Math.Round(hasilAkhir[a],2);

dataGridView9.Rows[a].Cells[0].Value = namaBank[a]; double maxValue = hasilAkhir.Max();

int maxIndex = hasilAkhir.ToList().IndexOf(maxValue); string lf = "";

for (int i = 0; i <= 7; i++) if (G[maxIndex, i] != 0)

lf = lf + namaBank[i] + " | ";

textBox1.Text = "Alternatif "+namaBank[maxIndex]+", Lebih Baik Daripada "+lf;

} sw1.Stop(); koneksi.Open();

MySqlCommand cmd1 = new MySqlCommand("UPDATE waktu SET electre='" + sw1.Elapsed.Seconds + " Detik, " + sw1.Elapsed.Milliseconds + " Milidetik '", koneksi);


(21)

private void simpan_Click(object sender, EventArgs e) {

sw1.Start(); koneksi.Open();

DataTable dt = new DataTable();

MySqlDataAdapter da = new MySqlDataAdapter("delete from tb_electre", koneksi);

da.Fill(dt); koneksi.Close();

for (int a = 0; a <= 7; a++) {

koneksi.Open();

MySqlCommand cmd = new MySqlCommand("Insert into tb_electre values(@namabank,@hasil)", koneksi);

cmd.Parameters.Add(@"namabank", namaBank[a]); cmd.Parameters.Add(@"hasil",

System.Math.Round(hasilAkhir[a],2)); cmd.ExecuteNonQuery(); koneksi.Close(); }

MessageBox.Show("Data Berhasil Disimpan", MessageBoxButtons.OK,

MessageBoxIcon.None, MessageBoxDefaultButton.Button1);

sw1.Stop(); koneksi.Open();

MySqlCommand cmd1 = new MySqlCommand("UPDATE waktu SET electre='" + sw1.Elapsed.Seconds + " Detik, " + sw1.Elapsed.Milliseconds + " Milidetik '", koneksi);

cmd1.ExecuteNonQuery(); koneksi.Close(); }

private void perbandingaToolStripMenuItem_Click(object sender,

EventArgs e) {

this.Hide();

Perbandingan newperbandingan = new Perbandingan(); newperbandingan.Show();

} } }

Perbandingan.cs using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data;

using System.Drawing; using System.Linq; using System.Text;

using System.Threading.Tasks; using System.Windows.Forms; using MySql.Data.MySqlClient;


(22)

{

public MySqlConnection koneksi = new

MySqlConnection("server=localhost;database=skripsi;uid=root;pwd=''"); public Perbandingan()

{

InitializeComponent(); this.FormBorderStyle =

System.Windows.Forms.FormBorderStyle.FixedSingle; }

private void mFEPToolStripMenuItem_Click(object sender, EventArgs e) {

this.Hide();

Mfep newmfep = new Mfep(); newmfep.Show();

}

private void eLECTREToolStripMenuItem_Click_1(object sender, EventArgs

e)

{

this.Hide();

Electre newelectre = new Electre(); newelectre.Show();

}

private void exitToolStripMenuItem_Click(object sender, EventArgs e) {

this.Hide();

Form1 newform = new Form1(); newform.Show();

}

private void perbandinganToolStripMenuItem_Click(object sender,

EventArgs e) {

this.Hide();

Perbandingan newform = new Perbandingan(); newform.Show();

}

private void mfep_Click(object sender, EventArgs e) {

koneksi.Open();

DataTable dt = new DataTable();

MySqlDataAdapter da = new MySqlDataAdapter("select*from tb_mfep", koneksi);

da.Fill(dt);

dataGridView1.DataSource = dt.DefaultView; koneksi.Close();

koneksi.Open();

MySqlCommand cm = new MySqlCommand("select*from waktu", koneksi); MySqlDataReader dr = cm.ExecuteReader();

while (dr.Read()) {

textBox1.Text = dr["mfep"].ToString(); }


(23)

private void electre_Click(object sender, EventArgs e) {

koneksi.Open();

DataTable dt = new DataTable();

MySqlDataAdapter da = new MySqlDataAdapter("select*from tb_electre", koneksi);

da.Fill(dt);

dataGridView2.DataSource = dt.DefaultView; koneksi.Close();

koneksi.Open();

MySqlCommand cm = new MySqlCommand("select*from waktu", koneksi); MySqlDataReader dr = cm.ExecuteReader();

while (dr.Read()) {

textBox2.Text = dr["electre"].ToString(); }

dr.Close(); koneksi.Close(); }

} }


(24)

DAFTAR RIWAYAT HIDUP

Nama : Rezky Ariestia

Tempat, Tanggal Lahir : Medan, 18 April 1993 Jenis Kelamin : Perempuan

Alamat Sekarang : Jl. HM. Joni Lr. H No. 8 Medan Alamat Orang Tua : Jl. HM. Joni Lr. H No. 8 Medan

Hp : 081397001801

Email : rezkyariestia@gmail.com

PENDIDIKAN FORMAL

2011 – 2016 : S1 Ilmu Komputer Universitas Sumatera Utara, Medan 2008 – 2011 : SMA Negeri 6 Medan

2005 – 2008 : SMP Negeri 6 Medan 1999 – 2005 : SD Swasta Ksatria Medan 1998 – 1999 :TK Aisyiyah Bustanul Athfal


(25)

DAFTAR PUSTAKA

Anonim. 2012. Data ATM Tahun 2012. (Online) http://www.pemkomedan.go.id/databaru/data_atm_semua.pdf (13 Juni 2015)

Cormen, Thomas H, et all. 2009. Introduction to Algorithms Third Edition. London: MIT Press

Dahria, M., Ishak & Umi, F.Y. 2014. Pendukung Keputusan Seleksi Calon Polri Baru di Polda Kota Medan Menggunakan Metode Multifactor Evaluation Process (MFEP). Jurnal SAINTIKOM 13(2): 88-91

Jauhari, Jaidan. 2014. Sistem Pendukung Keputusan Berbasis Mobile untuk Penentuan Kredit Modal Kerja (KMK) Pada Suatu Bank. (Online) http://ejournal.unsri.ac.id/index.php/jsi/article/view/733 (31 Maret 2015)

Junindar. 2008. Panduan Lengkap Menjadi Programmer. Mediakita: Jakarta

Konidari, P. & Mavrakis, D. 2007. A multi-criteria evaluation method for climate change mitigation policy instruments. Energy Policy, 35(12): 6235-6257.

Kusrini. 2007. Konsep dan Aplikasi Sistem Pendukung Keputusan. Andi Offset: Yogyakarta

Kusumadewi, S., Sri Hartanti, Agus Hardjoko & Retantyo Wardoyo. 2006. Fuzzy Multiple Attribut Decision Making (Fuzzy MADM). Graha Ilmu: Yogyakarta

Kusumo, P.T. 2013. Penerapan Metode Electre untuk Penentuan Lokasi Pembangunan Menara BTS (Base Transceiver Station) pada PT. Indosat

Tbk-Solo. (Online)

http://repository.uksw.edu/bitstream/handle/123456789/2826/T1_68200705 0_FullText.pdf?sequence=2 (11 Maret 2015)


(26)

Mark V. & Hester P.T. 2013. An Analysis of Multi-Criteria Decision Making Methods. International Journal of Operations Research. 10(2): 62

Munawar, F. 2012. Ekonomi Syariah Perbankan Islam dan Manajemen Pendidikan di Era Global. Jurnal Pendidikan Agama Islam-Ta’lim 10(2): 178-181

Nasution, L.F. 2009. Perancangan Sistem Pendukung Keputusan Kredit Kepemilikan Rumah di Bank Syariah Cabang Medan. Skripsi. Universitas Sumatera Utara

Pinem, Adelina. 2014. Analisis dan Perbandingan Algoritma A* dan Kombinasi Floyd-Warsshall dengan Brute-Force pada Penentuan Jalur Monitoring di Badan Penanaman Modal Kota Medan. Skripsi. Universitas Sumatera Utara

Praditya, R.W. 2013. Sistem Pendukung Keputusan untuk Memilih Bank dengan Logika Fuzzy. Skripsi. Universitas STIKUBANK Semarang

Pratikto, Heri & Iis Sugianto. 2011. Kinerja Efisiensi Bank Syariah Sebelum dan Sesudah Krisis Global Berdasarkan Data Envelopment Analysis. (Online) http://fe.um.ac.id/wp-content/uploads/2009/10/4-Heri-Pratikto.pdf (9 April 2015)

Purwanto, Eko Budi. 2008. Perancangan & Analisis Algoritma. Yogyakarta: Graha Ilmu

Putra, A.G. 2014. Analisis Perbandingan Algoritma Greedy & Brute Force dalam Pencarian Kartu Tertinggi pada Kartu Remi. Skripsi. Universitas Sumatera Utara

Render, B. & Stair, M. R. Jr. 2002, Quanitative Analysis for Management, 7th Edition, Prentice Hall.


(27)

Salviana, Resvi. 2014. Analisis Segmentasi Nasabah Tabungan Berdasarkan Manfaat pada Bank Syariah Mandiri Cabng Padang. Skripsi. Universitas Negeri Padang

Setiyawati, A.D., Sulis, J.H. & Yoppy, M.M. 2014. Sistem Pendukung Keputusan Pembelian Barang Menggunakan Metode Electre. (Online) http://ppta.stikom.edu/upload/upload/file/04410100017Makalah.pdf (11 Maret 2015)

Siang, Jong Jek. 2006. Matematika Diskrit dan Aplikasinya pada Ilmu Komputer.

Yogyakarta: Andi

Tabungan BSM. 2010. http://www.syariahmandiri.co.id/category/consumer-banking/ (diakses 13 Juni 2015)

Tabungan BTN Batara iB. 2009. http://www.btn.co.id/id/Syariah/Produk/Produk-Dana/Tabungan-Batara-iB (diakses 13 Juni 2015)

Tabungan Faedah BRISyariah iB. 2011. http://brisyariah.co.id/?q=tabungan-brisyariah (diakses 13 Juni 2015)

Tabungan iB Baitullah Hasanah. 2011. http://www.bnisyariah.co.id/produk/bni-syariah-tabungan-haji-2 (diakses 13 Juni 2015)

Tabungan iB Martabe Wadiah. 2014. http://www.banksumut.com/statis-37-tabunganibmartabewadiah.html, 15 Desember 2014 (diakses 13 Juni 2015)

Tabungan Muamalat iB. 2013. http://bankmuamalat.co.id/produk/tabungan-muamalat-ib#.VtTE_n197IU (diakses 13 Juni 2015)

Tabungan iB Siaga. 2012. http://www.syariahbukopin.co.id/id/produk-dan-jasa/pendanaan/tabungan-ib-siaga (diakses 13 Juni 2015)

Tabungan Utama iB. 2012. http://megasyariah.co.id/#.funding-content1=product-and-services/funding/tabungan-utama-ib (diakses 13 Juni 2015)


(28)

Telaumbanua, P. 2011. Analisis Perbandingan Algoritma Kompresi Lempel Ziv Welch, Arithmetic Coding dan Run-Length Encoding pada File Teks. Universitas Sumatera Utara

Turban, Efraim. 2005. Sistem Pendukung Keputusan dan Sistem Cerdas. Andi: Yogyakarta

Ulfah, Maria. 2010. Analisa Perkembangan Asset, Dana Pihak Ketiga (DPK) dan Pembiayaan Perbankan Syariah di Indonesia. Skripsi. Universitas Gunadarma


(29)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Analisis sistem merupakan tahapan proses langkah demi langkah dalam pengembangan sistem yang berkualitas baik. Hasil analisis sistem nantinya akan menjadi dasar untuk melakukan perancangan atau desain perangkat lunak sesuai dengan kebutuhan sistem. Dengan adanya analisis sistem, sistem yang dirancang diharapkan akan lebih baik dan memudahkan dalam pengembangan sistem selanjutnya.

Pada penelitian ini, sistem yang akan dibangun adalah implementasi dari metode

Multifactor Evaluation Process (MFEP) dan metode ELimination Et Choix Traduisant la RealitE (ELECTRE) sebagai metode dalam sistem pendukung keputusan dimana sistem ini digunakan sebagai alat bantu (tools) dalam memilih bank syariah sebagai tempat untuk menabung.

3.2. Analisis Masalah

Banyaknya jumlah bank syariah yang menawarkan keunggulan yang berbeda-beda menyebabkan munculnya kriteria yang harus dipertimbangkan dalam memilih bank syariah sebagai tempat untuk menabung. Selain itu, nasabah selalu memiliki pertimbangan atau faktor-faktor sebelum mengambil suatu keputusan. Mulai dari jumlah unit counter ATM, nisbah/bagi hasil, biaya administrasi, jumlah setoran minimum, kemudahan bertransaksi sampai pelayanan merupakan kriteria yang harus dipertimbangkan dalam memilih bank syariah. Dalam hal ini nasabah harus jeli dalam memilh jenis tabungan syariah yang sesuai dengan kebutuhannya.

Penulis menggunakan diagram Ishikawa (fishbone diagram) sebagai alat bantu untuk menganalisis masalah dan kemungkinan penyebab masalah. Diagram ini juga


(30)

sering disebut sebagai diagram sebab-akibat atau diagram tulang ikan. Dengan menganalisis masalah dan kemungkinan penyebab masalah nantinya akan membantu dalam menganalisis kebutuhan sistem yang akan dikembangkan.

Gambar 3.1. Diagram Ishikawa untuk analisis masalah

Pada gambar 3.1. bagian kepala atau segiempat yang berada di sebelah kanan merupakan masalah. Sementara pada bagian tulang merupakan kemungkinan penyebab masalah. Selain itu, dapat dilihat bahwa Man (dalam penelitian ini Nasabah) sulit melakukan pemilihan tabungan syariah yang sesuai dengan kebutuhannya dikarenakan banyaknya alternatif dan kriteria yang harus dipertimbangkan dan belum tersedianya sistem yang dapat menjadi alat bantu (tools) untuk nasabah dalam memilih tabungan syariah.

Pada Diagram Ishikawa untuk analisis masalah, Machine (dalam penelitian ini Sistem Pendukung Keputusan) akan memberikan hasil pemilihan tabungan syariah yang sesuai dengan kebutuhan nasabah dan hasil perhitungan waktu kedua metode untuk mengetahui metode mana yang paling cepat dalam proses perhitungan. Metode yang diimplementasikan sebagai solusi untuk mengatasi masalah dalam penelitian ini adalah Metode Multifactor Evaluation Process (MFEP) dan Metode ELimination Et Choix Traduisant la RealiE (ELECTRE).


(31)

3.3. Analisis Kebutuhan Sistem

Tahap analisis kebutuhan sistem merupakan tahap lanjutan setelah tahap analisis masalah dan kemungkinan penyebab masalah dilakukan. Analisis kebutuhan sistem terdiri dari kebutuhan fungsional dan kebutuhan non-fungsional.

3.3.1. Kebutuhan fungsional

Kebutuhan fungsional merupakan kebutuhan yang harus dipenuhi oleh sistem. Pada penelitian ini, kebutuhan fungsional sistem yang akan dirancang adalah:

1. Sistem harus mampu memberikan solusi terhadap sistem pendukung keputusan dalam memilih tabungan syariah dengan mengimplementasikan metode MFEP

dan metode ELECTRE.

2. Menggunakan parameter running time (satuan waktu akses dalam detik dan milidetik).

3.3.2. Kebutuhan non-fungsional

Kebutuhan non-fungsional adalah kebutuhan yang dipenuhi oleh sistem dengan tujuan untuk mendukung kebutuhan fungsional yang sudah ditentukan. Pada penelitian ini, kebutuhan non-fungsional sistem yang akan dirancang adalah:

1. Sistem yang akan dibangun harus mudah digunakan oleh user dengan tampilan

(interface) yang sederhana dan mudah dimengerti sehingga dapat dioperasikan dengan baik oleh pengguna.

2. Sistem yang akan dibangun diharapkan mampu menjadi alat bantu (tools) bagi

user dalam memilih tabungan syariah yang sesuai dengan kebutuhan user.

3. Sistem yang telah dirancang diharapkan dapat dikembangkan kembali oleh pihak tertentu yang ingin mengembangkan sistem, sehingga solusi yang diberikan lebih efektif dan dapat melengkapi kekurangan yang ada pada sistem.

3.4. Analisis Kriteria

Dalam sistem pendukung keputusan ini, penulis mengambil data tabungan syariah yang terdapat di Medan, seperti data yang terdapat pada BRI Syariah, BNI Syariah, Bank Syariah Bukopin, BTN Syariah, Bank SUMUT Syariah, Bank Muamalat, Bank Mega Syariah dan Bank Syariah Mandiri. Kriteria yang digunakan dalam memilih


(32)

tabungan syariah adalah jumlah unit counter ATM, nisbah/bagi hasil, biaya administrasi, jumlah setoran minimum, kemudahan bertransaksi dan pelayanan.

3.4.1. Kriteria jumlah unit counter ATM

Jumlah unit counter ATM merupakan jumlah banyaknya tempat untuk mengambil uang secara tunai dari mesin atm maupun melalui teller. ATM yang dimaksudkan disini adalah ATM yang dimiliki oleh pihak bank. Kriteria jumlah unit counter ATM dibagi menjadi 3, yaitu: bernilai 1 jika sedikit (3-9 unit), bernilai 2 jika sedang (10-18 unit) dan bernilai 3 jika banyak (19-27 unit).

Tabel 3.1. Kriteria jumlah unit counter ATM

No. Nama bank syariah Jumlah unit counter ATM Nilai Keterangan

1. BRI Syariah 10 unit 2 Sedikit

2. BNI Syariah 3 unit 1 Sedikit

3. Bank Syariah Bukopin 4 unit 1 Sedikit

4. BTN Syariah 3 unit 1 Sedikit

5. Bank SUMUT Syariah 10 unit 2 Sedikit

6. Bank Muamalat 7 unit 1 Sedikit

7. Bank Mega syariah 8 unit 1 Sedikit

8. Bank Syariah Mandiri 27 unit 3 Banyak

Sumber: website masing-masing bank syariah per tanggal 13 Juni 2015

Tabel 3.1 merupakan nilai masing-masing alternatif (dalam penelitian ini bank syariah) untuk kriteria jumlah unit counter ATM. Pada Tabel 3.1 dapat dilihat bahwa Bank Syariah Mandiri memiliki jumlah unit counter ATM terbanyak, yaitu 27 unit.

3.4.2. Kriteria nisbah/bagi hasil

Nisbah/bagi hasil merupakan nisbah/sistem bagi hasil yang ditetapkan oleh bank, yang nantinya akan diterima oleh nasabah setiap bulannya. Kriteria nisbah/bagi hasil dibagi menjadi 3, yaitu: bernilai 1 jika rendah (2-10%), bernilai 2 jika sedang (11-19%) dan bernilai 3 jika tinggi (20-27%).

Tabel 3.2. Kriteria nisbah/bagi hasil

No. Nama bank syariah Nisbah/bagi hasil Nilai Keterangan

1. BRI Syariah 25 % 3 Tinggi

2. BNI Syariah 22 % 3 Tinggi

3. Bank Syariah Bukopin 2 % 1 Rendah

4. BTN Syariah 25 % 3 Tinggi


(33)

Tabel 3.2. Kriteria nisbah/bagi hasil (lanjutan)

No. Nama bank syariah Nisbah/bagi hasil Nilai Keterangan

5. Bank SUMUT Syariah 5 % 1 Rendah

6. Bank Muamalat 7,5 % 1 Rendah

7. Bank Mega syariah 9 % 1 Rendah

8. Bank Syariah Mandiri 27 % 3 Tinggi

Sumber: website masing-masing bank syariah per tanggal 13 Juni 2015

Tabel 3.2 merupakan nilai masing-masing alternatif (dalam penelitian ini bank syariah) untuk kriteria nisbah/bagi hasil. Pada Tabel 3.2 dapat dilihat bahwa BRI Syariah, BNI Syariah, BTN Syariah dan Bank Syariah Mandiri memiliki kriteria nisbah/bagi hasil yang tinggi.

3.4.3. Kriteria biaya administrasi

Biaya administrasi merupakan biaya potongan yang dibebankan kepada nasabah setiap bulannya. Kriteria biaya administrasi dibagi menjadi 3, yaitu: bernilai 1 jika besar (Rp. 11.000 – Rp.15.000), bernilai 2 jika sedang (Rp. 6.000 – Rp. 10.000) dan bernilai 3 jika kecil (Rp.0 – Rp. 5.000).

Tabel 3.3. Kriteria biaya administrasi

No. Nama bank syariah Biaya administrasi Nilai Keterangan

1. BRI Syariah Rp. 12.500 1 Besar

2. BNI Syariah Rp. 5.000 3 Kecil

3. Bank Syariah Bukopin Bebas Biaya 3 Kecil

4. BTN Syariah Rp. 10.000 2 Sedang

5. Bank SUMUT Syariah Rp. 2.000 3 Kecil

6. Bank Muamalat Rp. 15.000 1 Besar

7. Bank Mega syariah Rp. 3.500 3 Kecil

8. Bank Syariah Mandiri Rp. 6.000 2 Sedang Sumber: website masing-masing bank syariah per tanggal 13 Juni 2015

Tabel 3.3 merupakan nilai masing-masing alternatif (dalam penelitian ini bank syariah) untuk kriteria biaya administrasi. Pada Tabel 3.3 dapat dilihat bahwa BRI Syariah dan Bank Muamalat memiliki kriteria biaya administrasi yang besar.

3.4.4. Kriteria jumlah setoran minimum

Jumlah setoran minimum merupakan biaya awal yang dibebankan kepada nasabah sebelum membuka rekening tabungan. Kriteria jumlah setoran minimum dibagi


(34)

menjadi 3, yaitu: bernilai 1 jika besar (Rp. 81.000 – Rp.100.000), bernilai 2 jika sedang (Rp. 61.000 – Rp. 80.000) dan bernilai 3 jika kecil (Rp. 50.000 – Rp. 60.000).

Tabel 3.4. Kriteria jumlah setoran minimum

No. Nama bank syariah Jumlah setoran minimum Nilai Keterangan

1. BRI Syariah Rp. 100.000 1 Besar

2. BNI Syariah Rp. 100.000 1 Besar

3. Bank Syariah Bukopin Rp. 50.000 3 Kecil

4. BTN Syariah Rp. 50.000 3 Kecil

5. Bank SUMUT Syariah Rp. 100.000 1 Besar

6. Bank Muamalat Rp. 100.000 1 Besar

7. Bank Mega syariah Rp. 100.000 1 Besar

8. Bank Syariah Mandiri Rp. 80.000 2 Sedang Sumber: website masing-masing bank syariah per tanggal 13 Juni 2015

Tabel 3.4 merupakan nilai masing-masing alternatif (dalam penelitian ini bank syariah) untuk kriteria jumlah setoran minimum. Pada Tabel 3.4 dapat dilihat bahwa Bank Syariah Mandiri memiliki kriteria jumlah setoran minimum yang sedang.

3.4.5. Kriteria kemudahan bertransaksi

Kemudahan bertransaksi merupakan fasilitas yang disediakan oleh pihak bank untuk memudahkan nasabah dalam melakukan transaksi, seperti: fasilitas Mobile Banking, SMS Banking, dan Internet Banking. Kriteria kemudahan bertransaksi dibagi menjadi 2, yaitu: bernilai 1 jika sulit (belum tersedia) dan bernilai 2 jika mudah (sudah tersedia).

Tabel 3.5. Kriteria kemudahan bertransaksi

No. Nama bank syariah Kemudahan bertransaksi Nilai Keterangan

1. BRI Syariah Sudah tersedia 2 Mudah

2. BNI Syariah Sudah tersedia 2 Mudah

3. Bank Syariah Bukopin Belum tersedia 1 Sulit

4. BTN Syariah Belum tersedia 1 Sulit

5. Bank SUMUT Syariah Belum tersedia 1 Sulit

6. Bank Muamalat Sudah tersedia 2 Mudah

7. Bank Mega syariah Belum tersedia 1 Sulit 8. Bank Syariah Mandiri Sudah tersedia 2 Mudah

Sumber: website masing-masing bank syariah per tanggal 13 Juni 2015

Tabel 3.5 merupakan nilai masing-masing alternatif (dalam penelitian ini bank syariah) untuk kriteria kemudahan bertransaksi. Pada Tabel 3.5 dapat dilihat bahwa


(35)

BRI Syariah, BNI Syariah, Bank Muamalat dan Bank Syariah Mandiri memiliki kriteria kemudahan bertransaksi yang mudah, dimana keempat bank syariah tersebut sudah mendukung tersedianya fasilitas Mobile Banking, SMS Banking, dan Internet Banking.

.

3.4.6. Kriteria pelayanan

Pelayanan merupakan jumlah customer service dan teller yang disediakan oleh pihak bank untuk melayani nasabah. Kriteria pelayanan dibagi menjadi 3, yaitu: bernilai 1 jika sedikit (2-4 orang), bernilai 2 jika sedang (4-5 orang) dan bernilai 3 jika banyak (6 orang).

Tabel 3.6. Kriteria pelayanan

No. Nama bank syariah Pelayanan Nilai Keterangan

1. BRI Syariah 2 – 4 orang 1 Sedikit

2. BNI Syariah 2 – 4 orang 1 Sedikit

3. Bank Syariah Bukopin 2 – 4 orang 1 Sedikit

4. BTN Syariah 2 – 5 orang 2 Sedang

5. Bank SUMUT Syariah 2 – 4 orang 1 Sedikit 6. Bank Muamalat 3 – 6 orang 3 Banyak 7. Bank Mega syariah 2 – 4 orang 1 Sedikit 8. Bank Syariah Mandiri 2 – 5 orang 2 Sedang Sumber: website masing-masing bank syariah per tanggal 13 Juni 2015

Tabel 3.6 merupakan nilai masing-masing alternatif (dalam penelitian ini bank syariah) untuk pelayanan. Pada Tabel 3.6 dapat dilihat bahwa Bank Muamalat memiliki jumlah customer service dan teller yang terbanyak, yaitu 3-6 orang.

3.5. Analisis Proses

3.5.1. Analisis proses penyelesaian masalah metode MFEP

Langkah pertama yang dilakukan dalam proses penyelesaian masalah dengan metode

MFEP adalah menentukan nilai bobot faktor dimana total pembobotan harus sama dengan 1. Pada penelitian ini, contoh nilai bobot faktor akan diinputkan oleh user ke dalam sistem dapat dilihat pada Tabel 3.7.


(36)

Tabel 3.7. Nilai bobot faktor

No. Kriteria Nilai bobot faktor 1. Jumlah unit counter ATM 0,2

2. Nisbah/bagi hasil 0,1

3. Biaya administrasi 0,1

4. Jumlah setoran minimum 0,1 5. Kemudahan bertransaksi 0,3

6. Pelayanan 0,2

Total pembobotan 1

Tabel 3.7 menunjukkan bahwa user menetapkan kriteria kemudahan bertransaksi merupakan faktor yang paling penting, sedangkan kriteria jumlah unit counter ATM dan kriteria pelayanan merupakan faktor kedua terpenting, dan seterusnya.

Langkah kedua dalam proses penyelesaian masalah dengan metode MFEP adalah memberikan nilai bobot untuk setiap alternatif pada setiap kriteria. Nilai bobot untuk setiap alternatif pada setiap kriteria dapat dilihat pada tabel 3.8.

Tabel 3.8. Nilai bobot untuk setiap alternatif pada setiap kriteria

Alternatif Kriteria yang digunakan

C1 C2 C3 C4 C5 C6

A1 2 3 1 1 2 1

A2 1 3 3 1 2 1

A3 1 1 3 3 1 1

A4 1 3 2 3 1 2

A5 2 1 3 1 1 1

A6 1 1 1 1 2 3

A7 1 1 3 1 1 1

A8 3 3 2 2 2 2

Tabel 3.8 merupakan nilai bobot untuk setiap alternatif pada setiap kriteria dimana A1 merupakan BRI Syariah, A2 merupakan BNI Syariah, A3 merupakan Bank Syariah Bukopin, A4 merupakan BTN Syariah, A5 merupakan Bank SUMUT Syariah, A6 merupakan Bank Muamalat, A7 merupakan Bank Mega Syariah, A8 merupakan Bank Syariah Mandiri dan C1 merupakan jumlah unit counter ATM, C2 merupakan nisbah/bagi hasil, C3 merupakan biaya administrasi, C4 merupakan jumlah setoran minimum, C5 merupakan kemudahan bertransaksi, C6 merupakan pelayanan.


(37)

Langkah selanjutnya dalam proses penyelesaian masalah dengan metode MFEP

adalah setiap nilai bobot faktor dikalikan evaluasi faktor.

A1 = (0,2 x 2) + (0,1 x 3) + (0,1 x 1) + (0,1 x 1) + (0,3 x 2) + (0,2 x 1) = 0.4 + 0.3 + 0.1 + 0.1 + 0.6 + 0.2

= 1.7

A2 = (0,2 x 1) + (0,1 x 3) + (0,1 x 3) + (0,1 x 1) + (0,3 x 2) + (0,2 x 1) = 0.2 + 0.3 + 0.3 + 0.1 + 0.6 + 0.2

= 1.7

A3 = (0,2 x 1) + (0,1 x 1) + (0,1 x 3) + (0,1 x 3) + (0,3 x 1) + (0,2 x 1) = 0,2 + 0,1 + 0,3 + 0,3 + 0,3+ 0,2

= 1,4

A4 = (0,2 x 1) + (0,1 x 3) + (0,1 x 2) + (0,1 x 3) + (0,3 x 1) + (0,2 x 2) = 0,2 + 0,3 + 0,2 + 0,3 + 0,3 + 0,4

= 1,7

A5 = (0,2 x 2) + (0,1 x 1) + (0,1 x 3) + (0,1 x 1) + (0,3 x 1) + (0,2 x 1) = 0,4 + 0,1 + 0,3 + 0,1 + 0,3 + 0,2

= 1,4

A6 = (0,2 x 1) + (0,1 x 1) + (0,1 x 1) + (0,1 x 1) + (0,3 x 2) + (0,2 x 3) = 0,2 + 0,1 + 0,1 + 0,1 + 0,6 + 0,6

= 1,7

A7 = (0,2 x 1) + (0,1 x 1) + (0,1 x 3) + (0,1 x 1) + (0,3 x 1) + (0,2 x 1) = 0,2 + 0,1 + 0,3 + 0,1 + 0,3 + 0,2

= 1,2

A8 = (0,2 x 3) + (0,1 x 3) + (0,1 x 2) + (0,1 x 2) + (0,3 x 2) + (0,2 x 2) = 0,6 + 0,3 + 0,2 + 0,2 + 0,6 + 0,4

= 2,3

Dari kedelapan alternatif, Bank Syariah Mandiri mendapat bobot faktor yang paling tinggi yaitu 2,3.


(38)

3.5.2. Analisis proses penyelesaian masalah metode ELECTRE

Langkah pertama yang dilakukan dalam proses penyelesaian masalah dengan metode

ELECTRE adalah menentukan nilai untuk pembobotan (w). Pada penelitian ini, contoh nilai untuk pembobotan (w) yang akan diinputkan oleh user ke dalam sistem adalah sebagai berikut:

W = (3, 2, 2, 2, 2, 3) (3.1)

Nilai untuk pembobotan (w) pada persamaan (3.1) menunjukkan bahwa user

menginginkan bahwa pada bank syariah tempat user akan menabung memiliki jumlah unit counter ATM yang banyak, mendukung fasilitas yang akan memudahkan dalam melakukan transaksi dan jumlah customer service dan teller yang banyak.

Langkah selanjutnya dalam proses penyelesaian masalah dengan metode

ELECTRE adalah membuat rating kecocokan dari setiap alternatif pada setiap kriteria. Rating kecocokan dari setiap alternatif pada setiap kriteria yang digunakan dalam penelitian ini sama dengan nilai bobot untuk setiap alternatif pada setiap kriteria dalam metode MFEP. Rating kecocokan dari setiap alternatif pada setiap kriteria dapat dilihat pada Tabel 3.8.

a. Normalisasi matriks keputusan

Matriks R merupakan normalisasi dari matriks X atau matriks keputusan yaitu dengan cara sebagai berikut:

|X1| =√ = 4,69 r11 =

= 0,43 r41 =

= 0,21 r71 =

= 0,21 r21 =

= 0,21 r51 =

= 0,43 r81 =

= 0,64 r31 =

= 0,21 r61 =

= 0,21

|X2| =√ = 6,32 r12 =

= 0,47 r42 =

= 0,47 r72 =

= 0,16 r22 =

= 0,47 r52 =

= 0,16 r82 =


(39)

r32 =

= 0,16 r62 =

= 0,16

|X3| =√ = 6,78 r13 =

= 0,15 r43 =

= 0,29 r73 =

= 0,44 r23 =

= 0,44 r53 =

= 0,44 r83 =

= 0,29 r33 =

= 0,44 r63 =

= 0,15

|X4| =√ = 5,20 r14 =

= 0,19 r44 =

= 0,58 r74 =

= 0,19 r24 =

= 0,19 r54 =

= 0,19 r84 =

= 0,38 r34 =

= 0,58 r64 =

= 0,19

|X5| =√ = 4,47 r15 =

= 0,45 r45 =

= 0,22 r75 =

= 0,22 r25 =

= 0,45 r55 =

= 0,22 r85 =

= 0,45 r35 =

= 0,22 r65 =

= 0,45

|X6| =√ = 4,69 r16 =

= 0,21 r46 =

= 0,43 r76 =

= 0,21 r26 =

= 0,21 r56 =

= 0,21 r86 =

= 0,43 r36 =

= 0,21 r66 =

= 0,64


(40)

R = [ ]

b. Pembobotan pada matriks yang telah dinormalisasi

Matriks V, dihitung dengan Persamaan (2.2) yaitu sebagai berikut: V11 = w1r11 = (3) (0,43) = 1,28

V21 = w1r21 = (3) (0,21) = 0,64 V31 = w1r31 = (3) (0,21) = 0,64 V41 = w1r41 = (3) (0,21) = 0,64 V51 = w1r51 = (3) (0,43) = 1,28 V61 = w1r61 = (3) (0,21) = 0,64 V71 = w1r71 = (3) (0,21) = 0,64 V81 = w1r81 = (3) (0,64) = 1,92 V12 = w2r12 = (2) (0,47) = 0,95 V22 = w2r22 = (2) (0,47) = 0,95 V32 = w2r32 = (2) (0,16) = 0,32 V42 = w2r42 = (2) (0,47) = 0,95 V52 = w2r52 = (2) (0,16) = 0,32 V62 = w2r62 = (2) (0,16) = 0,32 V72 = w2r72 = (2) (0,16) = 0,32 V82 = w2r82 = (2) (0,47) = 0,95 V13 = w3r13 = (2) (0,15) = 0,29 V23 = w3r23 = (2) (0,44) = 0,88 V33 = w3r33 = (2) (0,44) = 0,88 V43 = w3r43 = (2) (0,29) = 0,59 V53 = w3r53 = (2) (0,44) = 0,88 V63 = w3r63 = (2) (0,15) = 0,29 V73 = w3r73 = (2) (0,44) = 0,88 V83 = w3r83 = (2) (0,29) = 0,59

V14 = w4r14 = (2) (0,19) = 0,38 V24 = w4r24 = (2) (0,19) = 0,38 V34 = w4r34 = (2) (0,58) = 1,15 V44 = w4r44 = (2) (0,58) = 1,15 V54 = w4r54 = (2) (0,19) = 0,38 V64 = w4r64 = (2) (0,19) = 0,38 V74 = w4r74 = (2) (0,19) = 0,38 V84 = w4r84 = (2) (0,38) = 0,77 V15 = w5r15 = (2) (0,45) = 0,89 V25 = w5r25 = (2) (0,45) = 0,89 V35 = w5r35 = (2) (0,22) = 0,45 V45 = w5r45 = (2) (0,22) = 0,45 V55 = w5r55 = (2) (0,22) = 0,45 V65 = w5r65 = (2) (0,45) = 0,89 V75 = w5r75 = (2) (0,22) = 0,45 V85 = w5r85 = (2) (0,45) = 0,89 V16 = w6r16 = (3) (0,21) = 0,64 V26 = w6r26 = (3) (0,21) = 0,64 V36 = w6r36 = (3) (0,21) = 0,64 V46 = w6r46 = (3) (0,43) = 1,28 V56 = w6r56 = (3) (0,21) = 0,64 V66 = w6r66 = (3) (0,64) = 1,92 V76 = w6r76 = (3) (0,21) = 0,64 V86 = w6r86 = (3) (0,43) = 1,28


(41)

Maka, hasil dari matriks V adalah sebagai berikut: V = [ ]

c. Menentukan concordance dan discordance set Himpunan concordance dapat dilihat pada Tabel 3.9.

Tabel 3.9. Himpunan concordance

Ckl Himpunan c12 {1,2,4,5,6} c13 {1,2,5,6} c14 {1,2,5} c15 {1,2,4,5,6} c16 {1,2,3,4,5} c17 {1,2,4,5,6} c18 {2,5} c21 {2,3,4,5,6} c23 {1,2,3,5,6} c24 {1,2,3,5} c25 {2,3,4,5,6} c26 {1,2,3,4,5} c27 {1,2,3,4,5,6} c28 {2,3,5} c31 {3,4,6} c32 {1,3,4,6} c34 {1,3,4,5} c35 {2,3,4,5,6} c36 {1,2,3,4} c37 {1,2,3,4,5,6} c38 {3,4}

c41 {2,3,4,6} c42 {1,2,4,6} c43 {1,2,4,5,6} c45 {2,4,5,6} c46 {1,2,3,4} c47 {1,2,4,5,6} c48 {2,3,4,6} c51 {1,3,4,6}


(42)

Tabel 3.9. Himpunan concordance (lanjutan) Ckl Himpunan

c52 {1,3,4,6} c53 {1,2,3,5,6} c54 {1,3,5} c56 {1,2,3,4} c57 {1,2,3,4,5,6} c58 {3}

c61 {3,4,5,6} c62 {1,4,5,6} c63 {1,2,5,6} c64 {1,5,6} c65 {2,4,5,6} c67 {1,2,4,5,6} c68 {5,6} c71 {3,4,6} c72 {1,3,4,6} c73 {1,2,3,5,6} c74 {1,3,5} c75 {2,3,4,5,6} c76 {1,2,3,4} c78 {3}

c81 {1,2,3,4,5,6} c82 {1,2,4,5,6} c83 {1,2,5,6} c84 {1,2,3,5,6} c85 {1,2,4,5,6} c86 {1,2,3,4,5} c87 {1,2,4,5,6}

Tabel 3.9 merupakan hasil perhitungan himpunan concordance. Himpunan

concordance ditentukan dari matriks V sesuai dengan Persamaan (2.3), setelah itu untuk himpunan discordance ditentukan sesuai dengan Persamaan (2.4). Himpunan

discordance dapat dilihat pada tabel 3.10.

Tabel 3.10. Himpunan discordance Dkl Himpunan

d12 {3} d13 {3,4} d14 {3,4,6} d15 {3} d16 {6} d17 {3} d18 {1,3,4,6}


(43)

Tabel 3.10. Himpunan discordance (lanjutan) Dkl Himpunan

d21 {1} d23 {4} d24 {4,6} d25 {1} d26 {6} d27 {} d28 {1,4,6} d31 {1,2,5} d32 {2,5} d34 {2,6} d35 {1} d36 {5,6} d37 {} d38 {1,2,5,6} d41 {1,5} d42 {3,5} d43 {3} d45 {1,3} d46 {5,6} d47 {3} d48 {1,5} d51 {2,5} d52 {2,5} d53 {4} d54 {2,4,6} d56 {5,6} d57 {}

d58 {1,2,4,5,6} d61 {1,2} d62 {2,3} d63 {3,4} d64 {2,3,4} d65 {1,3} d67 {3} d68 {1,2,3,4} d71 {1,2,5} d72 {2,5} d73 {4} d74 {2,4,6} d75 {1} d76 {5,6} d78 {1,2,4,5,6} d81 {}

d82 {3} d83 {3,4}


(44)

Tabel 3.10. Himpunan discordance (lanjutan) Dkl Himpunan

d84 {4} d85 {3} d86 {6} d87 {3}

Tabel 3.10 merupakan hasil perhitungan himpunan discordance. Himpunan

discordance juga ditentukan dari matriks V sesuai dengan Persamaan (2.4).

d. Hitung matriks concordance dan discordance

Untuk menentukan matriks c sesuai Persamaan (2.5) yaitu sebagai berikut:

C12 = w1 + w2 + w4 + w5 + w6 = 3 + 2 + 2 + 2 + 3 = 12 C13 = w1 + w2 + w5 + w6 = 3 + 2 + 2 + 3 = 10

C14 = w1 + w2 + w5 = 3 + 2 + 2 = 7

C15 = w1 + w2 + w4 + w5 + w6 = 3 + 2 + 2 + 2 + 3 = 12 C16 = w1 + w2 + w3 + w4 + w5 = 3 + 2 + 2 + 2 + 2 = 11 C17 = w1 + w2 + w4 + w5 + w6 = 3 + 2 + 2 + 2 + 3 = 12 C18 = w2 + w5 = 2 + 2 = 4

C21 = w2 + w3 + w4 + w5 + w6 = 2 + 2 + 2 + 2 + 3 = 11 C23 = w1 + w2 + w3 + w5 + w6 = 3 + 2 + 2 + 2 + 3 = 12 C24 = w1 + w2 + w3 + w5 = 3 + 2 + 2 + 2 = 9

C25 = w2 + w3 + w4 + w5 + w6 = 2 + 2 + 2 + 2 + 3 = 11 C26 = w1 + w2 + w3 + w4 + w5 = 3 + 2 + 2 + 2 + 2 = 11

C27 = w1 + w2 + w3 + w4 + w5 + w6 = 3 + 2 + 2 + 2 + 2 + 3 = 14 C28 = w2 + w3 + w5 = 2 + 2 + 2 = 6

C31 = w3 + w4 + w6 = 2 + 2 + 3 = 7

C32 = w1 + w3 + w4 + w6 = 3 + 2 + 2 + 3 = 10 C34 = w1 + w3 + w4 + w5 = 3 + 2 + 2 + 2 = 9

C35 = w2 + w3 + w4 + w5 + w6 = 2 + 2 + 2 + 2 + 3 = 11 C36 = w1 + w2 + w3 + w4 = 3 + 2 + 2 + 2 = 9


(45)

C38 = w3 + w4 = 2 + 2 + 2 = 4

C41 = w2 + w3 + w4 + w6 = 2 + 2 + 2 + 3 = 9 C42 = w1 + w2 + w4 + w6 = 3 + 2 + 2 + 3 = 10

C43 = w1 + w2 + w4 + w5 + w6 = 3 + 2 + 2 + 2 + 3 = 12 C45 = w2 + w4 + w5 + w6 = 2 + 2 + 2 + 3 = 9

C46 = w1 + w2 + w3 + w4 = 3 + 2 + 2 + 2 = 9

C47 = w1 + w2 + w4 + w5 + w6 = 3 + 2 + 2 + 2 + 3 = 12 C48 = w2 + w3 + w4 + w6 = 2 + 2 + 2 + 3 = 9

C51 = w1 + w3 + w4 + w6 = 3 + 2 + 2 + 3 = 10 C52 = w1 + w3 + w4 + w6 = 3 + 2 + 2 + 3 = 10

C53 = w1 + w2 + w3 + w5 + w6 = 3 + 2 + 2 + 2 + 3 = 12 C54 = w1 + w3 + w5 = 3 + 2 + 2 = 7

C56 = w1 + w2 + w3 + w4 = 3 + 2 + 2 + 2 = 9

C57 = w1 + w2 + w3 + w4 + w5 + w6 = 3 + 2 + 2 + 2 + 2 + 3 = 14 C58 = w3 = 2

C61 = w3 + w4 + w5 + w6 = 2 + 2 + 2 + 3 = 9 C62 = w1 + w4 + w5 + w6 = 3 + 2 + 2 + 3 = 10 C63 = w1 + w2 + w5 + w6 = 3 + 2 + 2 + 3 = 10 C64 = w1 + w5 + w6 = 3 + 2 + 3 = 8

C65 = w2 + w4 + w5 + w6 = 2 + 2 + 2 + 3 = 9

C67 = w1 + w2 + w4 + w5 + w6 = 3 + 2 + 2 + 2 + 3 = 12 C68 = w5 + w6 = 2 + 3 = 5

C71 = w3 + w4 + w6 = 3 + 2 + 2 + 3 = 7 C72 = w1 + w3 + w4 + w6 = 3 + 2 + 2 + 3 = 10

C73 = w1 + w2 + w3 + w5 + w6 = 3 + 2 + 2 + 2 + 3 = 12 C74 = w1 + w3 + w5 = 3 + 2 + 2 = 7

C75 = w2 + w3 + w4 + w5 + w6 = 2 + 2 + 2 + 2 + 3 = 11 C76 = w1 + w2 + w3 + w4 = 3 + 2 + 2 + 2 = 9


(46)

C81 = w1 + w2 + w3 + w4 + w5 + w6 = 3 + 2 + 2 + 2 + 2 + 3 = 14 C82 = w1 + w2 + w4 + w5 + w6 = 3 + 2 + 2 + 2 + 3 = 12

C83 = w1 + w2 + w5 + w6 = 3 + 2 + 2 + 3 = 10

C84 = w1 + w2 + w3 + w5 + w6 = 3 + 2 + 2 + 2 + 3 = 12 C85 = w1 + w2 + w4 + w5 + w6 = 3 + 2 + 2 + 2 + 3 = 12 C86 = w1 + w2 + w3 + w4 + w5 = 3 + 2 + 2 + 2 + 2 = 11 C87 = w1 + w2 + w4 + w5 + w6 = 3 + 2 + 2 + 2 + 3 = 12

Maka, hasil dari matriks C adalah sebagai berikut:

C =

[

]

Matriks C merupakan matriks concordance. Matriks C diperoleh dari himpunan

concordance dengan menambah bobot yang termasuk dalam himpunan concordance

sehingga diperoleh nilai-nilai seperti pada Matriks C tersebut. Sedangkan matriks D merupakan matriks discordance, untuk menentukan matriks D diperoleh dari himpunan discordance dengan menggunakan elemen dkl berdasarkan Persamaan (2.6) yaitu sebagai berikut:

d12 =

{| |}

{| | | | | | | | | | | |}

= {| |}

{| | | | | | | | | | | |}

= 0,92

d13 =

{| | | |}

{| | | | | | | | | | | |}

= {| | | |}

{| | | | | | | | | | | |}

= 1

d14 =

{| | | | | |}

{| | | | | | | | | | | |}

= {| | | | | |}

{| | | | | | | | | | | |}

= 1

d15 =

{| |}


(47)

= {| |}

{| | | | | | | | | | | |}

= 0,93

d16 =

{| |} {| | | | | | | | | | | |}

= {| |} {| | | | | | | | | | | |}

= 1

d17 =

{| |} {| | | | | | | | | | | |}

= {| |} {| | | | | | | | | | | |}

= 0,92

d18 =

{| | | | | | | |} {| | | | | | | | | | | |}

= {| | | | | | | |} {| | | | | | | | | | | |}

= 1

d21 =

{| |} {| | | | | | | | | | | |}

= {| |} {| | | | | | | | | | | |}

= 1

d23 =

{| |} {| | | | | | | | | | | |}

= {| |} {| | | | | | | | | | | |}

= 1

d24 =

{| | | |} {| | | | | | | | | | | |}

= {| | | |} {| | | | | | | | | | | |}

= 1

d25 =

{| |} {| | | | | | | | | | | |}

= { } {| | | | | | | | | | | |}

= 1

d26 =

{| |} {| | | | | | | | | | | |}

= {| |} {| | | | | | | | | | | |}

= 1

d27 =

{ }

{| | | | | | | | | | | |}

= {| |}

{| | | | | | | | | | | |}

= 0

d28 =

{| | | | | |} {| | | | | | | | | | | |}

= {| | | | | |} {| | | | | | | | | | | |}

= 1


(48)

d31 = {| | | | | |} {| | | | | | | | | | | |}

= {| | | | | |} {| | | | | | | | | | | |}

= 0,83

d32 =

{| | | |} {| | | | | | | | | | | |}

= {| | | |} {| | | | | | | | | | | |}

= 0,82

d34 =

{| | | |} {| | | | | | | | | | | |}

= {| | | |} {| | | | | | | | | | | |}

= 1

d35 =

{| |} {| | | | | | | | | | | |}

= {| |} {| | | | | | | | | | | |}

= 0,83

d36 =

{| | | |} {| | | | | | | | | | | |}

= {| | | |} {| | | | | | | | | | | |}

= 1

d37 =

{ }

{| | | | | | | | | | | |}

= {| |}

{| | | | | | | | | | | |}

= 0

d38 =

{| | | | | | | |} {| | | | | | | | | | | |}

= {| | | | | | | |} {| | | | | | | | | | | |}

= 1

d41 =

{| | | |} {| | | | | | | | | | | |}

= {| | | |} {| | | | | | | | | | | |}

= 0,83

d42 =

{| | | |} {| | | | | | | | | | | |}

= {| | | |} {| | | | | | | | | | | |}

= 0,58

d43 =

{| |} {| | | | | | | | | | | |}

= {| |} {| | | | | | | | | | | |}

= 0,46

d45 =

{| | | |} {| | | | | | | | | | | |}

= {| | | |} {| | | | | | | | | | | |}

= 0,83


(1)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel xi

Daftar Gambar xii

Daftar Lampiran xiii

Bab I Pendahuluan

1.1. Latar Belakang 1

1.2. Rumusan Masalah 2

1.3. Batasan / Ruang Lingkup Penelitian 2

1.4. Tujuan Penelitian 3

1.5. Manfaat Penelitian 3

1.6. Metode Penelitian 3

1.7. Sistematika Penulisan 5

Bab II Tinjauan Pustaka

2.1. Bank Syariah 6

2.2. Bank Syariah vs Bank Konvensional 6

2.3. Sistem Pendukung Keputusan 8

2.3.1. Pengertian Sistem Pendukung Keputusan 8

2.3.2. Tujuan Sistem Pendukung Keputusan 9

2.3.2. Kompnen Sistem Pendukung Keputusan 9

2.4. Metode MFEP 10

2.4.1. Langkah-langkah Metode MFEP 10


(2)

2.5. Metode ELECTRE 11

2.5.1. Langkah-langkah Metode ELECTRE 12

2.6. Analisis Algoritma 15

2.6.1. Defenisi Analisis Algoritma 16

2.7. Kompleksitas Algoritma 17

2.7.1. Kompleksitas Waktu Algoritma dan Masalah 19

2.7. Database (Basis Data) 19

Bab III Analisis dan Perancangan Sistem

3.1. Analisis Sistem 20

3.2. Analisis Masalah 20

3.3. Analisis Kebutuhan Sistem 22

3.3.1. Kebutuhan fungsional 22

3.3.2. Kebutuhan non-fungsional 22

3.4. Analisis Kriteria 22

3.4.1. Kriteria jumlah unit counter ATM 23

3.4.2. Kriteria nisbah/bagi hasil 23

3.4.3. Kriteria biaya administrasi 24

3.4.4. Kriteria jumlah setoran minimum 24

3.4.5. Kriteria kemudahan bertransaksi 25

3.4.6. Kriteria pelayanan 26

3.5. Analisis Proses 26

3.5.1. Analisis proses penyelesaian masalah metode MFEP 26 3.5.2. Analisis proses penyelesaian masalah metode ELECTRE 29

3.6. Pemodelan Sistem 45

3.6.1. Use case diagram 45

3.6.2. Activity diagram 46

3.6.3. Sequence diagram 48

3.7. Perancangan Sistem 51

3.7.1. Perancangan algoritma program 51

3.7.2. Alur proses sistem secara umum 51

3.8. Perancangan Antarmuka Sistem 53

3.8.1. Halaman menu utama 53


(3)

3.8.2. Halaman sub-menu Metode MFEP 55

3.8.3. Halaman sub-menu Metode ELECTRE 56

3.8.3. Halaman menu perbandingan 58

3.9. ERD (Entity Relationship Diagram) dan Kamus Data 59

3.9.1. ERD (Entity Relationship Diagram) 59

3.9.2. Kamus Data 59

Bab IV Implementasi dan Pengujian Sistem

4.1. Implementasi Sistem 64

4.1.1. Halaman menu utama 64

4.1.2. Halaman sub-menu Metode MFEP 65

4.1.2. Halaman sub-menu Metode ELECTRE 66

4.2. Pengujian Sistem 67

4.2.1. Analisis Kompleksitas Waktu Metode MFEP 69 4.2.2. Analisis Kompleksitas Waktu Metode ELECTRE 78

Bab V Kesimpulan dan Saran

5.1. Kesimpulan 101

5.2. Saran 101

Daftar Pustaka 102


(4)

DAFTAR TABEL

Halaman Tabel 2.1. Perbedaan Bank Syariah dengan Bank Konvensional 7 Tabel 2.2. Perbedaan Bunga Bank dengan “Bagi Hasil” 7

Tabel 3.1. Kriteria jumlah unit counter ATM 23

Tabel 3.2. Kriteria nisbah/bagi hasil 23

Tabel 3.3. Kriteria biaya administrasi 24

Tabel 3.4. Kriteria jumlah setoran minimum 25

Tabel 3.5. Kriteria kemudahan bertransaksi 25

Tabel 3.6. Kriteria pelayanan 26

Tabel 3.7. Nilai bobot faktor 27

Tabel 3.8. Nilai bobot untuk setiap alternatif pada setiap kriteria 27

Tabel 3.9. Himpunan concordance 32

Tabel 3.10. Himpunan discordance 33

Tabel 3.11. Keterangan rancangan halaman menu utama 54 Tabel 3.12. Keterangan rancangan halaman sub-menu Metode MFEP 55 Tabel 3.13. Keterangan rancangan halaman sub-menu Metode ELECTRE 56 Tabel 3.14. Keterangan rancangan halaman menu perbandingan 58

Tabel 3.15. Tabel Alternatif MFEP 60

Tabel 3.16. Tabel Alternatif ELECTRE 61

Tabel 3.17. Tabel Hasil MFEP 62

Tabel 3.18. Tabel Hasil ELECTRE 63

Tabel 3.18. Tabel Waktu 63

Tabel 4.1. Data pengujian waktu perhitungan kedua metode 68 Tabel 4.2. Analisis Kompleksitas Waktu Metode MFEP 64 Tabel 4.3. Analisis Kompleksitas Waktu Metode ELECTRE 78


(5)

DAFTAR GAMBAR

Halaman Gambar 2.1. Komponen Utama Sistem Pendukung Keputusan 10

Gambar 2.2. Grafik Fungsi f(n) = θ(g(n)) 18

Gambar 3.1. Diagram Ishikawa untuk analisis masalah 21

Gambar 3.2. Use Case Diagram 45

Gambar 3.3. Activity diagram untuk Metode MFEP 46

Gambar 3.4. Activity diagram untuk Metode ELECTRE 47

Gambar 3.5. Activity diagram perbandingan 48

Gambar 3.6. Sequence diagram Metode MFEP 49

Gambar 3.7. Sequence diagram Metode ELECTRE 50

Gambar 3.8. Sequence Diagram perbandingan 51

Gambar 3.9. Flowchart Metode MFEP 52

Gambar 3.10. Flowchart Metode ELECTRE 53

Gambar 3.11. Rancangan halaman menu utama 54

Gambar 3.12. Rancangan halaman sub-menu Metode MFEP 55 Gambar 3.13. Rancangan halaman sub-menu Metode ELECTRE 56 Gambar 3.14. Rancangan halaman menu perbandingan 58

Gambar 3.15. ERD (Entity Relationship Diagram) 59

Gambar 4.1. Tampilan halaman menu utama 64

Gambar 4.2. Tampilan hasil perhitungan menggunakan metode MFEP 65 Gambar 4.3. Tampilan hasil perhitungan menggunakan metode ELECTRE 66

Gambar 4.4. Tampilan menu perbandingan 67

Gambar 4.5. Grafik data pengujian waktu perhitungan kedua metode 69


(6)

DAFTAR LAMPIRAN

Halaman

A. Listing Program A-1

B. Curriculum Vitae B-1


Dokumen yang terkait

PENGGUNAAN METODE ELECTRE (ELIMINATION ET CHOIX TRADUISANT LA REALITE) DALAM SISTEM PENDUKUNG KEPUTUSAN MENU MAKANAN SEHAT

11 60 114

SISTEM PENDUKUNG KEPUTUSAN PEMILIHAN PRODUKSI SEPATU DAN SANDAL DENGAN METODE ELIMINATION ET CHOIX TRADUISANT LA REALITÉ (ELECTRE).

0 21 35

Implementasi Metode Multifactor Evaluation Process (MFEP) dan Metode Elimination et choix Traduisant la Realite (ELECTRE) pada Sistem Pendukung Keputusan untuk Memilih Tabungan Syariah

0 0 14

Implementasi Metode Multifactor Evaluation Process (MFEP) dan Metode Elimination et choix Traduisant la Realite (ELECTRE) pada Sistem Pendukung Keputusan untuk Memilih Tabungan Syariah

1 1 5

Implementasi Metode Multifactor Evaluation Process (MFEP) dan Metode Elimination et choix Traduisant la Realite (ELECTRE) pada Sistem Pendukung Keputusan untuk Memilih Tabungan Syariah

1 0 14

Implementasi Metode Multifactor Evaluation Process (MFEP) dan Metode Elimination et choix Traduisant la Realite (ELECTRE) pada Sistem Pendukung Keputusan untuk Memilih Tabungan Syariah

3 16 4

Implementasi Metode Multifactor Evaluation Process (MFEP) dan Metode Elimination et choix Traduisant la Realite (ELECTRE) pada Sistem Pendukung Keputusan untuk Memilih Tabungan Syariah

0 0 24

IMPLEMENTASI METODE ELECTRE IV (ELIMINATION ET CHOIX TRADUISANT LA REALITE) PADA SISTEM PENDUKUNG KEPUTUSAN UNTUK MENENTUKAN KELAYAKAN KREDIT PINJAMAN PADA KOPERASI KARYA EKA WARSA PATI - UDiNus Repository

0 2 10

SISTEM PENDUKUNG KEPUTUSAN PEMILIHAN TEMPAT WISATA YOGYAKARTA MENGGUNAKAN METODE ELimination Et Choix Traduisant La RealitA (ELECTRE)

0 1 7

Sistem Pendukung Keputusan Pemberian Bantuan Program Keluarga Harapan (PKH) dengan Metode Elimination Et Choix Traduisant la Realite (ELECTRE) Studi Kasus Kecamatan Borbor

0 0 13