Metode Hybrid (Bayes dan Multifactor Evaluation Process) dalam Sistem Pendukung Keputusan

(1)

A -1

LISTING PROGRAM

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.Windows.Forms;

namespace Aplikasi_TA {

public partial class Form1 : Form

{

public Form1() {

InitializeComponent(); }

private void pictureBox1_Click(object sender, EventArgs e) {

this.Hide();

Hybrid_Bayes_Dan_MFEP mulai = new Hybrid_Bayes_Dan_MFEP();

mulai.ShowDialog(); }

private void dataAwalToolStripMenuItem_Click(object sender,

EventArgs e) {

Form aturan_awal = new Form2(); aturan_awal.ShowDialog(); }

private void bobot_Click(object sender, EventArgs e) {

Form kriteria = new Kriteria(); kriteria.ShowDialog();

}

private void pengajar_Click(object sender, EventArgs e) {

Form input_data = new inputdata(); input_data.ShowDialog();

}

private void hitung_Click(object sender, EventArgs e) {

Form hasil = new hasil(); hasil.ShowDialog();


(2)

A -2

Form2.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace Aplikasi_TA {

public partial class Form2 : Form

{

string database = "server = localhost; database=multifactor; uid=root; pwd=nisa";

public MySqlConnection koneksi; public MySqlCommand cmd;

public MySqlDataAdapter adp; public Form2()

{

InitializeComponent(); }

public void connect() {

koneksi = new MySqlConnection(database); koneksi.Open();

}

public void disconnect() {

koneksi = new MySqlConnection(database); koneksi.Close();

}

public void Query(string query) {

koneksi = new MySqlConnection(database); connect();

cmd = new MySqlCommand(query, koneksi); cmd.ExecuteNonQuery();

disconnect(); }

public DataTable baca() {

string sql = "select * from aturan";

DataTable dt = new DataTable(); connect();

cmd = new MySqlCommand(sql, koneksi); adp = new MySqlDataAdapter(cmd); cmd.ExecuteNonQuery();

adp.Fill(dt);

dataGridView1.DataSource = dt;

dataGridView1.Columns[0].Width = 45; dataGridView1.Columns[1].Width = 65; dataGridView1.Columns[2].Width = 67;


(3)

A -3 dataGridView1.Columns[3].Width = 65;

disconnect(); return dt; }

private void tampil_Click(object sender, EventArgs e) {

baca();

aturan.Text = NoUser;

dataGridView2.Rows.Clear(); connect();

dataGridView2.ColumnCount = 4;

dataGridView2.Columns[0].Name = "Aturan"; dataGridView2.Columns[0].Width = 45; dataGridView2.Columns[1].Name = "Berkas"; dataGridView2.Columns[1].Width = 65;

dataGridView2.Columns[2].Name = "Wawancara"; dataGridView2.Columns[2].Width = 67;

dataGridView2.Columns[3].Name = "Praktek"; dataGridView2.Columns[3].Width = 65;

MySqlCommand cm = new MySqlCommand("select aturan_ke,berkas,wawancara,praktek from aturan", koneksi); MySqlDataReader dr = cm.ExecuteReader();

while (dr.Read()) {

String[] row = new String[] { dr[0].ToString(), dr[1].ToString(), dr[2].ToString(), dr[3].ToString(), };

dataGridView2.Rows.Add(row); }

dr.Close(); disconnect();

string hberkas, hwawancara, hpraktek;

for (int i = 0; i < dataGridView2.Rows.Count - 1; i++) {

double nberkas =

Convert.ToDouble(dataGridView2.Rows[i].Cells[1].Value); double nwawancara =

Convert.ToDouble(dataGridView2.Rows[i].Cells[2].Value); double npraktek =

Convert.ToDouble(dataGridView2.Rows[i].Cells[3].Value); //berkas

if (nberkas >= 75) {

hberkas = "Tinggi"; }

else if (nberkas >= 60 && nberkas < 75) {

hberkas = "Normal"; }

else

{

hberkas = "Rendah"; }


(4)

A -4 if (nwawancara >= 75)

{

hwawancara = "Tinggi"; }

else if (nwawancara > 60 && nwawancara < 75) {

hwawancara = "Normal"; }

else

{

hwawancara = "Rendah"; }

//praktek

if (npraktek >= 75) {

hpraktek = "Tinggi"; }

else if (npraktek > 60 && npraktek < 75) {

hpraktek = "Normal"; }

else

{

hpraktek = "Rendah"; }

dataGridView2.Rows[i].Cells[1].Value = hberkas; }

connect();

string hapus = "delete from aturan_ket"; cmd = new MySqlCommand(hapus, koneksi); cmd.ExecuteNonQuery();

disconnect();

//datagridview ke database

for (int j = 0; j < dataGridView2.Rows.Count - 1; j++) {

string StrQuery = "INSERT INTO aturan_ket (aturan_ke, berkas, wawancara, praktek) VALUES ('"

+ dataGridView2.Rows[j].Cells["Aturan"].Value +

"','"

+ dataGridView2.Rows[j].Cells["Berkas"].Value +

"','"

+

dataGridView2.Rows[j].Cells["Wawancara"].Value + "','"

+ dataGridView2.Rows[j].Cells["Praktek"].Value + "');";

connect();

cmd = new MySqlCommand(StrQuery, koneksi); cmd.ExecuteNonQuery();

disconnect(); }

}

private void ubah_Click(object sender, EventArgs e) {


(5)

A -5 connect();

string ubah = "UPDATE aturan SET berkas = '" +

textBox1.Text + "',wawancara ='" + textBox2.Text + "',praktek='" + textBox3.Text + "'WHERE aturan_ke='" + aturan.Text + "'";

cmd = new MySqlCommand(ubah, koneksi); cmd.ExecuteNonQuery();

disconnect();

MessageBox.Show("Data Berhasil Diubah"); }

private bool tambah = false;

private void simpan_Click(object sender, EventArgs e) {

tambah = true;

aturan.Text = NoUser;

if ((textBox1.Text == "") || (textBox2.Text == "") || (textBox3.Text == ""))

{

MessageBox.Show("Data Kosong"); }

else if (tambah == true) {

Query("insert into aturan values('" +

this.aturan.Text

+ "','" + this.textBox1.Text + "','" + this.textBox2.Text

+ "','" + this.textBox3.Text + "')"); MessageBox.Show("Data Berhasil Disimpan"); }

aturan.Text = NoUser; textBox1.Text = ""; textBox2.Text = ""; textBox3.Text = ""; }

private void hapus_Click(object sender, EventArgs e) {

koneksi = new MySqlConnection(database); connect();

string hapus = "delete from aturan WHERE aturan_ke='" + aturan.Text + "'";

cmd = new MySqlCommand(hapus, koneksi); cmd.ExecuteNonQuery();

disconnect();

MessageBox.Show("Data Berhasil Dihapus", "informasi",

MessageBoxButtons.OK); }

private string NoUser {

get

{

string nomor = "001"; connect();

MySqlCommand cmd = new MySqlCommand("select max(right(aturan_ke,3)) from aturan", koneksi);

MySqlDataReader reader = cmd.ExecuteReader(); reader.Read();


(6)

A -6 if (reader[0].ToString() != "")

nomor = (int.Parse(reader[0].ToString()) + 1).ToString("000");

reader.Close(); disconnect(); return nomor; }

}

private void Form2_Load(object sender, EventArgs e) {

aturan.Text = NoUser; }

} }

Kriteria.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace Aplikasi_TA {

public partial class Kriteria : Form

{

string database = "server = localhost; database=multifactor; uid=root; pwd=nisa";

public MySqlConnection koneksi; public MySqlCommand cmd;

public MySqlDataAdapter adp; int iKolom = 0;

int iBaris = 0; public Kriteria() {

InitializeComponent(); }

public void connect() {

koneksi = new MySqlConnection(database); koneksi.Open();

}

public void disconnect() {

koneksi = new MySqlConnection(database); koneksi.Close();

}

private void simpan_Click(object sender, EventArgs e) {


(7)

A -7 connect();

string hapus = "delete from hasil_mfep"; cmd = new MySqlCommand(hapus, koneksi); cmd.ExecuteNonQuery();

disconnect();

//datagridview ke database

for (int j = 0; j < dataGridView2.Rows.Count - 1; j++) {

string StrQuery = "INSERT INTO hasil_mfep (aturan_ke, berkas, wawancara, praktek, hasil) VALUES ('"

+ dataGridView2.Rows[j].Cells["Aturan Ke"].Value + "','"

+ dataGridView2.Rows[j].Cells["Berkas"].Value +

"','"

+

dataGridView2.Rows[j].Cells["Wawancara"].Value + "','"

+ dataGridView2.Rows[j].Cells["Praktek"].Value + "','"

+ dataGridView2.Rows[j].Cells["Hasil"].Value +

"');";

connect();

cmd = new MySqlCommand(StrQuery, koneksi); cmd.ExecuteNonQuery();

disconnect(); }

MessageBox.Show("Data Telah tersimpan"); }

private void mfep_Click(object sender, EventArgs e) {

double hberkas, hwawancara, hpraktek; double a,b,c;

a = Convert.ToDouble(nbberkas.Text); b = Convert.ToDouble(nbwawancara.Text); c = Convert.ToDouble(nbpraktek.Text);

dataGridView2.Rows.Clear(); connect();

dataGridView2.ColumnCount = 4; dataGridView2.Columns[0].Name = "Aturan Ke"; dataGridView2.Columns[0].Width = 55;

dataGridView2.Columns[1].Name = "Berkas"; dataGridView2.Columns[1].Width = 60;

dataGridView2.Columns[2].Name = "Wawancara"; dataGridView2.Columns[2].Width = 67;

dataGridView2.Columns[3].Name = "Praktek"; dataGridView2.Columns[3].Width = 60;

MySqlCommand cm = new MySqlCommand("select aturan_ke,berkas,wawancara,praktek from aturan", koneksi); MySqlDataReader dr = cm.ExecuteReader();

while (dr.Read()) {

String[] row = new String[] { dr[0].ToString(), dr[1].ToString(), dr[2].ToString(), dr[3].ToString(),};

dataGridView2.Rows.Add(row); }


(8)

A -8 disconnect();

//tambah kolom 'Hasil'

DataGridViewColumn hasil = new DataGridViewColumn(); DataGridViewCell cell = new DataGridViewTextBoxCell(); hasil.CellTemplate = cell;

hasil.HeaderText = "Hasil"; hasil.Name = "hasil";

hasil.Visible = true; hasil.Width = 50;

dataGridView2.Columns.Add(hasil); double total = 0;

for (int i = 0; i < dataGridView2.Rows.Count - 1; i++) {

double nberkas =

Convert.ToDouble(dataGridView2.Rows[i].Cells[1].Value); double nwawancara =

Convert.ToDouble(dataGridView2.Rows[i].Cells[2].Value); double npraktek =

Convert.ToDouble(dataGridView2.Rows[i].Cells[3].Value); hberkas = nberkas * a;

hwawancara = nwawancara * b; hpraktek = npraktek * c;

total = hberkas + hwawancara + hpraktek;

dataGridView2.Rows[i].Cells[1].Value = hberkas; dataGridView2.Rows[i].Cells[2].Value = hwawancara; dataGridView2.Rows[i].Cells[3].Value = hpraktek; dataGridView2.Rows[i].Cells[4].Value = total; }

}

public DataTable baca() {

string sql = "select aturan_ke, berkas, wawancara, praktek, hasil from hasil_mfep";

DataTable dt = new DataTable(); connect();

cmd = new MySqlCommand(sql, koneksi); adp.Fill(dt);

dataGridView1.DataSource = dt; disconnect();

return dt; }

private void tampil_Click(object sender, EventArgs e) {

dataGridView1.Rows.Clear(); baca();

}

private void dataGridView1_EditingControlShowing(object

sender, DataGridViewEditingControlShowingEventArgs e) {

ComboBox cb = (ComboBox)(e.Control); cb.SelectedIndexChanged -= comboEvent; cb.SelectedIndexChanged += comboEvent;


(9)

A -9 iBaris = dataGridView1.CurrentCell.RowIndex;

}

private void comboEvent(object sender, EventArgs e) {

ComboBox cmm = (ComboBox)sender; if (cmm.Text == "Disarankan") {

string StrQuery = "update hasil_mfep set keterangan='Disarankan' where aturan_ke='" +

this.dataGridView1.Rows[iBaris].Cells[1].Value +

"';";

connect();

cmd = new MySqlCommand(StrQuery, koneksi); cmd.ExecuteNonQuery();

disconnect(); }

else if (cmm.Text == "Tidak Disarankan") {

string StrQuery = "update hasil_mfep set keterangan='Tidak Disarankan' where aturan_ke='" +

this.dataGridView1.Rows[iBaris].Cells[1].Value +

"';"; connect(); disconnect(); } } } } Inputdata.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace Aplikasi_TA {

public partial class inputdata : Form

{

string database = "server = localhost; database=multifactor; uid=root; pwd=nisa";

public MySqlConnection koneksi; public MySqlCommand cmd;

public MySqlDataAdapter adp; public inputdata()

{

InitializeComponent(); }

public void connect() {


(10)

A -10 koneksi.Open();

}

public void disconnect() {

koneksi = new MySqlConnection(database); koneksi.Close();

}

public void Query(string query) {

koneksi = new MySqlConnection(database); connect();

cmd = new MySqlCommand(query, koneksi); cmd.ExecuteNonQuery();

disconnect(); }

public DataTable baca() {

string sql = "select * from pengajar"; DataTable dt = new DataTable();

connect();

cmd = new MySqlCommand(sql, koneksi); adp = new MySqlDataAdapter(cmd); cmd.ExecuteNonQuery();

adp.Fill(dt);

dataGridView1.DataSource = dt;

dataGridView1.Columns[0].Width = 50; dataGridView1.Columns[1].Width = 50; dataGridView1.Columns[2].Width = 67;

dataGridView1.Columns[3].Width = 50; disconnect();

return dt; }

private void button2_Click(object sender, EventArgs e) {

baca();

dataGridView2.Rows.Clear(); connect();

dataGridView2.ColumnCount = 4;

dataGridView2.Columns[0].Name = "Nama"; dataGridView2.Columns[0].Width = 50; dataGridView2.Columns[1].Name = "Berkas"; dataGridView2.Columns[1].Width = 50;

dataGridView2.Columns[2].Name = "Wawancara"; dataGridView2.Columns[2].Width = 67;

dataGridView2.Columns[3].Name = "Praktek"; dataGridView2.Columns[3].Width = 50;

MySqlCommand cm = new MySqlCommand("select nama,berkas,wawancara,praktek from pengajar", koneksi); MySqlDataReader dr = cm.ExecuteReader(); while (dr.Read())

{

String[] row = new String[] { dr[0].ToString(), dr[1].ToString(), dr[2].ToString(), dr[3].ToString(), };


(11)

A -11 }

dr.Close(); disconnect();

string hberkas, hwawancara, hpraktek;

for (int i = 0; i < dataGridView2.Rows.Count - 1; i++) {

double nberkas =

Convert.ToDouble(dataGridView2.Rows[i].Cells[1].Value); double nwawancara =

Convert.ToDouble(dataGridView2.Rows[i].Cells[2].Value); double npraktek =

Convert.ToDouble(dataGridView2.Rows[i].Cells[3].Value); //berkas

if (nberkas >= 75) {

hberkas = "Tinggi"; }

else if (nberkas >= 60 && nberkas < 75) {

hberkas = "Normal"; }

else

{

hberkas = "Rendah"; }

//wawancara

if (nwawancara >= 75) {

hwawancara = "Tinggi"; }

else if (nwawancara > 60 && nwawancara < 75) {

hwawancara = "Normal"; }

else

{

hwawancara = "Rendah"; }

//praktek

if (npraktek >= 75) {

hpraktek = "Tinggi"; }

else if (npraktek > 60 && npraktek < 75) {

hpraktek = "Normal"; }

else

{

hpraktek = "Rendah"; }

dataGridView2.Rows[i].Cells[1].Value = hberkas; dataGridView2.Rows[i].Cells[2].Value = hwawancara; dataGridView2.Rows[i].Cells[3].Value = hpraktek; }


(12)

A -12

connect();

string hapus = "delete from pengajar_ket"; cmd = new MySqlCommand(hapus, koneksi); cmd.ExecuteNonQuery();

disconnect();

//datagridview ke database

for (int j = 0; j < dataGridView2.Rows.Count - 1; j++) {

string StrQuery = "INSERT INTO pengajar_ket VALUES ('"

+ dataGridView2.Rows[j].Cells["Nama"].Value +

"','"

+ dataGridView2.Rows[j].Cells["Berkas"].Value +

"','"

+

dataGridView2.Rows[j].Cells["Wawancara"].Value + "','"

+ dataGridView2.Rows[j].Cells["Praktek"].Value + "');";

connect();

cmd = new MySqlCommand(StrQuery, koneksi); cmd.ExecuteNonQuery();

disconnect(); }

}

private void simpan_Click(object sender, EventArgs e) {

Query("insert into pengajar values('" +

this.textBox1.Text

+ "','" + this.nbberkas.Text + "','" + this.nbwawancara.Text

+ "','" + this.nbpraktek.Text + "')"); MessageBox.Show("Data Berhasil Disimpan"); }

private void bersih_Click(object sender, EventArgs e) {

textBox1.Text = ""; nbberkas.Text = ""; nbwawancara.Text = ""; nbpraktek.Text = ""; }

private void hapus_Click(object sender, EventArgs e) {

koneksi = new MySqlConnection(database); connect();

string hapus = "delete from pengajar WHERE nama='" + textBox1.Text + "'";

cmd = new MySqlCommand(hapus, koneksi); cmd.ExecuteNonQuery();

disconnect();

MessageBox.Show("Data Berhasil Dihapus", "Informasi",

MessageBoxButtons.OK); }


(13)

A -13 {

connect();

string ubah = "UPDATE pengajar SET berkas = '" +

nbberkas.Text + "',wawancara ='" + nbwawancara.Text + "',praktek='" + nbpraktek.Text + "'WHERE nama='" + textBox1.Text + "'";

cmd = new MySqlCommand(ubah, koneksi); cmd.ExecuteNonQuery();

disconnect();

MessageBox.Show("Data Berhasil Diubah"); }

} } Hasil.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace Aplikasi_TA {

public partial class hasil : Form

{

string database = "server = localhost; database=multifactor; uid=root; pwd=nisa";

public MySqlConnection koneksi; public MySqlCommand cmd;

public MySqlDataAdapter adp; double peluang;

double peluangY1, peluangT1; double peluangY2, peluangT2; double peluangY3, peluangT3; double peluangY4, peluangT4; double peluangY5, peluangT5; public hasil()

{

InitializeComponent(); }

public void connect() {

koneksi = new MySqlConnection(database); koneksi.Open();

}

public void disconnect() {

koneksi = new MySqlConnection(database); koneksi.Close();


(14)

A -14 }

private void MFEP_Click(object sender, EventArgs e) {

double hberkas, hwawancara, hpraktek; double a, b, c;

a = 0.30; b = 0.25; c = 0.45;

dataGridView2.Rows.Clear(); connect();

dataGridView2.ColumnCount = 4;

dataGridView2.Columns[0].Name = "Nama"; dataGridView2.Columns[1].Name = "Berkas"; dataGridView2.Columns[2].Name = "Wawancara"; dataGridView2.Columns[3].Name = "Praktek"; MySqlCommand cm = new MySqlCommand("select nama,berkas,wawancara,praktek from pengajar", koneksi); MySqlDataReader dr = cm.ExecuteReader(); while (dr.Read())

{

String[] row = new String[] { dr[0].ToString(), dr[1].ToString(), dr[2].ToString(), dr[3].ToString() };

dataGridView2.Rows.Add(row); }

dr.Close(); disconnect();

//tambah kolom 'Hasil'

DataGridViewColumn hasil = new DataGridViewColumn(); DataGridViewCell cell = new DataGridViewTextBoxCell(); hasil.CellTemplate = cell;

hasil.HeaderText = "Hasil"; hasil.Name = "hasil";

dataGridView2.Columns.Add(hasil); //MFEP

double hitung = 0;

for (int i = 0; i < dataGridView2.Rows.Count - 1; i++) {

double kberkas =

Convert.ToDouble(dataGridView2.Rows[i].Cells[1].Value); double kwawancara =

Convert.ToDouble(dataGridView2.Rows[i].Cells[2].Value); double kpraktek =

Convert.ToDouble(dataGridView2.Rows[i].Cells[3].Value); hberkas = kberkas * a;

hwawancara = kwawancara * b; hpraktek = kpraktek * c;

hitung = hberkas + hwawancara + hpraktek; dataGridView2.Rows[i].Cells[4].Value = hitung; dataGridView2.Rows[i].Cells[1].Value = hberkas; dataGridView2.Columns[1].Width = 60;

dataGridView2.Rows[i].Cells[2].Value = hwawancara; dataGridView2.Columns[2].Width = 67;

dataGridView2.Rows[i].Cells[3].Value = hpraktek; dataGridView2.Columns[3].Width = 60;


(15)

A -15 dataGridView2.Rows[i].Cells[4].Value = hitung;

dataGridView2.Columns[4].Width = 60; }

}

private void hasil_Load(object sender, EventArgs e) {

//menampilkan data aturan

dataGridView1.Rows.Clear(); connect();

dataGridView1.ColumnCount = 5;

dataGridView1.Columns[0].Name = "Aturan"; dataGridView1.Columns[0].Width = 50; dataGridView1.Columns[1].Name = "Berkas"; dataGridView1.Columns[1].Width = 50;

dataGridView1.Columns[2].Name = "Wawancara"; dataGridView1.Columns[2].Width = 72;

dataGridView1.Columns[3].Name = "Praktek"; dataGridView1.Columns[3].Width = 50;

dataGridView1.Columns[4].Name = "Keterangan"; dataGridView1.Columns[4].Width = 115;

MySqlCommand cm = new MySqlCommand("select

aturan_ket.aturan_ke, aturan_ket.berkas, aturan_ket.wawancara,

aturan_ket.praktek, hasil_mfep.keterangan from aturan_ket, hasil_mfep where aturan_ket.aturan_ke = hasil_mfep.aturan_ke", 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(), };

dataGridView1.Rows.Add(row); }

dr.Close(); disconnect();

//menampilkan data pengajar

dataGridView3.Rows.Clear(); connect();

dataGridView3.ColumnCount = 4;

dataGridView3.Columns[0].Name = "Nama"; dataGridView3.Columns[0].Width = 55; dataGridView3.Columns[1].Name = "Berkas"; dataGridView3.Columns[1].Width = 55;

dataGridView3.Columns[2].Name = "Wawancara"; dataGridView3.Columns[2].Width = 72;

dataGridView3.Columns[3].Name = "Praktek"; dataGridView3.Columns[3].Width = 55;

MySqlCommand data = new MySqlCommand("select * from pengajar_ket", koneksi);

MySqlDataReader baca = data.ExecuteReader(); while (baca.Read())

{

String[] row = new String[] { baca[0].ToString(), baca[1].ToString(), baca[2].ToString(), baca[3].ToString(), }; dataGridView3.Rows.Add(row);

}


(16)

A -16 disconnect();

} //Bayes

public string getYa() {

double a = 0;

for (int k = 0; k < dataGridView1.Rows.Count - 1; k++) {

string ket =

Convert.ToString(dataGridView1.Rows[k].Cells[4].Value); if (ket.Equals("Disarankan"))

a++; }

peluang = a / (dataGridView1.Rows.Count - 1); return peluang.ToString("F3");

}

public string getTidak() {

double a = 0;

for (int k = 0; k < dataGridView1.Rows.Count - 1; k++) {

string ket =

Convert.ToString(dataGridView1.Rows[k].Cells[4].Value); if (ket.Equals("Tidak Disarankan")) a++;

}

peluang = a / dataGridView1.Rows.Count; return peluang.ToString("F3");

}

public string getKs() {

double b = 0;

for (int k = 0; k < dataGridView1.Rows.Count - 1; k++) {

string e =

Convert.ToString(dataGridView1.Rows[k].Cells[4].Value); if (e.Equals("Disarankan"))

b++; }

peluang = b;

return peluang.ToString("F3"); }

public string getKts() {

double b = 0;

for (int k = 0; k < dataGridView1.Rows.Count - 1; k++) {

string e =

Convert.ToString(dataGridView1.Rows[k].Cells[4].Value); if (e.Equals("Tidak Disarankan"))

b++; }

peluang = b;

return peluang.ToString("F3"); }


(17)

A -17

//peluang Berkas = Tinggi, Normal, Rendah / Keterangan = Disarankan

public string getP1() {

double a = 0; string berkas =

Convert.ToString(dataGridView3.Rows[0].Cells[1].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string berkas1 =

Convert.ToString(dataGridView1.Rows[i].Cells[1].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value); if (berkas.Equals(berkas1) &&

(ket.Equals("Disarankan"))) a++;

} peluang = a;

return peluang.ToString("F3"); }

//peluang Berkas = Tinggi, Normal, Rendah / Keterangan = Tidak Disarankan

public string getP2() {

double a = 0; string berkas =

Convert.ToString(dataGridView3.Rows[0].Cells[1].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string berkas1 =

Convert.ToString(dataGridView1.Rows[i].Cells[1].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value);

if (berkas.Equals(berkas1) && (ket.Equals("Tidak Disarankan")))

a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Wawancara = Tinggi, Normal, Rendah / Keterangan = Disarankan

public string getP3() {

double a = 0; string wawancara =

Convert.ToString(dataGridView3.Rows[0].Cells[2].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string wawancara1 =

Convert.ToString(dataGridView1.Rows[i].Cells[2].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value); if (wawancara.Equals(wawancara1) && (ket.Equals("Disarankan")))

a++; }


(18)

A -18 peluang = a;

return peluang.ToString("F3"); }

//peluang Wawancara = Tinggi, Normal, Rendah / Keterangan = Tidak Disarankan

public string getP4() {

double a = 0; string wawancara =

Convert.ToString(dataGridView3.Rows[0].Cells[2].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string wawancara1 =

Convert.ToString(dataGridView1.Rows[i].Cells[2].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value); if (wawancara.Equals(wawancara1) && (ket.Equals("Tidak Disarankan")))

a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Praktek = Tinggi, Normal, Rendah / Keterangan = Disarankan

public string getP5() {

double a = 0; string praktek =

Convert.ToString(dataGridView3.Rows[0].Cells[3].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string praktek1 =

Convert.ToString(dataGridView1.Rows[i].Cells[3].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value); if (praktek.Equals(praktek1) &&

(ket.Equals("Disarankan"))) a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Praktek = Tinggi, Normal, Rendah / Keterangan = Tidak Disarankan

public string getP6() {

double a = 0; string praktek =

Convert.ToString(dataGridView3.Rows[0].Cells[3].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string praktek1 =

Convert.ToString(dataGridView1.Rows[i].Cells[3].Value); string ket =


(19)

A -19 if (praktek.Equals(praktek1) && (ket.Equals("Tidak Disarankan")))

a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Berkas = Tinggi, Normal, Rendah / Keterangan = Disarankan

public string getP41() {

double a = 0; string berkas =

Convert.ToString(dataGridView3.Rows[3].Cells[1].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string berkas1 =

Convert.ToString(dataGridView1.Rows[i].Cells[1].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value); if (berkas.Equals(berkas1) &&

(ket.Equals("Disarankan"))) a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Berkas = Tinggi, Normal, Rendah / Keterangan = Tidak Disarankan

public string getP42() {

double a = 0; string berkas =

Convert.ToString(dataGridView3.Rows[3].Cells[1].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string berkas1 =

Convert.ToString(dataGridView1.Rows[i].Cells[1].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value);

if (berkas.Equals(berkas1) && (ket.Equals("Tidak Disarankan")))

a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Wawancara = Tinggi, Normal, Rendah / Keterangan = Disarankan

public string getP43() {

double a = 0; string wawancara =

Convert.ToString(dataGridView3.Rows[3].Cells[2].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {


(20)

A -20 string wawancara1 =

Convert.ToString(dataGridView1.Rows[i].Cells[2].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value); if (wawancara.Equals(wawancara1) && (ket.Equals("Disarankan")))

a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Wawancara = Tinggi, Normal, Rendah / Keterangan = Tidak Disarankan

public string getP44() {

double a = 0; string wawancara =

Convert.ToString(dataGridView3.Rows[3].Cells[2].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string wawancara1 =

Convert.ToString(dataGridView1.Rows[i].Cells[2].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value); if (wawancara.Equals(wawancara1) && (ket.Equals("Tidak Disarankan")))

a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Praktek = Tinggi, Normal, Rendah / Keterangan = Disarankan

public string getP45() {

double a = 0; string praktek =

Convert.ToString(dataGridView3.Rows[3].Cells[3].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string praktek1 =

Convert.ToString(dataGridView1.Rows[i].Cells[3].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value); if (praktek.Equals(praktek1) &&

(ket.Equals("Disarankan"))) a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Praktek = Tinggi, Normal, Rendah / Keterangan = Tidak Disarankan

public string getP46() {


(21)

A -21 string praktek =

Convert.ToString(dataGridView3.Rows[3].Cells[3].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string praktek1 =

Convert.ToString(dataGridView1.Rows[i].Cells[3].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[3].Value);

if (praktek.Equals(praktek1) && (ket.Equals("Tidak Disarankan")))

a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Berkas = Tinggi, Normal, Rendah / Keterangan = Disarankan

public string getP51() {

double a = 0; string berkas =

Convert.ToString(dataGridView3.Rows[4].Cells[1].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string berkas1 =

Convert.ToString(dataGridView1.Rows[i].Cells[1].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value); if (berkas.Equals(berkas1) &&

(ket.Equals("Disarankan"))) a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Berkas = Tinggi, Normal, Rendah / Keterangan = Tidak Disarankan

public string getP52() {

double a = 0; string berkas =

Convert.ToString(dataGridView3.Rows[4].Cells[1].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string berkas1 =

Convert.ToString(dataGridView1.Rows[i].Cells[1].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value);

if (berkas.Equals(berkas1) && (ket.Equals("Tidak Disarankan")))

a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Wawancara = Tinggi, Normal, Rendah / Keterangan = Disarankan


(22)

A -22 public string getP53()

{

double a = 0; string wawancara =

Convert.ToString(dataGridView3.Rows[4].Cells[2].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string wawancara1 =

Convert.ToString(dataGridView1.Rows[i].Cells[2].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value); if (wawancara.Equals(wawancara1) && (ket.Equals("Disarankan")))

a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Wawancara = Tinggi, Normal, Rendah / Keterangan = Tidak Disarankan

public string getP54() {

double a = 0; string wawancara =

Convert.ToString(dataGridView3.Rows[4].Cells[2].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string wawancara1 =

Convert.ToString(dataGridView1.Rows[i].Cells[2].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value); if (wawancara.Equals(wawancara1) && (ket.Equals("Tidak Disarankan")))

a++; }

peluang = a;

return peluang.ToString("F3"); }

//peluang Praktek = Tinggi, Normal, Rendah / Keterangan = Disarankan

public string getP55() {

double a = 0; string praktek =

Convert.ToString(dataGridView3.Rows[4].Cells[3].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string praktek1 =

Convert.ToString(dataGridView1.Rows[i].Cells[3].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[4].Value); if (praktek.Equals(praktek1) &&

(ket.Equals("Disarankan"))) a++; }

peluang = a;

return peluang.ToString("F3"); }


(23)

A -23 //peluang Praktek = Tinggi, Normal, Rendah / Keterangan = Tidak Disarankan

public string getP56() {

double a = 0; string praktek =

Convert.ToString(dataGridView3.Rows[4].Cells[3].Value);

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {

string praktek1 =

Convert.ToString(dataGridView1.Rows[i].Cells[3].Value); string ket =

Convert.ToString(dataGridView1.Rows[i].Cells[3].Value);

if (praktek.Equals(praktek1) && (ket.Equals("Tidak Disarankan")))

a++; }

peluang = a;

return peluang.ToString("F3"); }

private void Bayes_Click(object sender, EventArgs e) {

//tambah kolom 'Keterangan'

DataGridViewColumn keterangan = new DataGridViewColumn(); DataGridViewCell cell1 = new DataGridViewTextBoxCell(); keterangan.CellTemplate = cell1;

keterangan.HeaderText = "Keterangan"; keterangan.Name = "keterangan";

keterangan.Visible = true; keterangan.Width = 120;

dataGridView2.Columns.Add( keterangan); peluangY1 = (Convert.ToDouble(getP1()) /

Convert.ToDouble(getKs())) + (Convert.ToDouble(getP3()) /

Convert.ToDouble(getKs()))

+ (Convert.ToDouble(getP5()) /

Convert.ToDouble(getKs())) + Convert.ToDouble(getYa()); peluangT1 = (Convert.ToDouble(getP2()) /

Convert.ToDouble(getKts())) + (Convert.ToDouble(getP4()) /

Convert.ToDouble(getKts()))

+ (Convert.ToDouble(getP6()) /

Convert.ToDouble(getKts())) + Convert.ToDouble(getTidak());

string ket1, ket2, ket3, ket4, ket5; if (peluangY1 > peluangT1) ket1 = "Disarankan"; else

ket1 = "Tidak Disarankan";

dataGridView2.Rows[0].Cells[5].Value = ket1;

if (peluangY2 > peluangT2) ket2 = "Disarankan"; else

ket2 = "Tidak Disarankan";

dataGridView2.Rows[1].Cells[5].Value = ket2; }

} }


(24)

B - 1

CURRICULUM VITAE

DATA PRIBADI

Nama : Khairun Nisa

Tempat / Tanggal Lahir : Pasar Gunung, 25 Mei 1993

Alamat : Jl. Kenanga Raya Gg. Wirya, Medan

Agama : Islam

Email : khairunnisa2505@gmail.com

No.HP : 0852 6110 5078

RIWAYAT PENDIDIKAN

2011 – 2015 : S1 Ilmu Komputer Fasilkom-TI USU, Medan 2008 – 2011 : SMK NEGERI 1 STABAT

2005 – 2008 : SMP NEGERI 1 SECANGGANG 2002 – 2008 : SD NEGERI 050712 HINAI

PENGALAMAN ORGANISASI

 Anggota UKMI Al-Khuwarizmi Fasilkom–TI

 Anggota PORSENI (Pekan Olahraga dan Seni ) IMILKOM

 Anggota Outbond PMB IMILKOM

Praktek Kerja Lapangan di Bank Indonesia, Medan


(25)

48

DAFTAR PUSTAKA

Budiharto, Widodo & Derwin Suhartono. 2014. Artificial Intelligence : Konsep dan Penerapannya. Yogyakarta : Andi

Dharwiyanti, Sri. & Romi SW. 2013. Pengantar Unified Modeling Language (UML). (Online) https://doc-14-50-docs.googleusercontent.com/ (09 September 2015). Kahfi, R.R. 2013. Sistem Estimasi Biaya Operasional Project Menggunakan

Pendekatan Constructive Cost Model. Skripsi. Universitas Ibn Khaldun Bogor

Keen, P.G.W. and Scott-Morton, M.S. 1978. Decision Support Systems: An organisational perspective, Addison-Wesley: Reading (Mass.).

Kendall Kenneth E, Julie E. Kendall. 2006. Analisis dan Perancangan Sistem edisi lima jilid 1. Jakarta : Gramedia Pustaka Utama

Kristanto, Andi. 2004. Rekayasa Perangkat Lunak (Konsep Dasar). Yogyakarta: Gava Media

Kusrini & Andri Koniyo. 2007. Tuntunan Praktis Membangun Sistem Informasi Akuntansi dengan Visual Basic dan Microsoft SQL Server. Yogyakarta : Andi

Marimin. 2004. Teknik dan Aplikasi Pengambilan Keputusan Kriteria Majemuk. Jakarta : Grasindo

Mulyono, Sri. 1996. Teori Pengambilan Keputusan. Jakarta : Lembaga Penerbit Fakultas Ekonomi Indonesia.

Nofriansyah, Dicky. 2014. Konsep Data Mining Vs Sistem Pendukung Keputusan. Yogyakarta : Deepublish.


(26)

49

Oetomo, Budi Sutedjo Dharma. 2002. Perencanaan & Pembangunan Sistem Informasi. Yogyakarta : Penerbit Andi

Render, Barry. & Ralph, M.S. 2000. Quantitative Analysis for Management. Prentice Hall Inc.

Safitri, R.S. 2009. Pengambilan Keputusan Dengan Menggunakan Metode Maximum Score of the Total Sum of Joint Probabilities (MSJP). Skripsi. Institut Teknologi Sepuluh November

Setiyawati, Any. 2015. Sistem Pendukung Keputusan Pemilihan Kelas Terfavorit Dengan Metode Multifactor Evaluation Process (MFEP). Skripsi. Universitas Muria Kudus

Suryadi, Kadarsah. dan M. Ali Ramdhani. 1998. Sistem pendukung Keputusan : Suatu Wacana Struktural Idealisasi dan Implementasi Konsep Pengambilan Keputusan. Bandung : Remaja Rosdakarya

Sutojo, T., Edy Mulyanto., & Vincent Suhartono. 2011. Kecerdasan Buatan. Yogyakarta : Andi

Syahputra, R. A. 2011. Sistem Pendukung Keputusan Penentuan Penerima Beasiswa Menggunakan Metode Fuzzy Multiple Attribute Decision Making Pada SMA Taman Siswa Sawit Seberang. Skripsi. Universitas Sumatera Utara.

Tanius, S. 2010. Sistem Pendukung Keputusan Untuk Rekrutmen Tenaga Pengajar Baru di Libra Education Institute dengan Metode Topsis. Skripsi. Universitas Sumatera Utara

Turban, E., Aronson, J.E., and Liang, T.P. 2005. Decision Support Systems and Intelligent Systems (Sistem Pendukung Keputusan dan Sistem Kecerdasan). Yogyakarta: Penerbit Andi.


(27)

19

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem diperlukan dalam perancangan suatu sistem, hal tersebut dilakukan agar nantinya sistem yang akan dirancang sesuai dengan permasalahan yang akan diselesaikan. Selain itu dengan adanya analisis sistem, sistem yang dirancang diharapkan akan lebih baik dan memudahkan dalam pengembangan sistem selanjutnya. Hasil analisis nantinya akan menjadi dasar untuk melakukan perancangan atau desain perangkat lunak sesuai kebutuhan sistem.

Adapun tujuan dari analisis sistem tersebut adalah:

1. Memberi pelayanan kebutuhan informasi kepada pemilik sistem dalam melaksanakan kegiatan operasional.

2. Membantu para pengambil keputusan mendapatkan bahan perbandingan sebagai tolak ukur terhadap hasil yang telah dicapai.

3. Mengevaluasi bentuk sistem yang lama, meluruskan tujuan-tujuan yang belum dicapai (membangun sistem baru atau mengembangkan sistem yang telah ada). Sistem yang akan dibangun adalah sistem dengan nama metode hybrid (Bayes dan Multifactor Evaluation Process) sebagai metode dalam sistem pendukung keputusan dimana dalam sistem ini digunakan untuk rekrutmen pengajar baru. Sistem ini menggunakan dua metode yaitu metode Bayes dan Multifactor Evaluation Process (MFEP). Kedua metode tersebut akan digabungkan sehingga akan mendapatkan pendekatan baru.


(28)

20

3.2 Analisis Masalah

Dalam menentukan pengambilan keputusan yang banyak melibatkan faktor tidaklah mudah, karena banyak faktor yang menjadi pertimbangan, sehingga menyulitkan untuk mengambil suatu keputusan yang terbaik. Pada keputusan yang hanya melibatkan sedikit faktor di dalamnya, maka keputusan dapat diambil berdasarkan pertimbangannya pada pikiran ataupun pendapat. Namun pada pengambilan keputusan yang banyak melibatkan faktor, maka perlu digunakan suatu metode tertentu.

Salah satu contoh pengambilan keputusan yang banyak melibatkan faktor dalam penelitian ini adalah perekrutan pengajar baru dimana penilaian bukan hanya dari pendidikan saja, namun juga melibatkan beberapa penilaian seperti tingkat pendidikan, pengalaman bekerja, hasil tes wawancara, tes kemampuan dan sebagainya. Karena banyak penilaian yang saling berpengaruh, maka akan sulit dalam pengambilan keputusan untuk menentukan pengajar baru.

Oleh sebab itu untuk mempermudah masalah ini maka diperlukan suatu sistem pendukung keputusan dengan menggunakan suatu metode tertentu. Dalam penelitian ini metode yang digunakan adalah metode Bayes dan Multifactor Evaluation Process. Namun terdapat kekurangan dalam kedua metode tersebut. Kekurangan pada metode Bayes yaitu satu probabilitas saja tidak bisa mengukur seberapa dalam tingkat keakuratannya. Dengan kata lain, kurang bukti untuk membuktikan kebenaran jawaban yang dihasilkan dan juga metode Bayes tidak memiliki bobot untuk setiap kriteria. Sedangkan kekurangan metode Multifactor Evaluation Process yaitu tidak ada tes konsistensi maka nilai yang dimasukkan akan menjadi tidak valid ketika pembuat keputusan tidak benar-benar mengerti domain masalahnya. Pembuat keputusan juga harus benar-benar menguasai domain masalahnya sehingga yang dimasukkan bukan merupakan nilai perkiraan tetapi nilai sebenarnya.

Maka untuk menutupi kelemahan pada dua metode tersebut dapat dilakukan dengan menggunakan metode hybrid yaitu menggabungkan dua metode tersebut.


(29)

21

Dimana kekurangan metode Bayes akan ditutupi dengan metode Multifactor Evaluation Process dan begitu juga sebaliknya.

Untuk mengidentifikasi masalah tersebut digunakan diagram Ishikawa (fishbone diagram). Diagram Ishikawa merupakan sebuah alat grafis yang digunakan untuk mengidentifikasi, mengeksplorasi dan menggambarkan suatu masalah serta sebab dan akibat dari masalah tersebut (Kristanto, Andi. 2004). Diagram ini juga sering disebut sebagai diagram sebab-akibat atau diagram tulang ikan. Pengidentifikasian masalah akan membantu analisis persyaratan sistem yang nantinya akan dikembangkan.

Gambar 3.1 Diagram Ishikawa

Pada diagram Ishikawa diatas masalah utama ditunjukkan oleh segi empat paling kanan (kepala ikan), sedangkan kategori ditunjukkan oleh segi empat yang dihubungkan oleh sebuah garis ke tulang utama (garis horizontal yang terhubung ke kepala ikan). Selanjutnya sebab akibat yang muncul ditunjukkan oleh tulang-tulang kecil yang diwakili oleh garis panah yang mengarah ke tulang-tulang kategori masalah.

3.3 Analisis Persyaratan Sistem (Requirement Analysis System)

Adapun analisis persyaratan sebuah sistem yaitu, analisis persyaratan fungsional dan analisis persyaratan non-fungsional.


(30)

22

3.3.1 Analisis Persyaratan Fungsional

Persyaratan fungsional adalah segala sesuatu yang harus dimiliki oleh sistem. Persyaratan fungsional sistem yang akan dirancang antara lain sebagai berikut:

1. Sistem harus menyediakan sumber daya untuk melakukan proses diagnosa dengan meggunakan metode Bayes dan metode Multifactor Evaluation Process.

2. Sistem harus menyediakan sampel pengetahuan yang jelas dan meyakinkan untuk menghindari terjadinya kesalahan besar dalam memberikan hasil diagnosa.

3. Sistem juga harus dapat menampilkan hasil berdasarkan kriteria yang ditentukan dengan metode Hybrid (Bayes dan Multifactor Evaluation Process).

3.3.2 Analisis Persyaratan Non-Fungsional

Persyaratan non-fungsional adalah persyaratan apa yang harus dilakukan sistem. Beberapa persyaratan non-fungsional yang harus dipenuhi oleh sistem yang dirancang adalah sebagai berikut :

1. User friendly, artinya sistem harus mudah digunakan dengan tampilan yang mudah

dimengerti sehingga dapat dioperasikan dengan baik oleh pengguna.

2. Sistem yang dirancang diharapkan untuk kedepannya dapat dikembangkan kembali bagi pihak tertentu yang ingin mengembangkan sistem sehingga bisa lebih efektif dan melengkapi kekurangan yang ada pada sistem.

3. Penggunaan sistem harus menghindari munculnya biaya tambahan. 3.4 Cara Kerja Sistem

Sistem pendukung keputusan yang dibangun memiliki cara kerja untuk menghasilkan suatu keluaran / output nilai akhir setiap alternatif dari hasil proses perhitungan Hybrid (Multifactor Evaluation Process dan Bayes). Sehingga user dapat mengambil keputusan berdasarkan dari nilai yang ditampilkan oleh sistem. Dalam sistem ini, data diperoleh dari data pengajar di Media.Com. Kriteria yang dibutuhkan adalah berkas (tingkat pendidikan, pengalaman mengajar dan sebagainya), wawancara, praktek (pengetahuan teknis, keterampilan teknis dan kemampuan komunikasi). Data dapat dilihat di tabel 3.1.


(31)

23

Tabel 3.1 Data Pengajar Media.Com

No Nama Berkas Wawancara Praktek

1 Afni 61 59.3 67.7

2 Bahri 78 80 65

3 Bastiyan 78 64.3 77.7

4 Fery 60.3 58 66.3

5 Gibran 63.7 66 59.7

6 Janio 67.3 77 78.7

7 Jimmy 77 65.3 79

8 Kholis 87.3 74 88.3

9 Maula 58.7 66 61.7

10 Nur 59.3 61 69.7

11 Pandu 66 59 75

12 Rafi 85 90 89.3

13 Resfi 61.7 75 57.7

14 Riky 66 82 78.7

15 Sugi 65.3 64 64.7

Langkah – langkah yang akan dilakukan sistem adalah sebagai berikut : a. Menentukan aturan awal

b. Menghitung total Weighted Evaluation c. Menentukan alternatif

d. Menghitung total Weighted Evaluation setiap alternatif e. Menentukan disarankan atau tidak disarankan

3.4.1 Menentukan Aturan Awal

Dari data yang ada diambil sebanyak 10 data sebagai aturan awal, dimana data aturan awal ini sebagai pedoman data yang akan digunakan dalam metode Bayes. Oleh karena itu, nilai diubah menjadi keterangan dengan ketentuan :

Tinggi = Nilai >= 75

Normal = Nilai diantara 60 – 74 Rendah = Nilai < 60


(32)

24

Tabel 3.2 Data Aturan Awal

No Nilai Keterangan

Berkas Wawancara Praktek Berkas Wawancara Praktek

1 66 82 78.7 Normal Tinggi Tinggi

2 78 80 65 Tinggi Tinggi Normal

3 59.3 61 69.7 Rendah Normal Normal

4 61 59.3 67.7 Normal Rendah Normal

5 63.7 66 59.7 Normal Normal Normal

6 65.3 64 64.7 Normal Normal Rendah

7 61.7 75 57.7 Normal Tinggi Rendah

8 66 59 75 Normal Rendah Tinggi

9 85 90 89.3 Tinggi Tinggi Tinggi

10 87.3 74 88.3 Tinggi Normal Tinggi

3.4.2 Menghitung Total Weighted Evaluation

Tentukan bobot untuk setiap kriteria, dimana total dari pembobotan sama dengan 1. Selanjutnya hitung Weighted Evaluation, yaitu setiap nilai bobot dikalikan dengan data aturan awal. Selanjutnya dijumlahkan dan tentukan apakah hasil dari Weighted Evaluation disarankan atau tidak berdasarkan keperluan user.

Tabel 3.3 Bobot Setiap Kriteria Kriteria Nilai Bobot

Berkas 0.30

Wawancara 0,25

Praktek 0,45

1. = ( 0,30 x 66 ) + ( 0,25 x 82 ) + (0,45 x 78,7 ) = 19,8 + 20,5 + 35,415

= 75,715

2. = ( 0,30 x 78 ) + ( 0,25 x 80 ) + (0,45 x 65 ) = 23,4 + 20 + 29,25


(33)

25

3. = ( 0,30 x 59,3 ) + ( 0,25 x 61 ) + (0,45 x 69,7 ) = 17,79 + 15,25 + 31,365

= 64,405

Tabel 3.4 Weighted Evaluation dan Kesimpulan

No Berkas Wawancara Praktek Hasil Keterangan

1 19.8 20.5 35.415 75.715 Disarankan

2 23.4 20 29.25 72.65 Disarankan

3 17.79 15.25 31.365 64.405 Tidak Disarankan 4 18.3 14.825 30.465 63.59 Tidak Disarankan 5 19.11 16.5 26.865 62.475 Tidak Disarankan

6 19.59 16 29.115 64.705 Tidak Disarankan

7 18.51 18.75 25.965 63.225 Tidak Disarankan

8 19.8 14.75 33.75 68.3 Disarankan

9 25.5 22.5 40.185 88.185 Disarankan

10 26.19 18.5 39.735 84.425 Disarankan

3.4.3 Menentukan Alternatif

Dalam sistem ini, alternatif yang diperlukan adalah data pengajar sebanyak 5 data. Sehingga proses akhir dari sistem ini adalah untuk mengetahui berapa banyak pengajar yang disarankan dan yang sesuai untuk diterima sebagai pengajar.

Tabel 3.5 Data Calon Pengajar

No Nama Nilai Keterangan

Berkas Wawancara Praktek Berkas Wawancara Praktek

1 Bastiyan 78 64.3 77.7 Tinggi Normal Tinggi 2 Fery 60.3 58 66.3 Normal Rendah Normal 3 Janio 67.3 77 78.7 Normal Tinggi Tinggi 4 Jimmy 77 65.3 79 Tinggi Normal Tinggi 5 Maula 58.7 66 61.7 Rendah Normal Normal

3.4.4 Menghitung Total Weighted Evaluation Setiap Alternatif

Pada tahap ini menggunakan metode Multifactor Evaluation Process untuk mengetahui nilai akhir setiap alternatif berdasarkan bobot yang telah ditentukan. Karena bobot sudah ditentukan sebelumnya. Selanjutnya menghitung total Weighted


(34)

26

Evaluation, proses ini sama seperti menghitung total Weighted Evaluation pada data aturan awal.

Hasil = (bobot berkas x nilai berkas) + (bobot wawancara x nilai wawancara) + (bobot praktek x nilai praktek)

Bastiyan = ( 0,30 x 78 ) + ( 0,25 x 64.3 ) + (0,45 x 77,7 ) = 23,4 + 16,075 + 34,965

= 74,44

Fery = ( 0,30 x 60,3 ) + ( 0,25 x 58 ) + (0,45 x 66,3 ) = 18,09 + 14,5 + 29,835

= 62,425

Janio = ( 0,30 x 67,3 ) + ( 0,25 x 77 ) + (0,45 x 78,7 ) = 20,19 + 19,25 + 35,415

= 74,885

Jimmy = ( 0,30 x 77 ) + ( 0,25 x 65.3 ) + (0,45 x 79 ) = 23,1 + 16,325 + 35,55

= 74,975

Maula = ( 0,30 x 58,7 ) + ( 0,25 x 66 ) + ( 0,45 x 61,7 ) = 17,61 + 16,5 + 27,765

= 61,875

Tabel 3.6 Hasil Total Weighted Evaluation

No Nama Berkas Wawancara Praktek Hasil 1 Bastiyan 23.4 16.075 34.965 74.44

2 Fery 18.09 14.5 29.835 62.425

3 Janio 20.19 19.25 35.415 74.855

4 Jimmy 23.1 16.325 35.55 74.975


(35)

27

3.4.5 Menentukan Disarankan Atau Tidak Disarankan

Pada tahap ini menggunakan metode Bayes untuk menentukan apakah data calon pengajar disarankan atau tidak berdasarkan dengan aturan awal. Perhitungan menggunakan data keterangan aturan awal dan data calon pengajar yang menunjukkan tinggi, normal, dan rendah.

Bastiyan

Kemungkinan Ya =

= 0,5 + 0,6 + 0,2 + 0,8 = 2,1

Kemungkinan Tidak =

= 0,5 + 0 + 0,6 + 0 = 1,1

Karena kemungkinan ya > kemungkinan tidak, maka disarankan Fery

Kemungkinan Ya = 0,5 + 0,4 + 0,2 + 0,2 = 1,3 Kemungkinan Tidak = 0,5 + 0,8 + 0,2 + 0,6 = 2,1

Karena kemungkinan ya < kemungkinan tidak, maka tidak disarankan Janio

Kemungkinan Ya = 0,5 + 0,4 + 0,6 + 0,8 = 2,3 Kemungkinan Tidak = 0,5 + 0,8 + 0,2 + 0 = 1,5

Karena kemungkinan ya > kemungkinan tidak, maka disarankan Jimmy

Kemungkinan Ya = 0,5 + 0,6 + 0,2 + 0,8 = 2,1 Kemungkinan Tidak = 0,5 + 0 + 0,6 + 0 = 1,1


(36)

28

Maula

Kemungkinan Ya = 0,5 + 0 + 0,2 + 0,2 = 0,9 Kemungkinan Tidak = 0,5 + 0,2 + 0,6 + 0,6 = 1,9

Karena kemungkinan ya < kemungkinan tidak, maka tidak disarankan Tabel 3.7 Analisis Perhitungan MFEP dan Bayes

No Nama Berkas Wawancara Praktek Hasil Keterangan 1 Bastiyan 23.4 16.075 34.965 74.44 Disarankan 2 Fery 18.09 14.5 29.835 62.425 Tidak Disarankan 3 Janio 20.19 19.25 35.415 74.855 Disarankan 4 Jimmy 23.1 16.325 35.55 74.975 Disarankan 5 Maula 17.61 16.5 27.765 61.875 Tidak Disarankan 3.5 Pemodelan

Pemodelan (modeling) adalah proses merancang piranti lunak sebelum melakukan pengkodean (coding). Membuat model dari sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik. Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat.

Pada penelitian ini menggunakan UML (Unified Modeling Language) untuk merancang model sebuah sistem yang akan dibangun, UML adalah sebuah "bahasa" yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak (Dharwiyanti & Romi,2013). UML yang digunakan antara lain use case diagram, activity diagram dan sequence diagram.

3.5.1 Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use


(37)

29

case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem. Pada penelitian ini, use case diagram terlihat pada gambar 3.2

Gambar 3.2 Use Case Diagram

Dari gambar 3.2 dijelaskan bahwa user dapat melihat, menginput, mengubah dan menghapus data untuk aturan awal, kriteria dan data calon pengajar. Kemudian melakukan proses perhitungan dengan MFEP dan Bayes. Untuk lebih jelasnya dapat dilihat pada tabel 3.1

Tabel 3.8 Deskripsi Use Case Data Calon Pengajar

Name Data Calon Pengajar

Actors Developer / Staff yang telah ditentukan

Description Use case ini mendeskripsikan untuk mengelola data calon

pengajar.

Basic Flow User dapat menginput data dan setelah menginput data, user

dapat menampilkan keseluruhan data yang tersimpan. Dan user dapat mengubah dan menghapus data jika dianggap tidak sesuai. Sehingga dapat diproses ke tahap selanjutnya.


(38)

30

Alternate Flow User dapat mengelola aturan awal dan kriteria

Pre Condition User ingin input data calon pengajar

Post Condition Data dari calon pengajar telah tersimpan ke database

Tabel 3.9 Deskripsi Use Case Kriteria

Name Kriteria

Actors Developer / Staff yang telah ditentukan

Description Use case ini mendeskripsikan untuk mengelola bobot setiap

kriteria yang diinginkan user

Basic Flow User menginput data kriteria dan setelah menginput data, data

tersebut akan dihitung untuk proses selanjutnya.

Alternate Flow User dapat mengelola data aturan awal dan data calon pengajar

Pre Condition User ingin input bobot untuk setiap kriteria

Post Condition Hasil dari perhitungan bobot setiap kriteria telah tersimpan ke

database

Tabel 3.10 Deskripsi Use Case Perhitungan

Name Data Calon Perhitungan

Actors Developer / Staff yang telah ditentukan

Description Use case ini mendeskripsikan proses perhitungan data calon

pengajar yang telah diinputkan sebelumnya berdasarkan bobot yang telah ditentukan dengan menggunakan MFEP dan Bayes

Basic Flow Setelah data yang diperlukan telah diinputkan oleh User,

selanjutnya data dihitung dengan MFEP dan Bayes

Alternate Flow User dapat kembali ke tampilan awal

Pre Condition User ingin mengetahui hasil perhitungan

Post Condition User dapat mengetahui calon pengajar yag sesuai dengan

kriteria yang diinginkan

3.5.2 Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.


(39)

31

Gambar 3.3 Activity Diagram Input Data

Pada gambar 3.3 menjelaskan bahwa ketika user menginputkan data aturan awal atau data calon pengajar. Maka data tersebut akan tersimpan ke database.

Gambar 3.4 Activity Diagram Ubah Data

Pada gambar 3.4 menjelaskan bahwa ketika user ingin mengubah data aturan awal atau data calon pengajar maka terlebih dahulu user menampilkan data, lalu user


(40)

32

menginputkan data yang akan diubah. Setelah divalidasi, data yang baru akan terupdate dan disimpan ke database.

Gambar 3.5 Activity Diagram Hapus Data

Pada gambar 3.5 menjelaskan bahwa ketika user ingin menghapus data aturan awal atau data calon pengajar maka terlebih dahulu user menampilkan data, lalu user memilih data yang akan dihapus. Setelah divalidasi, data yang terpilih akan terhapus dari database.


(41)

33

Pada gambar 3.6 menjelaskan bahwa ketika proses perhitungan, terlebih dahulu user harus menginput nilai bobot untuk setiap kriteria. Lalu nilai bobot tersebut akan dihitung dengan data aturan awal. Hasil perhitungan tersebut akan dihitung lagi dengan metode MFEP berdasarkan data calon pengajar. Dan proses terakhir akan dihitung dengan metode Bayes.

3.5.3 Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu.

Gambar 3.7 Sequence Diagram Input Data

Pada gambar 3.7 menjelaskan bahwa ketika user menginput data maka sistem akan merespon dengan menampilkan form dan menyimpannya ke database.


(42)

34

Gambar 3.8 Sequence Diagram Ubah Data

Pada gambar 3.8 menjelaskan bahwa ketika user mengubah data maka sistem akan merespon dengan menampilkan form. Dan ketika user memilih data yang akan diubah, sistem akan merespon dengan mengambil data tersebut dari database dan menampilkannya. Data akan terupdate di database.

Gambar 3.9 Sequence Diagram Hapus Data

Pada gambar 3.9 menjelaskan bahwa ketika user menghapus data maka sistem akan merespon dengan menampilkan form. Dan ketika user memilih data yang akan


(43)

35

dihapus, sistem akan merespon dengan mengambil data tersebut dari database dan menampilkannya. Data akan terhapus di database.

Gambar 3.10 Sequence Diagram Perhitungan

Pada gambar 3.10 menjelaskan bahwa ketika user menginput nilai bobot untuk setiap kriteria maka sistem akan menghitungnya dan menyimpannya ke database. Dan menampilkan hasilnya kepada user. Ketika user menekan tombol mfep maka sistem akan menghitung dengan metode mfep menampilkan hasilnya kepada user. Hal yang untuk metode bayes.

3.5.4 Flowchart Bayes

ya

tidak Hitung nilai probabilitas

Input nilai Mulai

P(Ya) > P(Tidak) Disarankan


(44)

36

Gambar 3.11 Flowchart Bayes

Flowchart metode Bayes pada gambar 3.11, inputkan dahulu nilai yang akan dihitung. Selanjutnya nilai tersebut akan dihitung untuk mengetahui nilai probabilitasnya. Setelah diproses maka akan didapat hasil perhitungannya.

3.5.5 Flowchart Multifactor Evaluation Process

Pada metode Multifactor Evaluation Process, terlebih dahulu tentukan faktor kriteria yang diperlukan. Lalu tentukan bobot untuk setiap kriteria. Dengan syarat jumlah pembobot harus sama dengan 1. Selanjutnya tentukan nilai untuk setiap kriteria agar diproses lagi untuk dihitung hasilnya. Flowchart dapat dilihat pada gambar 3.12

Gambar 3.12 Flowchart Multifactor Evaluation Process

Σ pembobotan = 1 ?

tidak

ya Mulai

Menghitung Total Weighted Evaluation ΣWE = Σ(FW x E)

Selesai

Tampilkan hasil perhitungan

Selesai

Input bobot setiap faktor/kriteria


(45)

37

3.5.6 Flowchart Sistem

Pada gambar 3.13 akan ditunjukkan gambaran flowchart sistem secara keseluruhan. Dapat dilihat bahwa tentukan dahulu data aturan awal, kriteria yang diperlukan serta bobot untuk setiap kriteria yang kemudian akan dihitung dengan metode Multifactor Evaluation Process. Selanjutnya menginputkan data calon pengajar. Keseluruhan data akan diproses dengan metode Multifactor Evaluation Process dan Bayes. Sehingga dapat ditentukannya alternatif yang terbaik.

Gambar 3.13 Flowchart Keseluruhan Sistem Mulai

Hitung aturan awal dengan metode MFEP

Hitung data calon pengajar dengan metode Bayes berdasarkan aturan awal

Hasil perhitungan metode Bayes dan MFEP

Selesai

Hitung data calon pengajar dengan metode MFEP Input aturan awal dan


(46)

38

3.6 Perancangan Sistem

Menurut Kusrini & Andri Koniyo (2007) perancangan sistem adalah proses pengembangan spesifikasi sistem baru berdasarkan hasil rekomendasi analisis sistem. Dalam tahap perancangan, tim kerja desain harus merancang spesifikasi yang dibutuhkan dalam berbagai kertas kerja. Kertas kerja itu harus memuat berbagai uraian mengenai input, proses, dan output dari sistem yang diusulkan. Tujuan tahap perancangan sistem adalaha memenuhi kebutuhan pemakai sistem dan memberikan gambaran yang jelas dan rancang bangun yang lengkap untuk pemrogram dan ahli – ahli teknik yang terlibat.

Sasaran yang harus dicapai :

1. Desain sistem harus berguna, mudah dipahami dan digunakan, data harus mudah ditangkap, metode harus mudah diterapkan, informasi mudah dihasilkan dan mudah pula dipahami.

2. Desain sistem harus mendukung tujuan utama perusahaan

3. Desain sistem harus efisien dan efektif dalam mendukung pengolahan transaksi, pelaporan manajemen dan pembuatan keputusan.

3.6.1 Rancangan Menu Aturan Awal


(47)

39

Keterangan:

Tabel 3.11 Keterangan Rancangan Menu Aturan Awal

No Jenis Objek Keterangan

1 Textbox Aturan_ke User mengisi nomor urut

2 Textbox berkas User mengisi bobot berkas

3 Textbox wawancara User mengisi bobot wawancara

4 Textbox praktek User mengisi bobot praktek

5 Button ubah Tombol untuk mengubah data

6 Button hapus Tombol untuk menghapus data

7 Button simpan Tombol untuk menyimpan data ke database

8 Button tampilkan Tombol untuk menampilkan data ke datagridview

9 Datagridview1 Isi inputan data yang tersimpan di database

10 Datagridview2 Isi inputan data yang tersimpan di database

3.6.2 Rancangan Menu Menentukan Bobot


(48)

40

Keterangan:

Tabel 3.12 Keterangan Rancangan Menu Menetukan Bobot

No Jenis Objek Keterangan

1 Textbox berkas User mengisi bobot berkas

2 Textbox wawancara User mengisi bobot wawancara

3 Textbox praktek User mengisi bobot praktek

4 Button hitung Tombol untuk menghitung bobot yang telah

ditentukan

5 Button simpan Tombol untuk menyimpan ke database

6 Button tampilkan Tombol untuk menampilkan data yang telah dihitung

7 Datagridview1 Isi inputan data dari hasil perhitungan bobot

8 Datagridview2 Isi inputan data dari hasil akhir perhitungan

3.6.3 Rancangan Menu Calon Pengajar

Gambar 3.16 Rancangan Menu Calon Pengajar

Keterangan:

Tabel 3.13 Keterangan Rancangan Menu Calon Pengajar

No Jenis Objek Keterangan


(49)

41

2 Textbox berkas User mengisi nilai berkas

3 Textbox wawancara User mengisi nilai wawancara

4 Textbox praktek User mengisi nilai praktek

5 Button simpan Tombol untuk menyimpan data yang telah diinputkan

oleh user ke database

6 Button bersih Tombol untuk membersihkan textbox

7 Datagridview1 Isi inputan data user yang disimpan di dalam database

8 Datagridview2 Isi inputan nilai yang sudah diubah

9 Button tampilkan Tombol untuk melihat hasil input dan edit data

10 Button hapus Tombol untuk menghapus data 11 Button ubah Tombol untuk mengubah data

3.6.4 Rancangan Menu Perhitungan


(50)

42

Keterangan:

Tabel 3.14 Keterangan Rancangan Menu Perhitungan

No Jenis Objek Keterangan

1 Datagridview1 Menampilkan seluruh data aturan awal

Datagridview2 Menampilkan seluruh data calon pengajar

2 Datagridview3 Menampilkan hasil perhitungan dari metode MFEP dan

Bayes

3 Button MFEP Tombol untuk menghitung data dengan proses MFEP


(51)

43

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem

Implementasi sistem merupakan tahap selanjutnya yang harus dilakukan untuk mengimplementasikan sistem yang sebelumnya sudah dianalisis dan dirancang ke dalam sebuah pemograman. Implementasi sistem ini dibangun menggunakan bahasa pemrograman C# dan Database Management System Mysql.

4.1.1 Halaman Utama

Merupakan tampilan awal saat user mulai menjalankan aplikasi. User dapat memilih menu yang tersedia, yaitu aturan awal, bobot, data pengajar, dan hitung.


(52)

44

4.1.2 Menu Aturan Awal

Merupakan tampilan untuk input data aturan awal, saat button Simpan dijalankan, maka sistem akan menyimpan data yang telah diinputkan oleh user ke database dan menampilkannnya ke datagridview. Jika user mengubah atau menghapus data, maka seharusnya sistem dapat merespon dengan mengubah data atau menghapus data yang tersimpan ke database.

Gambar 4.2 Menu Aturan Awal

4.1.3 Menu Bobot

Pada menu ini user menginputkan bobot untuk setiap kriteria, sesuai dengan perancangan sistem sebelumnya, yaitu untuk berkas (0.30), wawancara (0.25) dan praktek (0.45). Jika penginputan bobot tidak sesuai, maka sistem tidak dapat berjalan maksimal karena bersifat statis. Pada saat button hitung ditekan, maka sistem akan memproses perhitungan dan dapat menampilkan hasil proses perhitungan sesuai dengan yang diharapkan. Dan sistem dapat menyimpan hasil tersebut ke dalam database, untuk dapat digunakan lagi pada proses perhitungan selanjutnya.


(53)

45

Gambar 4.3 Menu Bobot

4.1.4 Menu Data Pengajar

Pada menu ini, user dapat menginputkan data sebanyak 5 data saja, karena sistem bersifat statis. Pada saat user mengubah atau menghapus data, maka sistem dapat mengubah atau menghapus data yang tersimpan ke dalam database pula.


(54)

46

4.2 Pengujian Sistem

Pengujian sistem dilakukan untuk mengetahui apakah sistem berfungsi sesuai dengan yang diharapkan. Pengujian sistem termasuk juga pengujian program secara menyeluruh. Program yang telah diintegrasikan perlu diuji coba atau dites untuk melihat apakah sebuah program dapat menerima dengan baik, memproses dan memberikan keluaran program sesuai yang diharapkan.

Pada penelitian ini, pengujian sistem dilakukan untuk mengetahui proses penggabungan dua metode (Bayes dan Multifactor Evaluation Process) pada rekrutmen pengajar baru, apakah dengan menggabungkan dua metode tersebut menghasilkan data yang lebih akurat lagi. Dan hasil dari pengujian sistem ini yaitu untuk mendapatkan data calon pengajar yang sesuai dengan kriteria. Dari gambar 3.22 dapat disimpulkan bahwa 3 dari 5 data calon pengajar disarankan untuk menjadi pengajar, yaitu Janio, Jimmy dan Bastiyan. Dengan hasil, Janio (74,85), Jimmy (74,95), dan Bastiyan (74,44). Dari ketiga calon pengajar tersebut Jimmy yang memiliki nilai tertinggi.


(55)

47

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil analisis dan pengujian terhadap sistem pendukung keputusan untuk rekrutmen pengajar baru dengan menggunakan metode Hybrid (Bayes dan Multifactor Evaluation Process), maka kesimpulan yang dapat diambil adalah sebagai berikut : a) Metode Bayes dan Multifactor Evaluation Process dapat di-hybrid-kan sehingga

menghasilkan hasil yang lebih akurat jika dibandingkan dengan menggunakan satu metode saja.

b) Dari hasil pengujian sistem ini, ada 3 data yang disarankan untuk diterima sebagai pengajar yaitu Jimmy (74,95), Janio (74,85), dan Bastiyan (74,44). Dan nilai tertinggi diantara ketiga data tersebut adalah Jimmy (74,95).

5.2 Saran

Berikut ini adalah saran-saran yang dapat dijadikan pertimbangan dalam mengembangkan penelitian ini:

a) Karena sistem ini bersifat statis, maka penginputan data dibatasi hanya sebanyak 5 data pengajar. Oleh sebab itu sistem yang dibuat hendaknya bersifat dinamis, sehingga tidak ada batas dalam menginputkan data.

b) Hendaknya lebih banyak data yang digunakan untuk data aturan awal, sehingga hasilnya agar lebih akurat lagi.


(56)

6

BAB 2

TINJAUAN PUSTAKA

2.1 Tinjauan Umum Perusahaan

Lembaga pendidikan pelatihan dan ketrampilan komputer “Media Com” Binjai didirikan pada tanggal 25 Mei 2010 di kota Binjai, Sumatera Utara. Landasan pendirian lembaga ini adalah untuk mempersiapkan dan meningkatkan keahlian sumber daya manusia (SDM) yang sesuai dengan tuntutan kebutuhan dunia kerja melalui pelatihan ketrampilan, ilmu pengetahuan terapan serta pengembangan sikap dan perilaku kerja profesional. Seiring dengan perkembangan jaman dan kebutuhan masyarakat, maka lembaga ini menyelenggarakan beberapa jenis pendidikan meliputi: Teknisi komputer (Hardware), Teknisi Komputer Jaringan (LAN), Web Design (Web Master), Design Grafis, Video Editing, Komputer Akuntansi (MYOB) dan Microsoft Office yang masing-masing menyediakan beberapa pilihan paket.

2.2 Sistem Pendukung Keputusan

Konsep Sistem Pendukung Keputusan (SPK) atau Decision Support Systems (DSS) pertama kali diungkapkan pada awal tahun 1970-an oleh Michael S. Scott Morton dengan istilah Management Decision Systems.

Sistem Pendukung Keputusan (SPK) biasanya dibangun untuk mendukung solusi atas suatu masalah atau untuk suatu peluang. Aplikasi Sistem Pendukung Keputusan (SPK) digunakan dalam pengambilan keputusan. Aplikasi Sistem Pendukung Keputusan (SPK) menggunakan CBIS (Computer Based Information


(1)

HYBRID METHOD (BAYES AND MULTIFACTOR EVALUATION PROCESS) IN DECISION SUPPORT SYSTEM

ABSTRACT

One of the difficulties in the process of decision making of a problem is having many factors to consider. Therefore, it needs a method to solve it. Some methods that can be applied are Bayes and Multifactor Evaluation Process methods. But the two methods have weaknesses. The problem is how to minimalize the weaknesses of the two methods. One of the ways that can be used is by applying Hybrid method, which is combining the power of each method so that the weaknesses can be minimalized. The final result of the research is to decide the best alternative out of some alternatives which is appropriate with the given criteria based on the combining of the two methods

Keywords : Decision Support System, Hybrid, Bayes, Multifactor Evaluation Process


(2)

DAFTAR ISI

Halaman

PERSETUJUAN ii

PERNYATAAAN iii

PENGHARGAAN iv

ABSTRAK vi

ABSTRACT vii

DAFTAR ISI viii

DAFTAR TABEL xi

DAFTAR GAMBAR xii

BAB 1 PENDAHULUAN

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 4

BAB 2 TINJAUAN PUSTAKA

2.1 Tinjauan Umum Perusahaan 6

2.2 Sistem Pendukung Keputusan 6

2.2.1 Pengertian Sistem Pendukung Keputusan 7 2.2.2 Karakteristik Sistem Pendukung Keputusan 7


(3)

2.3.2 Perhitungan Dengan Metode Bayes 13 2.4 Metode Multifactor Evaluaton Process 15

2.4.1 Langkah – langkah Metode MFEP 16 2.4.2 Perhitungan Dengan Metode MFEP 16

2.5 Metode Hybrid 18

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem 19

3.2 Analisis Masalah 20

3.3 Analisis Persyaratan Sistem (Reqiurement Analysis System) 21 3.3.1 Analisis Persyaratan Fungsional 22 3.3.2 Analisis Persyaratan Non - Funsional 22

3.4 Cara Kerja Sistem 22

3.4.1 Menentukan Aturan Awal 23

3.4.2 Menghitung Total Weighted Evaluation 24

3.4.3 Menentukan alternatif 25

3.4.4 Menghitung Total WE Setiap Alternatif 25 3.4.5 Menentukan Disarankan Atau Tidak Disarankan 27

3.5 Pemodelan 28

3.5.1 Use Case Diagram 28

3.5.2 Activity Diagram 30

3.5.3 Sequence Diagram 33

3.5.4 Flowchart Bayes 35

3.5.5 Flowchart MFEP 36

3.5.6 Flowchart Sistem 37

3.6 Perancangan Sistem 38

3.6.1 Rancangan Menu Aturan Awal 38

3.6.2 Rancangan Menu Menentukan Bobot 39

3.6.3 Rancangan Menu Calon Pengajar 40


(4)

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem 43

4.1.1 Halaman Utama 43

4.1.2 Menu Aturan Awal 44

4.1.3 Menu Bobot 44

4.1.4 Menu Data Pengajar 45

4.2 Pengujian Sistem 46

BAB 5 KESIMPULAN DAN SARAN

5.1 Kesimpulan 47

5.2 Saran 47

DAFTAR PUSTAKA 48

Lampiran A : Listing Program Lampiran B : Curriculum Vitae


(5)

DAFTAR TABEL

Halaman

2.1 Data Aturan Awal Bayes 13

2.2 Data Calon Pengajar Untuk Bayes 14

2.3 Hasil Perhitungan Bayes 15

2.4 Data Calon Pengajar Untuk MFEP 16

2.5 Hasil Perhitungan MFEP 17

3.1 Data Pengajar Media.Com 23

3.2 Data Aturan Awal 24

3.3 Bobot Setiap Kriteria 24

3.4 Weighted Evaluation dan Kesimpulan 25

3.5 Data Calon Pengajar 25

3.6 Hasil Total Weighted Evaluation 26

3.7 Analisis Perhitungan MFEP dan Bayes 28

3.8 Deskripsi Use Case Data Calon Pengajar 29

3.9 Deskripsi Use Case Kriteria 30

3.10 Deskripsi Use Case Perhitungan 30

3.11 Keterangan Rancangan Menu Aturan Awal 39

3.12 Keterangan Rancangan Menu Menentukan bobot 40

3.13 Keterangan Rancangan Menu Calon Pengajar 40


(6)

DAFTAR GAMBAR

Halaman

2.1 Fase Proses Pengambilan Keputusan 10

3.1 Diagram Ishikawa 21

3.2 Use Case Diagram 29

3.3 Activity Diagram Input Data 31

3.4 Activity Diagram Ubah Data 31

3.5 Activity Diagram Hapus Data 32

3.6 Activity Diagram Perhitungan 32

3.7 Sequence Diagram Input Data 33

3.8 Sequence Diagram Ubah Data 34

3.9 Sequence Diagram Hapus Data 34

3.10 Sequence Diagram Perhitungan 35

3.11 Flowchart Bayes 36

3.12 Flowchart Multifactor Evaluation Process 36

3.13 Flowchart Sistem 37

3.14 Rancangan Menu Aturan Awal 38

3.15 Rancangan Menu Menentukan Bobot 39

3.16 Rancangan Menu Calon Pengajar 40

3.17 Rancangan Menu Perhitungan 41

4.1 Halaman Utama 43

4.2 Menu Aturan Awal 44

4.3 Menu Bobot 45

4.4 Menu Data Pengajar 45