Analisis Asimtotik Dan Real Time Menggunakan Algoritma L-Deque Dalam Menentukan Jarak Terpendek Antar Kantor Cabang Bank Mandiri Di Kota Medan
A-1
LAMPIRAN
LISTING PROGRAM
/*Pemanggilan fungsi kelas pustaka*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
/*Deklarasi fungsi utama*/
namespace WindowsFormsApplication2
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void label1_Click(object sender,
EventArgs e)
{
}
private void label3_Click(object sender,
EventArgs e)
{
}
private void label2_Click(object sender,
EventArgs e)
{
}
Universitas Sumatera Utara
A-2
private void
comboBox1_SelectedIndexChanged(object sender, EventArgs
e)
{
}
private void button1_Click(object sender,
EventArgs e)
{
/*Inisialisasi variabel yang digunakan*/
int N = 19;
int IN = 9999;
int[,] cost;
cost = new int[,] {
{ 9999, 450, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
2200, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 1300, 9999, 9999, 9999, 9999,
9999, 9999, 2700,9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 260, 650, 9999, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 650, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 650, 9999, 600, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 1800,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 1500, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 2100,
9999, 9999, 9999, 9999, 9999, 1900, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
400, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 1800, 9999, 9999, 9999, 9999,
9999, 450, 9999, 650, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 280, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
Universitas Sumatera Utara
A-3
{ 1100, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 650, 9999, 250, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
2000, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 2300, 9999, 800,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 450, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999,9999, 9999, 9999, 9999, 9999,
750, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
500, 9999, 9999, 9999, 9999 },
{ 9999, 650, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 }
};
string[] kantor;
kantor = new string[]{
"Mandiri KCP Medan Perintis Kemerdekaan",
"Mandiri Cash Outlet Medan JW Marriot",
"Mandiri KCP Medan Gatot Subroto",
"Mandiri KCP Medan Kirana",
"Mandiri KCP Medan Makro Bisnis",
"Mandiri KCP Medan Iskandar Muda",
"Mandiri Cash Outlet Medan S. Parman",
"Mandiri Priority Banking Medan Pulau
Pinang",
"Mandiri KCP Medan Zainul Arifin",
"Mandiri KC Medan Imam Bonjol",
"Mandiri KC Medan Balaikota",
"Mandiri KCP Medan Lapangan Merdeka",
"Mandiri KCP Medan Ahmad Yani",
"Mandiri KCP Medan Jalan Cirebon",
"Mandiri KCP Medan Pusat Pasar",
"Plaza Medan Fair",
"Sun Plaza",
"Medan Mall",
"Rumah Sakit Putri Hijau"
};
Universitas Sumatera Utara
A-4
int i, j;
int source, target;
string value = comboBox1.Text;
byte[] asciib =
Encoding.ASCII.GetBytes(value);
source = asciib[0] - 65;
string value2 = comboBox2.Text;
byte[] asciib2 =
Encoding.ASCII.GetBytes(value2);
target = asciib2[0] - 65;
//class shortest path
int[] dist = new int[N];
int[] prev = new int[N];
int[] number = new int[N];
string[] path_kantor = new string[N];
int[] selected = new int[N];
Array.Clear(selected, 0, selected.Length);
int m, min, start, d;
char[] path = new char[N];
/*Algoritma L-Deque*/
Stopwatch sw = Stopwatch.StartNew();
for (i = 0; i < N; i++)
{
dist[i] = IN;
prev[i] = -1;
}
start = source;
selected[start] = 1;
dist[start] = 0;
while (selected[target] == 0)
{
min = IN;
m = 0;
for (i = 0; i < N; i++)
{
d = dist[start] + cost[start, i];
if (d < dist[i] && selected[i] == 0)
{
dist[i] = d;
prev[i] = start;
}
Universitas Sumatera Utara
A-5
if (min > dist[i] && selected[i] ==0)
{
min = dist[i];
m = i;
}
}
start = m;
selected[start] = 1;
}
sw.Stop();
textBox2.Text =
sw.Elapsed.TotalMilliseconds.ToString();
/*Pengolahan Data output*/
start = target;
j = 0;
while (start != -1)
{
//start = start+65;
path_kantor[j] = kantor[start];
path[j++] = Convert.ToChar(start + 65);
start = prev[start];
}
Array.Reverse(path);
Array.Reverse(path_kantor);
DataTable dt = new DataTable();
dt.Columns.Add("Titik", typeof(char));
dt.Columns.Add("Kantor", typeof(string));
DataRow dr;
for (i = N - j; i < N; i++)
{
dr = dt.NewRow();
dr["Titik"] = path[i];
dr["Kantor"] = path_kantor[i];
dt.Rows.Add(dr);
}
dataGridView1.DataSource = dt;
textBox1.Text = dist[target].ToString();
}
private void textBox2_TextChanged(object sender,
EventArgs e)
Universitas Sumatera Utara
A-6
{
}
private void Form3_Load(object sender, EventArgs
e)
{
}
}
}
Universitas Sumatera Utara
B-1
CURRICULUM VITAE
Identitas Pribadi
Nama Lengkap
: Fachrozi Fahmi
Nama akrab
: Fahmi
Tanggal Lahir
: 04 Mei 1993
Tempat Lahir
: Medan
Tinggi/ Berat badan
: 170 cm/ 60 kg
Jenis Kelamin
: Laki-laki
Status Perkawinan
: Belum Menikah
Agama
: Islam
Alamat
: Jalan Gatot Subroto Gg.Amal No. 18
Nomor HP
: 08126361971
E-mail
: fachrozifahmi@gmail.com
Pendidikan Formal
Pendidikan
Sekolah
Tahun
SD
SDN 060893 – Medan
1999 – 2005
SMP
SMPN 19 Medan – Medan
2005 – 2008
SMA
SMA Kartika I-1 Medan – Medan
2008 – 2011
Universitas
D3 Teknik Informatika USU – Sumatera Utara
2011 – 2014
Seminar / Workshop / Kursus
Training / Seminar / Workshop
Tempat
Tahun
Seminar Nasional Literasi Informasi USU, Sumatera Utara
2014
(SENARAI)
Universitas Sumatera Utara
LAMPIRAN
LISTING PROGRAM
/*Pemanggilan fungsi kelas pustaka*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
/*Deklarasi fungsi utama*/
namespace WindowsFormsApplication2
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void label1_Click(object sender,
EventArgs e)
{
}
private void label3_Click(object sender,
EventArgs e)
{
}
private void label2_Click(object sender,
EventArgs e)
{
}
Universitas Sumatera Utara
A-2
private void
comboBox1_SelectedIndexChanged(object sender, EventArgs
e)
{
}
private void button1_Click(object sender,
EventArgs e)
{
/*Inisialisasi variabel yang digunakan*/
int N = 19;
int IN = 9999;
int[,] cost;
cost = new int[,] {
{ 9999, 450, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
2200, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 1300, 9999, 9999, 9999, 9999,
9999, 9999, 2700,9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 260, 650, 9999, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 650, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 650, 9999, 600, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 1800,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 1500, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 2100,
9999, 9999, 9999, 9999, 9999, 1900, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
400, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 1800, 9999, 9999, 9999, 9999,
9999, 450, 9999, 650, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 280, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
Universitas Sumatera Utara
A-3
{ 1100, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 650, 9999, 250, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
2000, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 2300, 9999, 800,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 450, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999,9999, 9999, 9999, 9999, 9999,
750, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 },
{ 9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
500, 9999, 9999, 9999, 9999 },
{ 9999, 650, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999, 9999, 9999,
9999, 9999, 9999, 9999, 9999 }
};
string[] kantor;
kantor = new string[]{
"Mandiri KCP Medan Perintis Kemerdekaan",
"Mandiri Cash Outlet Medan JW Marriot",
"Mandiri KCP Medan Gatot Subroto",
"Mandiri KCP Medan Kirana",
"Mandiri KCP Medan Makro Bisnis",
"Mandiri KCP Medan Iskandar Muda",
"Mandiri Cash Outlet Medan S. Parman",
"Mandiri Priority Banking Medan Pulau
Pinang",
"Mandiri KCP Medan Zainul Arifin",
"Mandiri KC Medan Imam Bonjol",
"Mandiri KC Medan Balaikota",
"Mandiri KCP Medan Lapangan Merdeka",
"Mandiri KCP Medan Ahmad Yani",
"Mandiri KCP Medan Jalan Cirebon",
"Mandiri KCP Medan Pusat Pasar",
"Plaza Medan Fair",
"Sun Plaza",
"Medan Mall",
"Rumah Sakit Putri Hijau"
};
Universitas Sumatera Utara
A-4
int i, j;
int source, target;
string value = comboBox1.Text;
byte[] asciib =
Encoding.ASCII.GetBytes(value);
source = asciib[0] - 65;
string value2 = comboBox2.Text;
byte[] asciib2 =
Encoding.ASCII.GetBytes(value2);
target = asciib2[0] - 65;
//class shortest path
int[] dist = new int[N];
int[] prev = new int[N];
int[] number = new int[N];
string[] path_kantor = new string[N];
int[] selected = new int[N];
Array.Clear(selected, 0, selected.Length);
int m, min, start, d;
char[] path = new char[N];
/*Algoritma L-Deque*/
Stopwatch sw = Stopwatch.StartNew();
for (i = 0; i < N; i++)
{
dist[i] = IN;
prev[i] = -1;
}
start = source;
selected[start] = 1;
dist[start] = 0;
while (selected[target] == 0)
{
min = IN;
m = 0;
for (i = 0; i < N; i++)
{
d = dist[start] + cost[start, i];
if (d < dist[i] && selected[i] == 0)
{
dist[i] = d;
prev[i] = start;
}
Universitas Sumatera Utara
A-5
if (min > dist[i] && selected[i] ==0)
{
min = dist[i];
m = i;
}
}
start = m;
selected[start] = 1;
}
sw.Stop();
textBox2.Text =
sw.Elapsed.TotalMilliseconds.ToString();
/*Pengolahan Data output*/
start = target;
j = 0;
while (start != -1)
{
//start = start+65;
path_kantor[j] = kantor[start];
path[j++] = Convert.ToChar(start + 65);
start = prev[start];
}
Array.Reverse(path);
Array.Reverse(path_kantor);
DataTable dt = new DataTable();
dt.Columns.Add("Titik", typeof(char));
dt.Columns.Add("Kantor", typeof(string));
DataRow dr;
for (i = N - j; i < N; i++)
{
dr = dt.NewRow();
dr["Titik"] = path[i];
dr["Kantor"] = path_kantor[i];
dt.Rows.Add(dr);
}
dataGridView1.DataSource = dt;
textBox1.Text = dist[target].ToString();
}
private void textBox2_TextChanged(object sender,
EventArgs e)
Universitas Sumatera Utara
A-6
{
}
private void Form3_Load(object sender, EventArgs
e)
{
}
}
}
Universitas Sumatera Utara
B-1
CURRICULUM VITAE
Identitas Pribadi
Nama Lengkap
: Fachrozi Fahmi
Nama akrab
: Fahmi
Tanggal Lahir
: 04 Mei 1993
Tempat Lahir
: Medan
Tinggi/ Berat badan
: 170 cm/ 60 kg
Jenis Kelamin
: Laki-laki
Status Perkawinan
: Belum Menikah
Agama
: Islam
Alamat
: Jalan Gatot Subroto Gg.Amal No. 18
Nomor HP
: 08126361971
: fachrozifahmi@gmail.com
Pendidikan Formal
Pendidikan
Sekolah
Tahun
SD
SDN 060893 – Medan
1999 – 2005
SMP
SMPN 19 Medan – Medan
2005 – 2008
SMA
SMA Kartika I-1 Medan – Medan
2008 – 2011
Universitas
D3 Teknik Informatika USU – Sumatera Utara
2011 – 2014
Seminar / Workshop / Kursus
Training / Seminar / Workshop
Tempat
Tahun
Seminar Nasional Literasi Informasi USU, Sumatera Utara
2014
(SENARAI)
Universitas Sumatera Utara