Implementasi Metode Smart (Simple Multi Attribute Rating Technique) dan Metode WP (Weighted Product) pada Sistem Pendukung Keputusan dalam Menentukan Paket Internet
LISTING PROGRAM
Main.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using MySql.Data.MySqlClient; namespace SpkInternet {public partial class Main : Form {
string connectionSQL = "server=localhost;database=internet; uid=root;password=;"; public Main() { InitializeComponent(); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.MinimizeBox = false;
}
private void pilihPaketToolStripMenuItem_Click(object sender, EventArgs e)
{
Form input = new Input(); input.Show();
}
private void metodeSMARTToolStripMenuItem_Click(object sender, EventArgs e)
{
Form metodeSmart = new smart(); metodeSmart.Show();
}
private void inputToolStripMenuItem_Click(object sender, EventArgs e) {
Form input = new Input(); input.Show();
}
private void metodeWeihtedProductToolStripMenuItem_Click(object sender, EventArgs e)
{
Form wp = new wp(); wp.Show();
}
private void kesimpulanToolStripMenuItem_Click(object sender, EventArgs e)
{
Form hasil = new kesimpulan(); hasil.Show();
(2)
private void Main_FormClosed(object sender, FormClosedEventArgs e) {
MySqlConnection db = new MySqlConnection(connectionSQL); MySqlCommand delete = db.CreateCommand();
string commend = "delete from spk where kuota>1;"; db.Open();
delete.CommandText = commend;
MySqlDataReader reader = delete.ExecuteReader(); db.Close();
commend = "delete from smart where total>0;"; db.Open();
delete.CommandText = commend; reader = delete.ExecuteReader(); db.Close();
commend = "delete from wp where total>0;"; db.Open();
delete.CommandText = commend; reader = delete.ExecuteReader(); db.Close();
commend = "delete from waktu where waktu>0;"; db.Open();
delete.CommandText = commend; reader = delete.ExecuteReader(); db.Close(); } } } Input.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using MySql.Data.MySqlClient; namespace SpkInternet {
public partial class Input : Form {
string connectionSQL = "server=localhost;database=internet; uid=root;password=;";
string[,] n = new string[99,5]; int[] volume = new int[99]; int[] price = new int[99]; int[] periode = new int[99]; int[] speed = new int[99];
public Input() {
InitializeComponent();
(3)
this.FormBorderStyle =
System.Windows.Forms.FormBorderStyle.FixedSingle; this.MaximizeBox = false; }
private void simpatiToolStripMenuItem1_Click(object sender, EventArgs e)
{
Form simpati = new Simpati(); simpati.Show();
}
private void asToolStripMenuItem_Click(object sender, EventArgs e) {
Form KartuAs = new As(); KartuAs.Show();
}
private void indosatToolStripMenuItem1_Click(object sender, EventArgs e)
{
Form indosat = new Indosat(); indosat.Show();
}
private void hotrodToolStripMenuItem_Click(object sender, EventArgs e) {
Form xlhotroad = new xl(); xlhotroad.Show();
}
private void hotrod4GToolStripMenuItem_Click(object sender, EventArgs e)
{
Form xlhotrod4g = new xl4g(); xlhotrod4g.Show();
}
private void regulerToolStripMenuItem_Click(object sender, EventArgs e) {
Form _3reg = new _3reguler(); _3reg.Show();
}
private void toolStripMenuItem3_Click(object sender, EventArgs e) {
Form _3tambah = new _3plus(); _3tambah.Show();
}
private void kendoToolStripMenuItem_Click(object sender, EventArgs e) {
Form _3kend = new _3kendo(); _3kend.Show();
}
private void Input_Load(object sender, EventArgs e) {
(4)
MySqlConnection db = new MySqlConnection(connectionSQL); MySqlCommand command = db.CreateCommand();
command.CommandText = "SELECT * FROM picked"; db.Open();
DataSet ds = new DataSet();
MySqlDataAdapter da = new MySqlDataAdapter(command); da.Fill(ds, "data");
dataGridView1.DataSource = ds; dataGridView1.DataMember = "data"; db.Close();
}
private void button1_Click(object sender, EventArgs e) {
MySqlConnection db = new MySqlConnection(connectionSQL); MySqlCommand command = db.CreateCommand();
command.CommandText = "SELECT * FROM picked"; db.Open();
DataSet ds = new DataSet();
MySqlDataAdapter da = new MySqlDataAdapter(command); da.Fill(ds, "data");
dataGridView1.DataSource = ds; dataGridView1.DataMember = "data"; db.Close();
for (int rows = 0; rows < dataGridView1.Rows.Count; rows++) {
for (int col = 0; col < dataGridView1.Rows[rows].Cells.Count; col++)
{
n[rows, col] =
dataGridView1.Rows[rows].Cells[col].Value.ToString(); }
}
for (int i = 0; i < dataGridView1.Rows.Count; i++) {
if (Convert.ToDouble(n[i, 1]) <= 500) volume[i] = 20;
else if (Convert.ToDouble(n[i, 1]) > 500 && Convert.ToDouble(n[i, 1]) <= 1000)
volume[i] = 40;
else if (Convert.ToDouble(n[i, 1]) > 1000 && Convert.ToDouble(n[i, 1]) <= 5000)
volume[i] = 60;
else if (Convert.ToDouble(n[i, 1]) > 5000 && Convert.ToDouble(n[i, 1]) <= 10000)
volume[i] = 80; else
volume[i] = 100; }
for (int i = 0; i < dataGridView1.Rows.Count; i++) {
if (Convert.ToInt32(n[i, 2]) <= 25000) price[i] = 100;
(5)
else if (Convert.ToInt32(n[i, 2]) > 25000 && Convert.ToInt32(n[i, 2]) <= 50000)
price[i] = 80;
else if (Convert.ToInt32(n[i, 2]) > 50000 && Convert.ToInt32(n[i, 2]) <= 10000)
price[i] = 60;
else if (Convert.ToInt32(n[i, 2]) > 100000 && Convert.ToInt32(n[i, 2]) <= 250000)
price[i] = 40; else
price[i] = 20; }
for (int i = 0; i < dataGridView1.Rows.Count; i++) {
if (Convert.ToInt32(n[i, 3]) <= 7) periode[i] = 60;
else if (Convert.ToInt32(n[i, 3]) > 7 && Convert.ToInt32(n[i, 3]) <= 30)
periode[i] = 80; else
periode[i] = 100; }
for (int i = 0; i < dataGridView1.Rows.Count; i++) {
if (n[i, 4] == "3,5 G") speed[i] = 70; else
speed[i] = 100; }
}
private void button2_Click(object sender, EventArgs e) {
MySqlConnection db = new MySqlConnection(connectionSQL); db.Open();
DialogResult button = MessageBox.Show("Yakin menghapus data ini?", "WARNING", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if (button == DialogResult.Yes) {
MySqlCommand delete = db.CreateCommand();
string commend = "delete from picked where kuota>1;"; delete.CommandText = commend;
MySqlDataReader reader = delete.ExecuteReader(); db.Close();
} }
private void button3_Click(object sender, EventArgs e) {
dataGridView2.Rows.Clear(); dataGridView2.Refresh(); button1.PerformClick();
(6)
dataGridView2.Columns[0].Name = "Nama"; dataGridView2.Columns[1].Name = "Kuota"; dataGridView2.Columns[2].Name = "Harga"; dataGridView2.Columns[3].Name = "Masa Aktif"; dataGridView2.Columns[4].Name = "Jaringan"; string[] row = new string[99];
for (int i = 0;i < dataGridView1.Rows.Count;i++) {
row = new string[] { string.Concat(n[i, 0], " ", n[i, 1]), Convert.ToString(volume[i]), Convert.ToString(price[i]),
Convert.ToString(periode[i]), Convert.ToString(speed[i]) }; dataGridView2.Rows.Add(row);
} }
private void button4_Click(object sender, EventArgs e) {
DialogResult button = MessageBox.Show("Yakin untuk menyimpan data?", "WARNING", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
if (button == DialogResult.Yes) {
for (int i = 0; i < dataGridView1.Rows.Count; i++) {
MySqlConnection db = new MySqlConnection(connectionSQL); db.Open();
MySqlCommand input = db.CreateCommand(); string commend = "insert into
spk(nama,kuota,harga,masaaktif,jaringan) values('" + string.Concat(n[i, 0], " ", n[i, 1]) + "'," + volume[i] + "," + price[i]
+ "," + periode[i] + "," + speed[i] + ");";
input.CommandText = commend;
MySqlDataReader reader = input.ExecuteReader(); } } } } } smart.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using MySql.Data.MySqlClient; using System.Diagnostics; namespace SpkInternet {
(7)
{
string[,] Total = new string[99, 6];
string connectionSQL = "server=localhost;database=internet; uid=root;password=;";
double total,n1,n2,n3,n4; double[] volume = new double[99]; double[] price = new double[99]; double[] periode = new double[99];
private void smart_Load(object sender, EventArgs e) {
label12.Text = ""; label13.Text = ""; label15.Text = ""; label16.Text = ""; label18.Text = ""; label19.Text = ""; label21.Text = ""; label22.Text = ""; }
double[] speed = new double[99];
double[] bobot_evaluasi = new double[99]; public smart()
{
InitializeComponent(); this.FormBorderStyle =
System.Windows.Forms.FormBorderStyle.FixedSingle; this.MaximizeBox = false;
}
private void button1_Click(object sender, EventArgs e) {
Stopwatch sw = Stopwatch.StartNew();
total = Convert.ToDouble(paket.Text) + Convert.ToDouble(harga.Text) + Convert.ToDouble(masaaktif.Text) + Convert.ToDouble(jaringan.Text);
label12.Text = string.Concat(paket.Text, " / ", Convert.ToString(total));
label15.Text = string.Concat(harga.Text, " / ", Convert.ToString(total));
label18.Text = string.Concat(masaaktif.Text, " / ", Convert.ToString(total));
label21.Text = string.Concat(jaringan.Text, " / ", Convert.ToString(total));
n1 = System.Math.Round((Convert.ToDouble(paket.Text) / total), 3); n2 = System.Math.Round((Convert.ToDouble(harga.Text) / total), 3); n3 = System.Math.Round((Convert.ToDouble(masaaktif.Text) / total), 3);
n4 = System.Math.Round((Convert.ToDouble(jaringan.Text) / total), 3);
label13.Text = Convert.ToString(n1); label16.Text = Convert.ToString(n2);
(8)
label19.Text = Convert.ToString(n3); label22.Text = Convert.ToString(n4);
MySqlConnection db = new MySqlConnection(connectionSQL); MySqlCommand command = db.CreateCommand();
command.CommandText = "SELECT * FROM spk"; db.Open();
DataSet ds = new DataSet();
MySqlDataAdapter da = new MySqlDataAdapter(command); da.Fill(ds, "data");
dataGridView1.DataSource = ds; dataGridView1.DataMember = "data"; db.Close();
for (int rows = 0; rows < dataGridView1.Rows.Count-1; rows++) {
for (int col = 0; col < dataGridView1.Rows[rows].Cells.Count; col++)
{
Total[rows, col] =
this.dataGridView1.Rows[rows].Cells[col].Value.ToString(); }
}
string[] row = new string[99];
for (int i= 0 ; i < dataGridView1.Rows.Count - 1; i++) {
volume[i] = Convert.ToInt32(Total[i, 2]) * n1; price[i] = Convert.ToInt32(Total[i, 3]) * n2; periode[i] = Convert.ToInt32(Total[i, 4]) * n3; speed[i] = Convert.ToInt32(Total[i, 5]) * n4; dataGridView3.ColumnCount = 5;
dataGridView3.Columns[0].Name = "Nama"; dataGridView3.Columns[1].Name = "Kuota"; dataGridView3.Columns[2].Name = "Harga"; dataGridView3.Columns[3].Name = "Masa Aktif";
dataGridView3.Columns[4].Name = "Jaringan";
row = new string[] { Total[i,1], Convert.ToString(volume[i]), Convert.ToString(price[i]), Convert.ToString(periode[i]),
Convert.ToString(speed[i]) };
dataGridView3.Rows.Add(row);
}
for (int i = 0; i < dataGridView1.Rows.Count-1; i++) {
bobot_evaluasi[i] = volume[i] + price[i] + periode[i] + speed[i];
db.Open();
MySqlCommand input = db.CreateCommand();
string commend = "insert into smart values('" + Total[i,1] + "'," + bobot_evaluasi[i] + ");";
(9)
MySqlDataReader reader = input.ExecuteReader(); db.Close();
}
MySqlCommand command2 = db.CreateCommand();
command2.CommandText = "SELECT * FROM smart order by total desc"; db.Open();
DataSet ds2 = new DataSet();
MySqlDataAdapter da2 = new MySqlDataAdapter(command2); da2.Fill(ds2, "data");
dataGridView2.DataSource = ds2; dataGridView2.DataMember = "data"; db.Close();
sw.Stop();
label7.Text= "Waktu Eksekusi : " + sw.Elapsed.TotalMilliseconds + " ms";
db.Open();
MySqlCommand inputwaktu = db.CreateCommand();
string commend1 = "insert into waktu values('smart'," + sw.Elapsed.TotalMilliseconds + "); ";
inputwaktu.CommandText = commend1;
MySqlDataReader reader2 = inputwaktu.ExecuteReader(); db.Close(); } } } wp.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using MySql.Data.MySqlClient; using System.Diagnostics; namespace SpkInternet {
public partial class wp : Form {
string[,] Total = new string[99, 6];
string connectionSQL = "server=localhost;database=internet; uid=root;password=;";
double total, n1, n2, n3, n4, totalvektorS=0; double[] volume = new double[99];
double[] price = new double[99]; double[] periode = new double[99];
private void wp_Load(object sender, EventArgs e) {
label12.Text = ""; label13.Text = "";
(10)
label15.Text = ""; label16.Text = ""; label18.Text = ""; label19.Text = ""; label21.Text = ""; label22.Text = ""; }
double[] speed = new double[99]; double[] vektorV = new double[99]; double[] vektorS = new double[99]; public wp() { InitializeComponent(); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.MaximizeBox = false;
}
private void button1_Click(object sender, EventArgs e) {
Stopwatch sw = Stopwatch.StartNew();
total = Convert.ToDouble(paket.Text) + Convert.ToDouble(harga.Text) + Convert.ToDouble(masaaktif.Text) + Convert.ToDouble(jaringan.Text);
label12.Text = string.Concat(paket.Text, " / ", Convert.ToString(total));
label15.Text = string.Concat(harga.Text, " / ", Convert.ToString(total));
label18.Text = string.Concat(masaaktif.Text, " / ", Convert.ToString(total));
label21.Text = string.Concat(jaringan.Text, " / ", Convert.ToString(total));
n1 = System.Math.Round((Convert.ToDouble(paket.Text) / total), 3); n2 = System.Math.Round((Convert.ToDouble(harga.Text) / total), 3); n3 = System.Math.Round((Convert.ToDouble(masaaktif.Text) / total), 3);
n4 = System.Math.Round((Convert.ToDouble(jaringan.Text) / total), 3);
label13.Text = Convert.ToString(n1); label16.Text = Convert.ToString(n2); label19.Text = Convert.ToString(n3); label22.Text = Convert.ToString(n4); dataGridView1.Visible = false;
MySqlConnection db = new MySqlConnection(connectionSQL); MySqlCommand command = db.CreateCommand();
command.CommandText = "SELECT * FROM spk"; db.Open();
(11)
DataSet ds = new DataSet();
MySqlDataAdapter da = new MySqlDataAdapter(command); da.Fill(ds, "data");
dataGridView1.DataSource = ds; dataGridView1.DataMember = "data"; db.Close();
for (int rows = 0; rows < dataGridView1.Rows.Count - 1; rows++) {
for (int col = 0; col < dataGridView1.Rows[rows].Cells.Count; col++)
{
Total[rows, col] =
this.dataGridView1.Rows[rows].Cells[col].Value.ToString(); }
}
string[] row = new string[99];
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {
volume[i] =
System.Math.Round(Math.Pow(Convert.ToDouble(Total[i, 2]),n1),3);
price[i] = System.Math.Round(Math.Pow(Convert.ToDouble(Total[i, 3]),n2),3);
periode[i] =
System.Math.Round(Math.Pow(Convert.ToDouble(Total[i, 4]),n3),3); speed[i] = System.Math.Round(
Math.Pow(Convert.ToDouble(Total[i, 5]),n4),3); dataGridView3.ColumnCount = 5;
dataGridView3.Columns[0].Name = "Nama"; dataGridView3.Columns[1].Name = "Kuota"; dataGridView3.Columns[2].Name = "Harga"; dataGridView3.Columns[3].Name = "Masa Aktif"; dataGridView3.Columns[4].Name = "Jaringan";
row = new string[] { Total[i, 1], Convert.ToString(volume[i]), Convert.ToString(price[i]), Convert.ToString(periode[i]),
Convert.ToString(speed[i]) };
dataGridView3.Rows.Add(row); }
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {
vektorS[i] = volume[i] * price[i] * periode[i] * speed[i]; totalvektorS += vektorS[i];
}
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) {
vektorV[i] = System.Math.Round((vektorS[i] / totalvektorS),3);
db.Open();
(12)
string commend = "insert into wp values('" + Total[i, 1] + "'," + vektorV[i] + ");";
input.CommandText = commend;
MySqlDataReader reader = input.ExecuteReader(); db.Close();
}
MySqlCommand command2 = db.CreateCommand();
command2.CommandText = "SELECT * FROM wp order by total desc"; db.Open();
DataSet ds2 = new DataSet();
MySqlDataAdapter da2 = new MySqlDataAdapter(command2); da2.Fill(ds2, "data");
dataGridView2.DataSource = ds2; dataGridView2.DataMember = "data"; db.Close();
sw.Stop();
label7.Text = "Waktu Eksekusi : " + sw.Elapsed.TotalMilliseconds + " ms";
db.Open();
MySqlCommand inputwaktu = db.CreateCommand();
string commend1 = "insert into waktu values('wp'," + sw.Elapsed.TotalMilliseconds + "); ";
inputwaktu.CommandText = commend1;
MySqlDataReader reader2 = inputwaktu.ExecuteReader(); db.Close(); } } } Simpati.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using MySql.Data.MySqlClient; namespace SpkInternet {
public partial class Simpati : Form {
string connectionSQL = "server=localhost;database=internet; uid=root;password=;"; public Simpati() { InitializeComponent(); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
(13)
this.MaximizeBox = false; this.MinimizeBox = false; }
private void label1_Click(object sender, EventArgs e) {
MySqlConnection db = new MySqlConnection(connectionSQL); db.Open();
DialogResult button = MessageBox.Show("Yakin memilih paket ini?", "WARNING", MessageBoxButtons.YesNo,MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if (button == DialogResult.Yes) {
MySqlCommand input = db.CreateCommand(); string commend = "insert into picked values('simpati',15,3750,1,'3,5 G');";
input.CommandText = commend;
MySqlDataReader reader = input.ExecuteReader(); label11.Visible = true;
} }
private void label10_Click(object sender, EventArgs e) {
MySqlConnection db = new MySqlConnection(connectionSQL); db.Open();
DialogResult button = MessageBox.Show("Yakin memilih paket ini?", "WARNING", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if (button == DialogResult.Yes) {
MySqlCommand input = db.CreateCommand(); string commend = "insert into picked values('simpati',30,5000,2,'3,5 G');";
input.CommandText = commend;
MySqlDataReader reader = input.ExecuteReader(); label12.Visible = true;
} }
private void label8_Click(object sender, EventArgs e) {
MySqlConnection db = new MySqlConnection(connectionSQL); db.Open();
DialogResult button = MessageBox.Show("Yakin memilih paket ini?", "WARNING", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if (button == DialogResult.Yes) {
MySqlCommand input = db.CreateCommand(); string commend = "insert into picked values('simpati',50,9000,7,'3,5 G');";
input.CommandText = commend;
MySqlDataReader reader = input.ExecuteReader(); label13.Visible = true;
(14)
}
private void label9_Click(object sender, EventArgs e) {
MySqlConnection db = new MySqlConnection(connectionSQL); db.Open();
DialogResult button = MessageBox.Show("Yakin memilih paket ini?", "WARNING", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if (button == DialogResult.Yes) {
MySqlCommand input = db.CreateCommand(); string commend = "insert into picked values('simpati',100,14000,7,'3,5 G');";
input.CommandText = commend;
MySqlDataReader reader = input.ExecuteReader(); label14.Visible = true;
} }
private void label7_Click(object sender, EventArgs e) {
MySqlConnection db = new MySqlConnection(connectionSQL); db.Open();
DialogResult button = MessageBox.Show("Yakin memilih paket ini?", "WARNING", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if (button == DialogResult.Yes) {
MySqlCommand input = db.CreateCommand(); string commend = "insert into picked values('simpati',300,28000,7,'3,5 G');";
input.CommandText = commend;
MySqlDataReader reader = input.ExecuteReader(); label15.Visible = true;
} }
private void label3_Click(object sender, EventArgs e) {
MySqlConnection db = new MySqlConnection(connectionSQL); db.Open();
DialogResult button = MessageBox.Show("Yakin memilih paket ini?", "WARNING", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if (button == DialogResult.Yes) {
MySqlCommand input = db.CreateCommand(); string commend = "insert into picked values('simpati',600,47500,30,'3,5 G');";
input.CommandText = commend;
MySqlDataReader reader = input.ExecuteReader(); label16.Visible = true;
} }
(15)
{
MySqlConnection db = new MySqlConnection(connectionSQL); db.Open();
DialogResult button = MessageBox.Show("Yakin memilih paket ini?", "WARNING", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if (button == DialogResult.Yes) {
MySqlCommand input = db.CreateCommand(); string commend = "insert into picked values('simpati',2000,87500,30,'3,5 G');";
input.CommandText = commend;
MySqlDataReader reader = input.ExecuteReader(); label17.Visible = true;
} }
private void label4_Click(object sender, EventArgs e) {
MySqlConnection db = new MySqlConnection(connectionSQL); db.Open();
DialogResult button = MessageBox.Show("Yakin memilih paket ini?", "WARNING", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if (button == DialogResult.Yes) {
MySqlCommand input = db.CreateCommand(); string commend = "insert into picked values('simpati',4500,140000,30,'3,5 G');";
input.CommandText = commend;
MySqlDataReader reader = input.ExecuteReader(); label18.Visible = true;
} }
private void label6_Click(object sender, EventArgs e) {
MySqlConnection db = new MySqlConnection(connectionSQL); db.Open();
DialogResult button = MessageBox.Show("Yakin memilih paket ini?", "WARNING", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if (button == DialogResult.Yes) {
MySqlCommand input = db.CreateCommand(); string commend = "insert into picked values('simpati',8000,275000,30,'3,5 G');";
input.CommandText = commend;
MySqlDataReader reader = input.ExecuteReader(); label19.Visible = true;
} }
private void label5_Click(object sender, EventArgs e) {
MySqlConnection db = new MySqlConnection(connectionSQL); db.Open();
(16)
DialogResult button = MessageBox.Show("Yakin memilih paket ini?", "WARNING", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if (button == DialogResult.Yes) {
MySqlCommand input = db.CreateCommand(); string commend = "insert into picked values('simpati',14000,480000,30,'3,5 G');";
input.CommandText = commend;
MySqlDataReader reader = input.ExecuteReader(); label20.Visible = true;
} }
private void Simpati_Load(object sender, EventArgs e) {
label11.Visible = false; label12.Visible = false; label13.Visible = false; label14.Visible = false; label15.Visible = false; label16.Visible = false; label17.Visible = false; label18.Visible = false; label19.Visible = false; label20.Visible = false; } } } kesimpulan.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using MySql.Data.MySqlClient; namespace SpkInternet {
public partial class kesimpulan : Form {
string connectionSQL = "server=localhost;database=internet; uid=root;password=;"; public kesimpulan() { InitializeComponent(); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.MaximizeBox = false;
}
private void kesimpulan_Load(object sender, EventArgs e) {
label5.Text = "0.00"; label6.Text = "0.00";
(17)
MySqlConnection db = new MySqlConnection(connectionSQL); MySqlCommand command = db.CreateCommand();
command.CommandText = "SELECT * FROM smart order by total desc"; db.Open();
DataSet ds = new DataSet();
MySqlDataAdapter da = new MySqlDataAdapter(command); da.Fill(ds, "data");
dataGridView1.DataSource = ds; dataGridView1.DataMember = "data"; db.Close();
MySqlCommand command2 = db.CreateCommand();
command2.CommandText = "SELECT * FROM wp order by total desc"; db.Open();
DataSet ds2 = new DataSet();
MySqlDataAdapter da2 = new MySqlDataAdapter(command2); da2.Fill(ds2, "data");
dataGridView2.DataSource = ds2; dataGridView2.DataMember = "data"; db.Close();
MySqlCommand command3 = db.CreateCommand();
command3.CommandText = "SELECT * FROM waktu where id='smart'"; db.Open();
var r = command3.ExecuteReader(); if (r.HasRows)
{
r.Read();
label5.Text = r[1].ToString(); }
db.Close();
MySqlCommand command4 = db.CreateCommand();
command4.CommandText = "SELECT * FROM waktu where id='wp'"; db.Open();
var r2 = command4.ExecuteReader(); if (r2.HasRows)
{
r2.Read();
label6.Text = r2[1].ToString(); }
db.Close();
}
private void button1_Click(object sender, EventArgs e) {
MySqlConnection db = new MySqlConnection(connectionSQL); DialogResult button = MessageBox.Show("Semua data akan pada proses ini dihapus, apakah anda yakin?", "WARNING", MessageBoxButtons.YesNo,
MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (button == DialogResult.Yes)
(18)
{
MySqlCommand delete = db.CreateCommand();
string commend = "delete from picked where kuota>1;"; db.Open();
delete.CommandText = commend;
MySqlDataReader reader = delete.ExecuteReader(); db.Close();
MySqlCommand delete2 = db.CreateCommand(); commend = "delete from spk where kuota>1;"; db.Open();
delete.CommandText = commend; reader = delete.ExecuteReader(); db.Close();
MySqlCommand delete3 = db.CreateCommand(); commend = "delete from smart where total>0;"; db.Open();
delete.CommandText = commend; reader = delete.ExecuteReader(); db.Close();
MySqlCommand delete4 = db.CreateCommand(); commend = "delete from wp where total>0;"; db.Open();
delete.CommandText = commend; reader = delete.ExecuteReader(); db.Close();
MySqlCommand delete5 = db.CreateCommand(); commend = "delete from waktu where waktu>0;"; db.Open();
delete.CommandText = commend; reader = delete.ExecuteReader(); db.Close();
this.Close(); }
} } }
(19)
DAFTAR RIWAYAT HIDUP
Nama : Farid AG Hasyim
Tempat, Tanggal Lahir : Padang Panjang, 15 Agustus 1993 Jenis Kelamin : Laki-Laki
Alamat Sekarang : Jl. Sembada XII No. 16 Medan
Alamat Orang Tua : Jorong Baruah Pandai Sikek, Tanah Datar
Hp : 085362304333
Email : ag.faridh@gmail.com
PENDIDIKAN FORMAL
2011 – 2016 : S1 Ilmu Komputer Universitas Sumatera Utara, Medan 2008 – 2011 : SMK Negeri 2 Padang Panjang
2005 – 2008 : MTs Negeri Padang Panjang 1999 – 2005 : SD Negeri 2 Baruah Pandai Sikek 1998 – 1999 :TK Islamiah Pandai Sikek
(20)
DAFTAR PUSTAKA
Ahmad, Sultoni. 2013. Pengaruh Pemanfaatan Internet Sebagai Sumber Belajar Sejarah Terhadap Motivasi Belajar Siswa Kelas XI IPS SMAN 1 Wiradesa Kabupaten Pekalongan Tahun Pelajaran 2011/2012. Skripsi. Universitas Negeri Semarang.
Bagus Prasetyo, dkk. 2013. Sistem Pendukung Keputusan Pemilihan Paket Internet Operator Telekomunikasi dengan Metode AHP (Analytical Hierarchy Process). (Online)
http://p3m.sinus.ac.id/jurnal/index.php/TIKomSiN/article/download/125/21 (11 Maret 2015)
Daihani, D. U. 2001. Komputerisasi Pengambilan Keputusan : Panduan Langkah demi
Langkah Mengembangkan Sistem Pendukung Keputusan Berbasis Komputer. Elex
Media Komputindo: Jakarta.
Hasan. 2002. Pokok-pokok Materi Pengambilan Keputusan. Ghalia Indonesia: Jakarta.
Jaya, Putra. 2013. Sistem Pndukung Keputusan Penentuan Bonus Karyawan Menggunakan Metode Weighted Product (WP). Jurnal Pelita Informatika Budi Darma 5(2): 91.
Mukhsin Nasution. 2014. Implementasi Sistem Pendukung Keputusan untuk Menentukan Penjurusan Siswa dengan Menggunakan Metode Simple Multi Attribute Rating Technique (SMART). Jurnal Pelita Informatika Budi Darma 7(2): 14-19.
Noviadhista, U. F. 2015. Apakah Kebebasan Internet di Indonesia adalah yang Terburuk di dunia? (Online)
(21)
http://www.techno.id/tech-news/apakah-kebebasan-internet-di-indonesia-adalah-yang-terburuk-di-dunia-151116o.html (28 November 2015)
Oetomo Dharma Sutedjo, Budi. 2002. e-Education Konsep, Teknologi dan Aplikasi Internet Pendidikan. Andi: Yogyakarta.
Rustiawan, A.H., Destiani, D. & Ikhwana, A. 2012.Sistem Pendukung Keputusan Penyeleksian Calon Siswa Baru di SMA Negeri 3 Garut. Jurnal Algoritma Sekolah Tinggi Teknologi Garut 9(21): 4.
Sianturi, I. S. 2013. Sistem Pendukung Keputusan untuk Menentukan Pemilihan Jurusan Siswa dengan Menggunakan Metode Weighted Product (Studi Kasus: SMA Swasta HKBP Doloksanggul). Jurnal Informasi dan Teknologi Ilmiah STMIK Budidarma Medan 1(1): 20.
Situmeang, M. 2015. Perancangan Aplikasi Hasil Kinerja Dosen Terbaim dengan Metode Simple Multi Attribute Rating Technique (Studi Kasus: Akper Yayasan Binalita Sudama Medan). Jurnal Pelita Informatika Budi Darma 9(1): 130-132. Syofrin Fardilla. 2013. Sistem Pendukung Keputusan Pemilihan Paket Internet
dengan Basis Data Fuzzy Tahani. Skripsi. Sekolah Tinggi Teknik Indonesia Tanjung Pinang.
Turban, Efraim. 2005. Decision Support Systems and Intelligent Systems (Sistem Pendukung Keputusan dan System Cerdas). Andi: Yogyakarta.
Utami, Ema & Sukrisno. 2005. Konsep Dasar Pengolahan dan Pemrograman Database. Andi: Yogyakarta.
Wirija, Sudantha. 2005. Microsoft Windows Server 2003. Elex Media Komputindo: Jakarta.
(22)
Yulianti, Eva. 2015. Sistem Pendukung Keputusan Pemilihan Mobil dengan Metode SMART. Jurnal Momentum Jurusan Teknik Informatika Institut Teknologi Padang 17(1): 56.
(23)
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1Analisis Sistem
Analisis sistem merupakam suatu proses yang harus dilakukan untuk menentukan permasalahan yang harus dihadapi. Tahap ini sangat penting, karena proses analisis yang kurang akurat akan menyebabkan hasil dari penggunaan perangkat lunak tidak sesuai. Pada penelitian ini, sistem yang akan dibangun adalah implementasi metode SMART dan metode Weighted Product pada sistem pendukung keputusan untuk menentukan paket internet.
3.2Analisis Masalah
Banyaknya provider GSM (Global System for Mobile Communication) di Indonesia memberikan layanan dan kemudahan akses internet. Dengan adanya persaingan operator ini konsumen dituntut untuk jeli dalam memilih paket internet yang sesuai dengan kebutuhan dan daya belinya. Sehingga tidak merugikan konsumen itu sendiri. Hal ini tentunya akan mempersulit para konsumen dalam menentukan pilihan yang tepat, sesuai dengan kriteria yang diinginkannya.
Untuk mengatasi masalah tersebut maka akan dibuat suatu sistem pendukung keputusan yang memudahkan konsumen dalam memilih paket internet yang akan digunakan. Dengan adanya sistem pendukung keputusan ini diharapkan dapat membantu konsumen dalam menentukan pilihan paket internet yang sesuai kebutuhan. Sistem pendukung keputusan merupakan salah satu cabang kecerdasan buatan (artificial intelligence) yang banyak digunakan. Terdapat banyak metode yang dapat digunakan oleh pengambil keputusan untuk membantu menemukan solusi atau alternatif yang optimum untuk sebuah masalah. Dalam sistem pendukung keputusan ini metode yang digunakan adalah Metode SMART (Simple Multi Attribute Rating Technuque) dan Metode WP (Weighted Product).
(24)
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. Diagram ini juga sering disebut sebagai diagram sebab-akibat atau diagram tulang ikan.
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.3Analisis Persyaratan Sistem
Adapun analisis persyaratan sebuah sistem yaitu, analisis persyaratan fungsional dan analisis persyaratan non-fungsional.
3.3.1 Analisis Persyaratan Fungsional
Persyaratan fungsional adalah persyaratan apa yang harus dilakukan sistem. Persyaratan fungsional sistem yang akan dirancang adalah sistem harus mampu memberikan solusi terhadap sistem pendukung keputusan dalam menentukan paket internet dengan mengimplementasikan metode SMART dan metode Weighted Product.
(25)
3.3.2 Analisis Persyaratan Non-Fungsional
Persyaratan non-fungsional adalah segala sesuatu yang harus dimiliki oleh 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.4Analisis Kriteria
Dalam sistem pendukung keputusan ini, penulis mengambil data yang terdapat pada website masing-masing provider GSM dimana provider GSM yang digunakan adalah Simpati, As, Indosat, 3 dan XL. Paramater yang digunakan berdasarkan bobot dari setiap kriteria: kuota, harga, masa aktif dan jaringan.
3.4.1. Kriteria kuota
Kriteria kuota dibagi menjadi 5, yaitu: bernilai 20 jika sangat kecil (lebih kecil / sama dengan 500 MB), bernilai 40 jika kecil (lebih besar dari 500 MB sampai dengan 1 GB), bernilai 60 jika sedang (lebih besar dari 1 GB sampai dengan 5 GB), bernilai 80 jika besar (lebih besar dari 5 GB sampai dengan 10 GB) dan bernilai 100 jika sangat besar (lebih besar dari 10 GB).
Tabel 3.1. Kriteria kuota
Provider Kuota Nilai Keterangan
SIMPATI 15 MB 20 Sangat Kecil
30 MB 20 Sangat Kecil
50 MB 20 Sangat Kecil
100 MB 20 Sangat Kecil
300 MB 20 Sangat Kecil
600 MB 40 Kecil
(26)
Tabel 3.1. Kriteria kuota (lanjutan)
Provider Kuota Nilai Keterangan
SIMPATI 4.5 GB 60 Sedang
8 GB 80 Besar
14 GB 100 Sangat Besar
AS 10 MB 20 Sangat Kecil
20 MB 20 Sangat Kecil
30 MB 20 Sangat Kecil
60 MB 20 Sangat Kecil
100 MB 20 Sangat Kecil
500 MB 20 Sangat Kecil
900 MB 40 Kecil
1.3 GB 60 Sedang
1.8 GB 60 Sedang
3.5 GB 60 Sedang
8 GB 80 Besar
14 GB 100 Sangat Besar
INDOSAT 30 MB 20 Sangat Kecil
60 MB 20 Sangat Kecil
250 MB 20 Sangat Kecil
150 MB 20 Sangat Kecil
2 GB 60 Sedang
4.5 GB 60 Sedang
9.5 GB 80 Besar
20.5 GB 100 Sangat Besar
3++ 20 MB 20 Sangat Kecil
35 MB 20 Sangat Kecil
80 MB 20 Sangat Kecil
135 MB 20 Sangat Kecil
300 MB 20 Sangat Kecil
1.25 GB 60 Sedang
2 GB 60 Sedang
4.25 GB 60 Sedang
9 GB 80 Besar
3 Kendo 500 MB 20 Sangat Kecil
2.5 GB 60 Sedang
10 GB 80 Besar
3 Reguler 500 MB 20 Sangat Kecil
1 GB 40 Kecil
2 GB 60 Sedang
5 GB 60 Sedang
XL Hotrod 5 MB 20 Sangat Kecil
15 MB 20 Sangat Kecil
50 MB 20 Sangat Kecil
200 MB 20 Sangat Kecil
500 MB 20 Sangat Kecil
(27)
Tabel 3.1. Kriteria kuota (lanjutan)
Provider Kuota Nilai Keterangan
XL Hotrod 1.5 GB 60 Sedang
2 GB 60 Sedang
4.5 GB 60 Sedang
6 GB 80 Besar
12 GB 100 Sangat Besar
15 GB 100 Sangat Besar
XL Hotrod 4G 3.5 GB 60 Sedang
8 GB 80 Besar
14 GB 100 Sangat Besar
3.4.2. Kriteria harga
Kriteria harga dibagi menjadi 5, yaitu: bernilai 100 jika sangat murah (lebih kecil / sama dengan Rp. 25.000), bernilai 80 jika murah (lebih besar dari Rp. 25.000 sampai dengan Rp. 50.000), bernilai 60 jika sedang (lebih besar dari Rp. 50.000 sampai dengan Rp. 100.000), bernilai 40 jika mahal (lebih besar dari Rp. 100.000 sampai dengan Rp. 200.000) dan bernilai 20 jika sangat mahal (lebih besar dari Rp. 200.000).
Tabel 3.2. Kriteria harga
Provider Harga Nilai Keterangan
SIMPATI Rp. 3.750 100 Sangat Murah
Rp. 5.000 100 Sangat Murah
Rp. 9.000 100 Sangat Murah
Rp. 14.000 100 Sangat Murah
Rp. 28.000 80 Murah
Rp. 47.500 80 Murah
Rp. 87.500 60 Sedang
Rp. 140.000 40 Mahal
Rp. 275.000 20 Sangat Mahal
Rp. 480.000 20 Sangat Mahal
AS Rp. 2.250 100 Sangat Murah
Rp. 2.750 100 Sangat Murah
Rp. 4.500 100 Sangat Murah
Rp. 10.000 100 Sangat Murah
Rp. 15.000 100 Sangat Murah
Rp. 36.000 80 Murah
Rp. 52.500 60 Sedang
Rp. 77.500 60 Sedang
Rp. 95.000 60 Sedang
Rp. 150.000 40 Mahal
Rp. 250.000 20 Sangat Mahal
(28)
Tabel 3.2. Kriteria harga (lanjutan)
Provider Harga Nilai Keterangan
INDOSAT Rp. 2.900 100 Sangat Murah
Rp. 3.900 100 Sangat Murah
Rp. 10.900 100 Sangat Murah
Rp. 10.000 100 Sangat Murah
Rp. 34.900 80 Murah
Rp. 49.900 80 Murah
Rp. 99.000 60 Sedang
Rp. 199.900 40 Mahal
3++ Rp. 2.000 100 Sangat Murah
Rp. 3.000 100 Sangat Murah
Rp. 5.000 100 Sangat Murah
Rp. 7.000 100 Sangat Murah
Rp. 10.000 100 Sangat Murah
Rp. 33.000 80 Murah
Rp. 45.000 80 Murah
Rp. 80.000 60 Sedang
Rp. 150.000 40 Mahal
3 Kendo Rp. 7.500 100 Sangat Murah
Rp. 20.000 100 Sangat Murah
Rp. 65.000 60 Sedang
3 Reguler Rp. 35.000 80 Murah
Rp. 50.000 80 Murah
Rp. 75.000 60 Sedang
Rp. 125.000 40 Mahal
XL Hotrod Rp. 1.500 100 Sangat Murah
Rp. 3.000 100 Sangat Murah
Rp. 6.000 100 Sangat Murah
Rp. 12.000 100 Sangat Murah
Rp. 25.000 100 Sangat Murah
Rp. 30.000 80 Murah
Rp. 50.000 80 Murah
Rp. 60.000 60 Sedang
Rp. 100.000 60 Sedang
Rp. 120.000 40 Mahal
Rp. 200.000 40 Mahal
Rp. 240.000 20 Sangat Mahal
XL Hotrod 4G Rp. 100.000 60 Sedang
Rp. 200.000 40 Mahal
(29)
3.4.3. Kriteria masa aktif
Kriteria masa aktif dibagi menjadi 3, yaitu: bernilai 60 jika cepat (dibawah 7 hari), bernilai 80 jika sedang (7 sampai 30 hari) dan bernilai 100 jika lama (lebih dari 30 hari dan mengikuti masa aktif).
Tabel 3.3. Kriteria masa aktif
Provider Masa Aktif Nilai Keterangan
SIMPATI 1 Hari 60 Cepat
2 Hari 60 Cepat
7 Hari 80 Sedang
7 Hari 80 Sedang
7 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
AS 1 Hari 60 Cepat
1 Hari 60 Cepat
2 Hari 60 Cepat
7 Hari 80 Sedang
7 Hari 80 Sedang
7 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
INDOSAT 1 Hari 60 Cepat
1 Hari 60 Cepat
7 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
3++ mengikuti masa
aktif kartu
100 Lama
3 Kendo 100 Lama
3 Reguler 30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
XL Hotrod 1 Hari 60 Cepat
1 Hari 60 Cepat
(30)
Tabel 3.3. Kriteria masa aktif (lanjutan)
Provider Masa Aktif Nilai Keterangan
XL Hotrod 30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
XL Hotrod 4G 30 Hari 80 Sedang
30 Hari 80 Sedang
30 Hari 80 Sedang
3.4.4. Kriteria jaringan
Kriteria jaringan dibagi menjadi 2, yaitu: bernilai 70 jika biasa (3G) dan bernilai 100 jika cepat (4G).
Tabel 3.4. Kriteria jaringan
Provider Jaringan Nilai Keterangan
SIMPATI 3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
AS 3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
INDOSAT 3.5G 70 Biasa
3.5G 70 Biasa
(31)
Tabel 3.4. Kriteria jaringan (lanjutan)
Provider Jaringan Nilai Keterangan
INDOSAT 3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3++ 3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3 Kendo 3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3 Reguler 3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
XL Hotrod 3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
XL Hotrod 4G 3.5G 70 Biasa
3.5G 70 Biasa
3.5G 70 Biasa
4G 100 Cepat
4G 100 Cepat
(32)
3.5Analisis Proses
3.5.1. Analisis proses penyelesaian masalah dengan Metode SMART
Langkah pertama yang dilakukan adalah menentukan kriteria dan bobot kriteria. Tabel 3.5. Bobot Penilaian
No. Kriteria Bobot
1. Kuota 100
2. Harga 100
3. Masa Aktif 100
4. Jaringan 100
Jumlah 400
Langkah kedua yang dilakukan adalah membuat bobot pada tabel 3.5 menjadi bobot relatif.
Tabel 3.6. Bobot Relatif
No. Kriteria Bobot Bobot Relatif (wj)
1. Kuota 100/400 0,25
2. Harga 100/400 0,25
3. Masa Aktif 100/400 0,25
4. Jaringan 100/400 0,25
Contoh kasus menggunakan Metode SMART ini, akan membandingkan produk dari setiap provider GSM dengan kuota 1.8GB sampai dengan 2GB (seperti: Simpati 2GB, As 1.8GB, Indosat 2GB, Xl Hotrod 2GB, 3 Reguler 2GB dan 3++ 2GB), kuota 500MB sampai dengan 600MB (seperti: Simpati 600MB, As 500 MB, 3 Kendo 500 MB, 3 Reguler 500MB, Xl Hotrod 500 MB dan Xl Hotrod 600 MB) dan kuota 3.5GB sampai dengan 4.5GB (seperti: Simpati 4.5GB, As 3.5GB, Indosat 4.5GB, 3++ 4.25GB, Xl Hotrod 4.5GB dan Xl Hotrod 4G 3.5GB) dengan kriteria harga, masa aktif dan jaringan yang berbeda-beda. Yang kemudian masing-masing paket internet tersebut akan dievaluasi dan diberikan sebagaimana pada Tabel 3.7.
Tabel 3.7. Evaluasi Faktor dengan kuota 1.8GB - 2GB Faktor Kuota Harga Masa Aktif Jaringan
Simpati 2GB 60 20 80 70
As 1.8GB 60 20 80 70
Indosat 2GB 60 80 80 70
Xl Hotrod 2GB 60 20 80 70
3 Reguler 2GB 60 20 80 70
(33)
Pada tahap berikutnya total nilai evaluasi untuk masing-masing paket. Contoh pada Tabel 3.7 menunjukan hasil penilaian dimana untuk masing-masing paket tersebut diberikan bobot terhadap faktor-faktor penting yang telah ditentukan sebagaimana diberikan pada tabel 3.5 dan 3.6. Pada Tabel 3.8 di bawah ini terlihat Paket Simpati 2GB memiliki total bobot evaluasi sebesar 57,5. Dimana bobot evaluasi ini merupakan perkalian dari evaluasi faktor dengan bobot faktornya.
Tabel 3.8. Evaluasi Faktor Paket Simpati 2GB Faktor Simpati 2GB Bobot
Faktor
Bobot Evaluasi
Kuota 60 0,25 15
Harga 20 0,25 5
Masa Aktif 80 0,25 20
Jaringan 70 0,25 17.5
Total 230 1 57,5
Pada Tabel 3.9 di bawah ini, bobot evaluasi ini merupakan perkalian dari evaluasi faktor dengan bobot faktornya.
Tabel 3.9. Evaluasi Faktor Paket As 1.8GB Faktor As 1.8GB Bobot
Faktor
Bobot Evaluasi
Kuota 60 0,25 15
Harga 20 0,25 5
Masa Aktif 80 0,25 20
Jaringan 70 0,25 17.5
Total 230 1 57,5
Dengan cara yang sama seperti pada tabel 3.8, tabel 3.9 menunjukan bahwa untuk paket dengan nama paket As 1.8 GB memiliki total bobot evaluasi sebesar 57,5 yang berarti sama dengan paket Simpati 2GB. Pada Tabel 3.10 berikut ini, sama seperti pada tabel 3.8 tabel 3.9 perkalian dari evaluasi faktor dengan bobot faktornya.
Tabel 3.10. Evaluasi Faktor Paket Indosat 2GB Faktor Indosat 2GB Bobot
Faktor
Bobot Evaluasi
Kuota 60 0,25 15
Harga 80 0,25 20
Masa Aktif 80 0,25 20
Jaringan 70 0,25 17.5
(34)
Dari Tabel 3.10 diketahui bahwa untuk paket Indosat 2GB memiliki total bobot evaluasi sebesar 72,5 yang berarti lebih besar dari paket Simpati 2GB dan As 1.8 GB.
Tabel 3.11. Evaluasi Faktor Paket Xl Hotrod 2GB Faktor Xl Hotrod 2GB Bobot
Faktor
Bobot Evaluasi
Kuota 60 0,25 15
Harga 20 0,25 5
Masa Aktif 80 0,25 20
Jaringan 70 0,25 17.5
Total 230 1 57,5
Dari Tabel 3.11 diketahui bahwa untuk paket Xl Hotrod 2GB memiliki total bobot evaluasi sebesar 57,5 yang berarti sama dengan Simpati 2GB dan As 1.8 GB.
Tabel 3.12. Evaluasi Faktor Paket 3 Reguler 2GB Faktor 3 Reguler 2GB Bobot
Faktor
Bobot Evaluasi
Kuota 60 0,25 15
Harga 20 0,25 5
Masa Aktif 80 0,25 20
Jaringan 70 0,25 17.5
Total 230 1 57,5
Dari Tabel 3.12 diketahui bahwa untuk paket 3 Reguler 2GB memiliki total bobot evaluasi sebesar 57,5 yang berarti sama dengan Xl Hotrod 2GB, Simpati 2GB dan As 1.8 GB. Sedangkan paket 3++ 2GB memiliki total bobot evaluasi sebesar 77,5 sebagaimana pada Tabel 3.13.
Tabel 3.13. Evaluasi Faktor Paket 3++ 2GB Faktor 3 Reguler 2GB Bobot
Faktor
Bobot Evaluasi
Kuota 60 0,25 15
Harga 80 0,25 20
Masa Aktif 100 0,25 25
Jaringan 70 0,25 17.5
(35)
Dari evaluasi yang telah dilakukan, hasil kesimpulan adalah sebagai berikut:
Tabel 3.14. Hasil Kesimpulan Evaluasi Faktor dan Bobot untuk kuota 1.8GB - 2GB Faktor Bobot
Evaluasi Simpati 2GB Bobot Evaluasi As 1.8GB Bobot Evaluasi Indosat 2GB Bobot Evaluasi Xl Hotrod 2GB Bobot Evaluasi 3 Reguler 2GB Bobot Evaluasi 3++ 2GB
Kuota 15 15 15 15 15 15
Harga 5 5 20 5 5 20
Masa Aktif 20 20 20 20 20 25
Jaringan 17.5 17.5 17.5 17.5 17.5 17.5
Total 57,5 57,5 72,5 57,5 57,5 77,5
Dari range nilai di atas terlihat bahwa hasil penilaian Paket 3++ 2 GB lebih tinggi daripada paket lainnya sehingga dapat dinyatakan Paket 3++ 2GB yang akan digunakan.
Dengan langkah yang sama, dilakukan evaluasi faktor untuk kuota 500MB sampai dengan 600MB dan diberikan sebagaimana pada Tabel 3.15.
Tabel 3.15. Evaluasi faktor untuk kuota 500MB - 600MB Faktor Kuota Harga Masa Aktif Jaringan
Simpati 600MB 40 80 80 70
As 500 MB 20 80 60 70
3 Kendo 500 MB 20 100 80 70
3 Reguler 500MB 40 80 80 70
Xl Hotrod 500 MB 20 80 80 70
Xl Hotrod 600 MB 20 100 100 70
Dari evaluasi yang telah dilakukan, diperoleh hasil kesimpulan adalah sebagai berikut: Tabel 3.16. Hasil Kesimpulan Evaluasi Faktor dan Bobot untuk kuota 500MB - 600MB Faktor Bobot
Evaluasi Simpati 600MB Bobot Evaluasi As 500 MB Bobot Evaluasi 3 Kendo 500 MB Bobot Evaluasi 3 Reguler 500MB Bobot Evaluasi Xl Hotrod 500 MB Bobot Evaluasi Xl Hotrod 600 MB
Kuota 10 5 5 5 5 10
Harga 20 20 25 20 25 20
Masa Aktif 20 15 25 20 20 20
Jaringan 17.5 17.5 17.5 17.5 17.5 17.5
Total 67,5 57,5 72,5 62,5 67,5 67,5
Dari range nilai di atas terlihat bahwa hasil penilaian Paket 3 Kendo 500 MB lebih tinggi daripada paket lainnya sehingga dapat dinyatakan Paket 3 Kendo 500 MB yang akan
(36)
digunakan. Dengan langkah yang sama, dilakukan evaluasi faktor untuk kuota 3.5GB sampai dengan 4.5GB dan diberikan sebagaimana pada Tabel 3.17.
Tabel 3.17. Evaluasi faktor untuk kuota 3.5GB - 4.5GB
Faktor Kuota Harga Masa Aktif Jaringan
Simpati 4.5GB 60 40 80 70
As 3.5GB 60 40 80 70
Indosat 4.5GB 60 80 80 70
3++ 4.25GB 60 100 80 70
Xl Hotrod 4.5GB 60 20 80 100
Xl Hotrod 4G 3.5GB 60 20 100 70
Dari evaluasi yang telah dilakukan, diperoleh hasil kesimpulan adalah sebagai berikut: Tabel 3.18. Hasil Kesimpulan Evaluasi Faktor dan Bobot untuk kuota 3.5GB - 4.5GB Faktor Bobot
Evaluasi Simpati 4.5GB Bobot Evaluasi As 3.5GB Bobot Evaluasi Indosat 4.5GB Bobot Evaluasi 3++ 4.25GB Bobot Evaluasi Xl Hotrod 4.5GB Bobot Evaluasi Xl Hotrod 4G 3.5GB
Kuota 15 15 15 15 15 15
Harga 10 10 20 5 25 5
Masa Aktif 20 20 20 25 20 20
Jaringan 17.5 17.5 17.5 17.5 17.5 25
Total 62,5 57,5 72,5 62,5 77,5 65
Dari range nilai di atas terlihat bahwa hasil penilaian Paket Xl hotrod 4.5 GB lebih tinggi daripada paket lainnya sehingga dapat dinyatakan Paket Xl hotrod 4.5 GB yang akan digunakan.
3.5.2. Analisis proses penyelesaian masalah dengan Metode Weighted Product Langkah pertama yang dilakukan adalah menentukan nilai dan bobot kriteria
Tabel 3.19. Nilai dan Bobot Kriteria
No. Kriteria Kriteria Nilai Bobot
1. Kuota A1 100 0,25
2. Harga A2 100 0,25
3. Masa Aktif A3 100 0,25
4. Jaringan A4 100 0,25
w = 0,25 + 0,25 + 0,25 + 0,25 = 1 Kriteria Keuntungan : Kuota (A1), Masa Aktif (A3), Jaringan (A4). Kriteria Biaya : Harga (A2).(37)
Tabel 3.20. Alternatif Alternatif Paket Kriteria
A1 A2 A3 A4
Simpati 2GB 60 20 80 70
As 1.8GB 60 20 80 70
Indosat 2GB 60 80 80 70
Xl Hotrod 2GB 60 20 80 70
3 Reguler 2GB 60 20 80 70
3++ 2GB 60 80 100 70
Simpati 600MB 40 80 80 70
As 500 MB 20 80 60 70
3 Kendo 500 MB 20 100 80 70
3 Reguler 500MB 40 80 80 70
Xl Hotrod 500 MB 20 80 80 70
Xl Hotrod 600 MB 20 100 100 70
Simpati 4.5GB 60 40 80 70
As 3.5GB 60 40 80 70
Indosat 4.5GB 60 80 80 70
3++ 4.25GB 60 100 80 70
Xl Hotrod 4.5GB 60 20 80 100
Xl Hotrod 4G 3.5GB 60 20 100 70 Perhitungan Vektor S
Perhitungan Vektor S Simpati 2GB
S1 = (600,25) . (200,25) . (800,25) . (700,25) = 50,932 Perhitungan Vektor S As 1.8GB
S1 = (600,25) . (200,25) . (800,25) . (700,25) = 50,932 Perhitungan Vektor S Indosat 2GB
S1 = (600,25) . (800,25) . (800,25) . (700,25) = 72,027 Perhitungan Vektor S Xl Hotrod 2GB
S1 = (600,25) . (200,25) . (800,25) . (700,25) = 50,932 Perhitungan Vektor S 3 Reguler 2GB
S1 = (600,25) . (200,25) . (800,25) . (700,25) = 50,932 Perhitungan Vektor S 3++ 2GB
S1 = (600,25) . (800,25) . (1000,25) . (700,25) = 76,145
Perhitungan Vektor S Simpati 600MB
(38)
Perhitungan Vektor S As 500 MB
S1 = (200,25) . (800,25) . (600,25) . (700,25) = 50,915 Perhitungan Vektor S Xl Hotrod 500 MB
S1 = (200,25) . (1000,25) . (800,25) . (700,25) = 57,850 Perhitungan Vektor S Xl Hotrod 600 MB
S1 = (400,25) . (800,25) . (800,25) . (700,25) = 65,063 Perhitungan Vektor S 3 Reguler 500MB
S1 = (200,25) . (800,25) . (800,25) . (700,25) = 54,711 Perhitungan Vektor S 3 Kendo 500 MB
S1 = (200,25) . (1000,25) . (1000,25) . (700,25) = 61,169
Perhitungan Vektor S Simpati 4.5GB
S1 = (600,25) . (400,25) . (800,25) . (700,25) = 60,548 Perhitungan Vektor S As 3.5GB
S1 = (600,25) . (400,25) . (800,25) . (700,25) = 60,548 Perhitungan Vektor S Indosat 4.5GB
S1 = (600,25) . (800,25) . (800,25) . (700,25) = 72,004 Perhitungan Vektor S Xl Hotrod 4.5GB
S1 = (600,25) . (1000,25) . (800,25) . (700,25) = 76,135 Perhitungan Vektor S Xl Hotrod 4G 3.5GB S1 = (600,25) . (200,25) . (800,25) . (1000,25) = 55,663 Perhitungan Vektor S 3++ 4.25GB
S1 = (600,25) . (200,25) . (1000,25) . (700,25) = 53,836
Perhitungan Vektor V
Nilai Vektor V Pada Simpati 2GB
Nilai Vektor V Pada As 1.8GB
Nilai Vektor V Pada Indosat 2GB
(39)
Nilai Vektor V Pada Xl Hotrod 2GB
Nilai Vektor V Pada 3 Reguler 2GB
Nilai Vektor V Pada 3++ 2GB
Dari range nilai di atas terlihat bahwa hasil penilaian Paket 3++ 2 GB lebih tinggi daripada paket lainnya sehingga dapat dinyatakan Paket 3++ 2GB yang akan digunakan. Nilai Vektor V Pada Simpati 600MB
Nilai Vektor V Pada As 500 MB
Nilai Vektor V Pada Xl Hotrod 500 MB
Nilai Vektor V Pada Xl Hotrod 600 MB
Nilai Vektor V Pada 3 Reguler 500MB
Nilai Vektor V Pada 3 Kendo 500 MB
Dari range nilai di atas terlihat bahwa hasil penilaian Paket Simpati 600MB dan Paket Xl Hotrod 600 MB memiliki bobot/nilai yang sama yaitu: 0,183 dan lebih tinggi daripada paket lainnya.
(40)
Nilai Vektor V Pada Simpati 4.5GB
Nilai Vektor V Pada As 3.5GB
Nilai Vektor V Pada Indosat 4.5GB
Nilai Vektor V Pada Xl Hotrod 4.5GB
Nilai Vektor V Pada Xl Hotrod 4G 3.5GB
Nilai Vektor V Pada 3++ 4.25GB
Dari range nilai di atas terlihat bahwa hasil penilaian Paket Xl Hotrod 4.5GB lebih tinggi daripada paket lainnya sehingga dapat dinyatakan Paket Xl Hotrod 4.5GB yang akan digunakan.
3.6Pemodelan
Setelah tahapan analisis selesai, maka usulan kebutuhan sistem harus diterjemahkan menjadi sistem informasi berbasis komputer. Harus ada beberapa langkah yang digunakan untuk mempermudah dan menjamin perangkat lunak yang dihasilkan berkualitas. Langkah awal desain biasanya dimulai dengan pemodelan sistem. Model digunakan untuk menyederhanakan cara mengomunikasikan proses-proses yang harus dilakukan sistem dengan cara formal antar pengembangan sistem informasi.
Pada penelitian ini menggunakan UML (Unified Modeling Language) untuk merancang model sebuah sistem yang akan dibangun. UML yang digunakan antara lain use case diagram, activity diagram dan sequence diagram.
(41)
3.6.1Use Case Diagram
Dalam konteks UML, tahap konseptualisasi dilakukan dengan pembuatan use case diagram yang sesungguhnya merupakan deskripsi peringkat tinggi bagaimana perangkat lunak (aplikasi) akan digunakan oleh penggunamya. Selanjutnya, use case diagram tidak hanya sangat penting pada tahap analisis, tetapi juga sangat penting untuk perancangan (design), untuk mencari kelas-kelas yang terlibat dalam aplikasi, dan untuk melakukan pengujian (testing).
Gambar 3.2 Use Case Diagram
Dari gambar 3.2 dijelaskan bahwa user dapat melihat, menginput, mengubah dan menghapus data untuk memilih paket sesuai yang dibutuhkan. Kemudian data dari pemilihan paket tersebut diproses dengan perhitungan metode SMART dan metode WP. Untuk lebih jelasnya dapat dilihat pada tabel 3.1
(42)
Tabel 3.21 Deskripsi Use Case Pilih Paket
Name Pilih Paket
Actors User
Description Use case ini mendeskripsikan untuk memilih paket yang sesuai
dengan kebutuhan user
Basic Flow User memilih paket yang sesuai dengan kebutuhan dan setelah
memilih paket, user dapat mengubah dan menghapus paket jika dianggap tidak sesuai. Sehingga dapat diproses ke tahap selanjutnya.
Pre Condition User ingin memilih paket
Post Condition Paket yang diinputkan telah tersimpan ke database
Tabel 3.22 Deskripsi Use Case Metode SMART
Name Metode SMART
Actors User
Description Use case ini mendeskripsikan untuk perhitungan data dengan metode
SMART berdasarkan bobot yang telah ditentukan
Basic Flow User memilih paket, dimana paket tersebut merupakan data yang akan
dihitung untuk proses selanjutnya.
Pre Condition Perhitungan data dengan menggunakan metode SMART
Post Condition Hasil dari perhitungan dengan menggunakan metode SMART
Tabel 3.23 Deskripsi Use Case Metode WP
Name Metode WP
Actors User
Description Use case ini mendeskripsikan untuk perhitungan data dengan metode
Weighted Product berdasarkan bobot yang telah ditentukan
Basic Flow User memilih paket, dimana paket tersebut merupakan data yang akan
dihitung untuk proses selanjutnya.
Pre Condition Perhitungan data dengan menggunakan metode Weighted Product
Post Condition Hasil dari perhitungan dengan menggunakan metode Weighted
(43)
Tabel 3.24 Deskripsi Use Case Kesimpulan
Name Kesimpulan
Actors User
Description Use case ini mendeskripsikan hasil perhitungan menggunakan
metode SMART dan Weighted Product berdasarkan data paket internet yang telah diinputkan sebelumnya dan bobot yang telah ditentukan.
Basic Flow Setelah data yang diperlukan telah diinputkan oleh User, selanjutnya data dihitung dengan SMART dan Weighted Product
Pre Condition User ingin mengetahui hasil perhitungan
Post Condition User dapat mengetahui paket internet yang sesuai dengan kriteria yang diinginkan
3.6.2Activity Diagram
Use case diagram merupakan gambaran menyeluruh dan pada umumnya sangatlah tidak terperinci. Oleh karena itu, penelitian ini menggunakan activity diagram agar bisa mendapatkan gambaran yang lebih menyeluruh. Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.
Gambar 3.3 Activity Diagram Pilih Paket
Pada gambar 3.3 menjelaskan bahwa ketika user memilih paket, maka sistem akan menampilkan beberapa data atau pilihan paket kepada user untuk dipilih sesuai dengan
(44)
kebutuhan. Setelah memilih paket, user dapat menghapus dan mengubah data tesebut dan data akan tersimpan ke database.
Gambar 3.4 Activity Diagram Metode SMART
Pada gambar 3.4 menjelaskan bahwa ketika user memilih metode SMART untuk perhitungan, maka sistem akan menampilkan form metode SMART, dan user diminta untuk menginputkan bobot setiap kriteria sehingga didapat hasil dari perhitungan dengan metode SMART dan hasil tersebut akan tersimpan ke dalam database.
(45)
Pada gambar 3.5 menjelaskan bahwa ketika user memilih metode WP untuk perhitungan, maka sistem akan menampilkan form metode WP, dan user diminta menginputkan bobot setiap kriteria untuk dilakukan normalisasi bobot sehingga didapat hasil dari perhitungan dengan metode WP dan hasil tersebut akan tersimpan ke dalam database.
Gambar 3.6 Activity Diagram Kesimpulan
Pada gambar 3.6 menjelaskan bahwa ketika user memilih menu kesimpulan, maka sistem akan menampilkan hasil perhitungan dari metode SMART dan metode WP.
3.6.3Sequence Diagram
Sequence diagram menjelaskan secara detail urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case, interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi.
(46)
Gambar 3.7 Sequence Diagram Pilih Paket
Pada gambar 3.7 menjelaskan bahwa ketika user memilih paket maka sistem akan merespon dengan menampilkan form dan menyimpannya ke database.
(47)
Gambar 3.8 Sequence Diagram Metode SMART
Pada gambar 3.8 menjelaskan bahwa ketika user memilih menu metode SMART, maka sistem akan merespon dengan menampilkan form, dan user menginputkan bobot untuk mendapatkan bobot relatif dan sistem akan menyimpan hasil perhitungan ke database dan menampilkan hasilnya ke user.
(48)
Pada gambar 3.9 menjelaskan bahwa ketika user memilih menu metode WP, maka sistem akan merespon dengan menampilkan form, user menginputkan nilai untuk proses normalisasi bobot dan sistem akan menyimpan hasil perhitungan ke database. Hasil perhitungan akan ditampilkan oleh sistem.
Gambar 3.10 Sequence Diagram Kesimpulan
Pada gambar 3.10 menjelaskan bahwa pada menu kesimpulan, sistem akan menampilkan hasil perhitungan metode SMART dan metode WP.
(49)
3.6.4Flowchart SMART
Gambar 3.11 Flowchart Metode SMART
Perhitungan metode SMART dapat dilakukan dengan menginputkan nilai kriteria untuk setiap kriteria dan bobot. Lalu selanjutnya dilakukan normalisasi bobot. Lalu input nilai kriteria untuk setiap alternatif. Lalu hitung nilai utility untuk setiap kriteria dan nilai akhir hingga diperoleh hasil keputusan.
START
Input nilai kriteria utk setiap, Jumlah
kriteria dan bobot
� ∑ �
Normalisasi bobot
� �
Hitung nilai utility untuk setiap kriteria
Hitung nilai akhir
Max ∑ � �
FINISH Hasil Keputusan
(50)
3.6.5Flowchart Weighted Product
Gambar 3.12 Flowchart Metode WP
Perhitungan metode WP dapat dilakukan dengan menginputkan data nilai kriteria dan alternatif dan hitung bobot setiap kriteria. Lalu selanjutnya pangkatkan matriks keputusan terhadap bobot atribut. Dan terakhir preferensi relatif dari setiap relatif hingga diperoleh hasil keputusan.
START
Data nilai kriteria dan
alternatif
Hitung bobot setiap kriteria
� � �
�
Pangkatkan matriks keputusan terhadap
bobot atribut
� ∏� � �
∏ (�� )
Preferensi relatif dari setiap alternatif
FINISH Hasil keputusan
(51)
3.7Perancangan Sistem
Perancangan sistem adalah proses pengembangan spesifikasi sistem baru berdasarkan hasil rekomendasi analisis sistem. Dalam tahap perancangan, harus merancang spesifikasi yang dibutuhkan dalam sistem. Tujuan tahap perancangan sistem adalah untuk memenuhi kebutuhan pemakai sistem dan memberikan gambaran yang jelas dan rancang bangun yang lengkap untuk pemrogram.
3.7.1.Rancangan Menu Pilih Paket
(52)
Keterangan:
Tabel 3.25 Keterangan Rancangan Menu Pemilihan Paket
No Jenis Objek Keterangan
1 Menu Strip Menu pemilihan operator 2 Datagridview1 Data yang telah diinputkan user 3 Button refresh Tombol untuk refresh data
4 Button hapus semua data Tombol untuk menghapus semua data 5 Button convert Tombol untuk normalisasi data 6 Datagridview2 Data yang sudah dinormalisasikan
7 Button simpan data Tombol untuk menyimpan data ke database
3.7.2.Rancangan Menu Metode SMART
(53)
Keterangan:
Tabel 3.26 Keterangan Rancangan Menu Metode SMART
No Jenis Objek Keterangan
1 Textbox kuota User mengisi bobot kuota
2 Textbox harga User mengisi bobot harga
3 Textbox masa aktif User mengisi bobot masa aktif
4 Textbox jaringan User mengisi bobot jaringan
5 Button proses Tombol untuk memproses data yang telah diinputkan
6 Label bobot Label untuk menampilkan nilai bobot yang
diinputkan oleh user dan total bobot
7 Label bobot relatif Label untuk menampilkan nilai bobot relative
8 Datagridview1 Untuk mengambil data normalisasi dari database
9 Datagridview2 Untuk menampilkan nilai bobot evaluasi untuk setiap
alternatif dan masing-masing kriterianya
10 Datagridview3 Untuk menampilkan urutan total nilai bobot evaluasi
3.7.3.Rancangan Menu Metode WP
(54)
Keterangan:
Tabel 3.27 Keterangan Rancangan Menu Metode WP
No Jenis Objek Keterangan
1 Textbox kuota User mengisi bobot kuota
2 Textbox harga User mengisi bobot harga
3 Textbox masa aktif User mengisi bobot masa aktif
4 Textbox jaringan User mengisi bobot jaringan
5 Button proses Tombol untuk memproses data yang telah diinputkan
6 Label bobot awal Label untuk menampilkan bobot awal yang
diinputkan oleh user dan total bobot 7 Label nilai bobot Label untuk menampilkan nilai bobot
8 Datagridview1 Untuk mengambil data normalisasi dari database
9 Datagridview2 Untuk menampilkan hasil perhitungan Vektor S
untuk setiap alternatif dan masing-masing kriterianya 10 Datagridview3 Untuk menampilkan urutan hasil perhitungan Vektor
V
3.7.4.Rancangan Menu Kesimpulan
Gambar 3.16 Rancangan Menu Kesimpulan Keterangan:
Tabel 3.28 Keterangan Rancangan Menu Kesimpulan
No Jenis Objek Keterangan
1 Datagridview1 Untuk menampilkan hasil perhitungan SMART
2 Datagridview2 Untuk menampilkan hasil perhitungan WP
3 Label 1 Menampilkan total waktu metode SMART
4 Label 2 Menampilkan total waktu metode WP
(55)
3.8Kamus Data
Kamus data merupakan daftar semua elemen/field. 1. Tabel Picked
Tabel 3.29 Tabel Picked No. Field Tipe Data Keterangan
1. nama varchar(30) Digunakan untuk menampung nama provider GSM yang dipilih
2. kuota int(11) Digunakan untuk menampung kuota provider GSM yang dipilih
3. harga int(11) Digunakan untuk menampung harga provider GSM yang dipilih
4. masaaktif int(6) Digunakan untuk menampung masa aktif provider GSM yang dipilih
5. jaringan varchar(5) Digunakan untuk menampung jaringan provider GSM yang dipilih
2. Tabel SPK
Tabel 3.30 Tabel SPK No. Field Tipe Data Keterangan
1. id Int(11) Digunakan untuk menampung angka yg telah terurut otamatis yang dijadikan sebagai primary key
2. nama varchar(30) Digunakan untuk menampung nama provider GSM yang dipilih
3. kuota int(11) Digunakan untuk menampung bobot kuota provider GSM yang dipilih
4. harga int(11) Digunakan untuk menampung bobot harga provider GSM yang dipilih
5. masaaktif int(6) Digunakan untuk menampung bobot masa aktif provider GSM yang dipilih
6. jaringan varchar(5) Digunakan untuk menampung bobot jaringan provider GSM yang dipilih
3. Tabel SMART
Tabel 3.31 Tabel SMART No. Field Tipe Data Keterangan
1. id varchar(30) Digunakan untuk menampung nama provider GSM yang dipilih yang disesuaikan dengan paket
2. total double Digunakan untuk menampung total dari hasil perhitungan SMART
(56)
4.Tabel WP
Tabel 3.32 Tabel WP No. Field Tipe Data Keterangan
1. id varchar(30) Digunakan untuk menampung nama provider GSM yang dipilih yang disesuaikan dengan paket 2. total double Digunakan untuk menampung total dari hasil
perhitungan Weighted Product 5. Tabel Waktu
Tabel 3.33 Tabel Waktu No. Field Tipe Data Keterangan
1. id varchar(10) Digunakan untuk menampung nama metode yang telah digunakan
2. waktu double Digunakan untuk menampung waktu untuk setiap metode
(57)
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1. Implementasi Sistem
Implementasi sistem merupakan kegiatan akhir dari proses penerapan sistem baru di mana sistem yang baru ini akan dioperasikan secara menyeluruh. Terhadap sistem yang baru itu sudah harus dilakukan proses analisis dan desain secara terinci. 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. Menu yang terdapat pada sistem adalah pilih paket, metode, dan help.
(58)
(59)
4.1.2.Menu Pilih Paket
Merupakan form untuk menampilkan data berupa nama paket, kuota, harga, masa aktif dan jairngan berdasarkan pilihan paket sesuai dengan kebutuhan user. Button convert untuk proses normalisasi data, yang hasilnya ditampilkan pada datagridview. Button simpan data untuk menyimpan data yang sudah dinormalisasi ke database.
Gambar 4.2 Menu Pilih Paket
4.1.3.Menu Metode SMART
Pada menu ini user menginputkan bobot untuk kuota, harga, masa aktif dan jaringan dengan interval 1-100. Lalu Button proses untuk memproses data tersebut dengan perhitungan metode SMART dan hasilnya akan ditampilkan ke datagridview.
(60)
Gambar 4.3 Menu Metode SMART
4.1.4.Menu Metode WP
Pada menu ini user menginputkan bobot untuk kuota, harga, masa aktif dan jaringan dengan interval 1-100. Lalu Button proses untuk memproses data tersebut dengan perhitungan metode WP dan hasilnya akan ditampilkan ke datagridview.
(61)
Gambar 4.4 Menu Metode WP
4.2. Pengujian Sistem
Pengujian sistem dilakukan untuk menghindari kesalahan pada program yang dibuat dan untuk mengetahui apakah sistem berfungsi sesuai dengan yang diharapkan. Pada penelitian ini, dapat dilihat hasil perhitungan data dengan menggunakan metode SMART dan metode WP.
(62)
Gambar 4.5 Menu Kesimpulan untuk Kuota 1.8GB – 2GB
Pada gambar 4.5 dapat dilihat bahwa pada percobaan pertama, hasil perhitungan kedua metode sesuai dengan perhitungan manual dan waktu eksekusi metode Weighted Product lebih cepat dibandingkan dengan waktu eksekusi metode SMART.
(63)
Pada gambar 4.6 dapat dilihat bahwa pada percobaan kedua, hasil perhitungan kedua metode sesuai dengan perhitungan manual dan waktu eksekusi metode SMART lebih cepat dibandingkan dengan waktu eksekusi metode Weighted Product.
Gambar 4.7 Menu Kesimpulan untuk Kuota 3.5GB – 4.5GB
Pada gambar 4.7 dapat dilihat bahwa pada percobaan ketiga, hasil perhitungan kedua metode sesuai dengan perhitungan manual dan waktu eksekusi metode Weighted Product lebih cepat dibandingkan dengan waktu eksekusi metode SMART.
(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 4
Bab II Tinjauan Pustaka
2.1. Internet 6
2.1.1. Fungsi Internet 6
2.1.2. Paket Internet 8
2.2. Internet Protocol (IP) 12
2.3. Sistem Pendukung Keputusan 12
2.3.1. Pengertian Sistem Pendukung Keputusan 12 2.3.2. Komponen Sistem Pendukung Keputusan 13
2.4. Metode SMART 14
(2)
2.4.1. Langkah-langkah perhitungan Metode SMART 14
2.5. Metode Weighted Product 15
2.5.1. Langkah-langkah perhitungan Metode Weighted Product 16
2.6. Database 16
Bab III Analisis dan Perancangan Sistem
3.1. Analisis Sistem 17
3.2. Analisis Masalah 17
3.3. Analisis Persyaratan Sistem 18
3.3.1. Analisis Persyaratan Fungsional 18
3.3.2. Analisis Persyaratan Non-Fungsional 19
3.4. Analisis Kriteria 19
3.4.1. Kriteria quota 19
3.4.2. Kriteria harga 21
3.4.3. Kriteria masa aktif 23
3.4.4. Kriteria jaringan 24
3.5. Analisis Proses 26
3.5.1. Analisis proses penyelesaian masalah metode SMART 26 3.5.2. Analisis proses penyelesaian masalah metode WP 30
3.6. Pemodelan 34
3.6.1. Use case diagram 35
3.6.2. Activity diagram 37
3.6.3. Sequence diagram 39
3.6.4. Flowchart SMART 43
3.6.5. Flowchart WP 44
3.7. Perancangan Sistem 45
3.7.1. Rancangan Menu Pilih Paket 45
3.7.2. Rancangan Menu Metode SMART 46
3.7.3. Rancangan Menu Metode WP 47
3.7.4. Rancangan Menu Kesimpulan 48
3.7. Kamus Data 49
(3)
Bab IV Implementasi dan Pengujian Sistem
4.1. Implementasi Sistem 51
4.1.1. Halaman Utama 51
4.1.2. Menu Pilih Paket 53
4.1.3. Menu Metode SMART 53
4.1.4. Menu Metode WP 54
4.2. Pengujian Sistem 55
Bab V Kesimpulan dan Saran
5.1. Kesimpulan 58
5.2. Saran 59
Daftar Pustaka 60
(4)
DAFTAR TABEL
Halaman
Tabel 2.1. Daftar Tarif akses internet yang diberlakukan oleh Simpati 9
Tabel 2.2. Daftar Tarif akses internet yang diberlakukan oleh As 9 Tabel 2.3. Daftar Tarif akses internet yang diberlakukan oleh Indosat 10
Tabel 2.4. Daftar Tarif akses internet yang diberlakukan oleh 3 10
Tabel 2.5. Daftar Tarif akses internet yang diberlakukan oleh XL 11
Tabel 3.1. Kriteria quota 19
Tabel 3.2. Kriteria harga 21
Tabel 3.3. Kriteria masa aktif 23
Tabel 3.4. Kriteria jaringan 24
Tabel 3.5. Bobot Penilaian 26
Tabel 3.6. Bobot Relatif 26
Tabel 3.7. Evaluasi Faktor untuk kuota 1.8GB – 2GB 26 Tabel 3.8. Evaluasi Faktor Paket Simpati 2GB 27
Tabel 3.9. Evaluasi Faktor Paket As 1.8GB 27
Tabel 3.10. Evaluasi Faktor Paket Indosat 2GB 27 Tabel 3.11. Evaluasi Faktor Paket Xl Hotrod 2GB 28
Tabel 3.12. Evaluasi Faktor Paket 3 Reguler 2GB 28
Tabel 3.13. Evaluasi Faktor Paket 3++ 2GB 28
Tabel 3.14. Hasil Kesimpulan Evaluasi Faktor dan Bobot untuk 29
kuota 1.8GB – 2GB Tabel 3.15. Evaluasi Faktor untuk kuota 500MB - 600MB 29 Tabel 3.16. Hasil Kesimpulan Evaluasi Faktor dan Bobot untuk 29
kuota 500MB - 600MB Tabel 3.17. Evaluasi Faktor untuk kuota 3.5GB – 4.5GB 30
Tabel 3.18. Hasil Kesimpulan Evaluasi Faktor dan Bobot untuk 30
kuota 3.5GB – 4.5GB Tabel 3.19. Nilai dan Bobot Kriteria 30 Tabel 3.20. Alternatif 31 Tabel 3.21. Deskripsi Use Case Pilih Paket 36
Tabel 3.22. Deskripsi Use Case Metode SMART 36
Tabel 3.23. Deskripsi Use Case Metode WP 36
Tabel 3.24. Deskripsi Use Case Kesimpulan 37
Tabel 3.25. Keterangan Rancangan Menu Pemilihan Paket 46 Tabel 3.26. Keterangan Rancangan Menu Metode SMART 47 Tabel 3.27. Keterangan Rancangan Menu Metode WP 48 Tabel 3.28. Keterangan Rancangan Menu Kesimpulan 48 Tabel 3.29. Tabel Picked 49
Tabel 3.30. Tabel SPK 49
Tabel 3.31. Tabel SMART 49
Tabel 3.32. Tabel WP 50
Tabel 3.33. Tabel Waktu 50
(5)
DAFTAR GAMBAR
Halaman Gambar 2.1. Komponen Utama Sistem Pendukung Keputusan 14
Gambar 3.1. Diagram Ishikawa 18
Gambar 3.2. Use Case Diagram 35
Gambar 3.3. Activity diagram Pilih Paket 37
Gambar 3.4. Activity diagram Metode SMART 38
Gambar 3.5. Activity diagram Metode WP 38
Gambar 3.6. Activity diagram Kesimpulan 39
Gambar 3.7. Sequence diagram Pilih Paket 40
Gambar 3.8. Sequence diagram Metode SMART 41
Gambar 3.9. Sequence Diagram Metode WP 41
Gambar 3.10. Sequence Diagram Kesimpulan 42
Gambar 3.11. Flowchart Metode SMART 43
Gambar 3.12. Flowchart Metode WP 44
Gambar 3.13. Rancangan Menu Pemilihan Paket 45
Gambar 3.14. Rancangan Menu Metode SMART 46
Gambar 3.15. Rancangan Menu Metode WP 47
Gambar 3.16. Rancangan Menu Kesimpulan 48
Gambar 4.1. Halaman Utama 52
Gambar 4.2. Menu Pilih Paket 53
Gambar 4.3. Menu Metode SMART 54
Gambar 4.4. Menu Metode WP 55
Gambar 4.5. Menu Kesimpulan untuk kuota 1.8GB – 2GB 56 Gambar 4.5. Menu Kesimpulan untuk kuota 500MB - 600MB 56 Gambar 4.5. Menu Kesimpulan untuk kuota 3.5GB – 4.5GB 56
(6)
DAFTAR LAMPIRAN
Halaman
A. Listing Program A-1
B. Curriculum Vitae B-1