• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Sistem Pendukung Keputusan untuk Jalan Menggunakan Metode ID3 (Studi Kasus BAPPEDA Kota Salatiga) T1 672007005 BAB IV

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Perancangan dan Implementasi Sistem Pendukung Keputusan untuk Jalan Menggunakan Metode ID3 (Studi Kasus BAPPEDA Kota Salatiga) T1 672007005 BAB IV"

Copied!
21
0
0

Teks penuh

(1)

67

Bab 4

Hasil dan Pembahasan

Bab 4 Hasil dan Pembahasan

Setelah melakukan tahap perancangan yang ada pada bab

3, langkah selanjutnya adalah mengimplementasinya. Dari hasil

tahap implementasi dihasilkan sebuah aplikasi dengan nama “SPK JALAN - BAPPEDA SALATIGA”

4.1

Implementasi Aplikasi

4.1.1 Implementasi Database

Sesuai pada perancangan tabel maka tabel-tabel yang

terdapat pada database MySQL juga sama seperti pada

perancangannya.

Gambar 4.1. Struktur Tabel tb_id3_data

Gambar 4.1 merupakan penerapan tabel tb_id3_data pada

MySQL Server. Tabel tb_id3_data terdiri dari field id, fungsi,

(2)

Gambar 4.2. Struktur Tabel tb_id3_result

Gambar 4.2 merupakan penerapan tabel tb_id3_result pada

MySQL Server. Tabel tb_id3_result memiliki field id, atribut,

value dan level.

Gambar 4.3. Struktur Tabel tb_jalan

Gambar 4.3 merupakan penerapan tabel tb_jalan pada

MySQL Server. Tabel tb_jalan memiliki field id_jalan,

nama_jalan, pangkal_simpul, ujung_simpul, status_otonomi,

jalur_lajur, panjang, lebar_damija, lebar_perkerasan,

jenis_perkerasan, fungsi_jalan, kondisi_jalan, last_update,

(3)

Gambar 4.4. Struktur Tabel tb_pengajuan

Gambar 4.4 merupakan penerapan tabel tb_pengajuan pada

MySQL Server. Tabel tb_pengajuan memiliki field id_pengajuan,

userid, id_jalan, kondisi_jalan, status_ID3, waktu dan alasan.

Gambar 4.5. Struktur Tabel tb_user

Gambar 4.5 merupakan penerapan tabel tb_user pada

MySQL Server. Tabel tb_user memiliki field userid, password,

nama, tipe_user, banned, last_active dan alamat.

4.1.2 Implementasi Aplikasi Sistem Pendukung Keputusan

Jalan

Dalam aplikasi Sistem Pendukung Keputusan Jalan,

digunakan sistem login dengan 3 macam hak akses yaitu

(4)

pengolahan data pada aplikasi ini dan satu hak akses yang dapat

digunakan ketika koneksi database atau status database

bermasalah. Jika login valid, maka aplikasi akan menampilkan

menu-menu yang sesuai dengan hak akses pada saat login.

Gambar 4.6. Tampilan Awal Aplikasi

Gambar 4.6 merupakan tampilan awal sebelum login.

Untuk dapat masuk ke dalam aplikasi diperlukan username dan

password. Data username dan password disimpan dalam tabel

tb_user.

(5)

Gambar 4.7 merupakan tampilan dari aplikasi ketika user

administrator telah login. Untuk hak akses administrator terdapat

menu yang dapat diakses adalah Data yang meliputi Data Jalan

Salatiga, Data Pengguna, Data ID3 dan Data Pengajuan

Perbaikan. Selain itu, menu User Control dapat diakses Lihat

Peta Salatiga dan Ganti Password. Menu Pengaturan juga dapat

diakses oleh administrator yang meliputi Backup Database,

RestoreDatabase dan Ganti Koneksi Database.

Gambar 4.8. Tampilan Menu User Biasa

Gambar 4.8 merupakan tampilan menu untuk user biasa.

Fungsi dengan adanya menu User Control adalah user biasa

dapat mengakses submenu Lihat Peta Salatiga, Tambah

Pengajuan Perbaikan Jalan, Lihat Data Pengajuan dan Ganti

Password.

4.2

Pembahasan Aplikasi

Dalam pembahasan aplikasi Sistem Pendukung Keputusan

Jalan akan dibahas mengenai metode ID3 dan form-form yang

(6)

4.2.1 Implementasi Metode ID3

ID3 merupakan sebuah metode yang menghasilkan pohon

keputusan dimana berguna dalam mencapai keputusan tertentu.

Kode Program 4.1. Perhitungan Gain

Kode Program 4.1 digunakan untuk perhitungan nilai gain

dari suatu atribut. Untuk memulai menggunakan perhitungan

gain, maka method gain dipanggil. Method gain mempunyai dua

parameter yaitu samples dan attribute. Parameter samples

bertipe DataTable yang digunakan untuk mem-parsing data

sample yang digunakan oleh method gain. Sedangkan attribute

bertipe data Attribute yang merupakan tipe data turunan

digunakan untuk menyimpan data atribut. Pada baris 4

merupakan deklarasi dan inisialisasi variabel sum yang digunakan

untuk menyimpan nilai entropy dari tiap value pada attribute.

Baris 5 sampai 12 merupakan proses looping untuk value dari

atribut yang di-parsing-kan. Baris 7 sampai 8 merupakan tahap

deklarasi dengan tipe data integer dan inisialisasi dengan nilai 0 1. private double gain(DataTable samples, Attribute

attribute) 2. {

3. string[] values = attribute.values; 4. double sum = 0.0;

5. for (int i = 0; i < values.Length; i++) 6. {

7. int positives, negatives; 8. positives = negatives = 0;

9. getValuesToAttribute(samples,attribute, values[i], out positives, out negatives);

10. double entropy = calcEntropy(positives, negatives); 11. sum += -(double)(positives + negatives) / mTotal *

entropy; 12. }

13. return mEntropySet + sum;

(7)

pada variabel positives dan variabel negatives. Pada baris 9

dilakukan pemanggilan method getValueToAttribute dengan data

yang di-parsing adalah data samples, attribute, nilai pada

attribute saat looping (value[i]), dan parse by reference untuk

variabel positives dan negatives. Method getValueToAttribute

digunakan untuk mendapatkan jumlah nilai negatif dan positif

dari data sample untuk tiap nilai dari attribute. Baris 10 dilakukan

untuk menghitung nilai entropy dari atribut positives dan

negatives. Baris 11 adalah proses menjumlahkan nilai entropy

dari tiap value pada attribute. Baris 13 merupakan proses akhir

dari perhitungan gain. Yaitu entropy(S) dikurangi dengan jumlah

entropy dari tiap value pada attribute.

Kode Program 4.2. Perhitungan Entropy

Kode Program 4.2 merupakan perintah untuk menghitung

nilai entropy. Untuk menghitung nilai entropy diperlukan 2

parameter yaitu jumlah nilai negatif dan positif. Nilai total

didapat dari menjumlah nilai negatif dan positif. Baris 4 dan 5

digunakan untuk menghitung nilai perbandingan nilai positif dan 1. private double calcEntropy(int positives, int negatives) 2. {

3. int total = positives + negatives;

4. double ratioPositive = (double)positives/ total; 5. double ratioNegative = (double)negatives/ total; 6. if (ratioPositive != 0)

7. ratioPositive = -(ratioPositive) * System.Math.Log(ratioPositive, 2); 8. if (ratioNegative != 0)

9. ratioNegative = -(ratioNegative) * System.Math.Log(ratioNegative, 2);

10. double result = ratioPositive + ratioNegative; 11. }

12. return result;

(8)

negatif dengan nilai total. Baris 6 dan 8 merupakan suatu kondisi

dimana untuk menghitung nilai entropy, rasio perbandingan tidak

boleh 0. Baris 7 dan 9 adalah langkah untuk menghitung nilai

entropy, dimana nilai entropy didapatkan dari penjumlahan dari 2

variabel yaitu ratiopositives dan rationegatives.

4.2.2 Form Utama

Pada bagian dilakukan pengujian aplikasi yang telah dibuat

menggunakan Microsoft Visual Studio 2008 dan MySQL 5.0.

Pengujian dilakukan dengan menggunakan data yang

disimulasikan tetapi dikondisikan sebagaimana data asli.

Pada saat aplikasi pertama kali dijalankan, secara default

aplikasi akan membuat sesi koneksi terhadap database. Koneksi

database yang digunakan pertama kali berasal dari file config.cfg.

Apabila koneksi masih gagal, maka aplikasi akan mencoba

koneksi menggunakan koneksi default setting pada saat aplikasi

dibangun. Terdapat tiga macam login yang ada di dalam aplikasi,

yaitu administrator lokal apabila terjadi kesalahan dalam koneksi

terhadap database, administrator untuk proses administratif dan

user biasa.

Untuk menggunakan aplikasi, diperlukan validasi

pengguna. Diasumsikan pengguna berhasil melewati proses

validasi, maka menu yang dapat diakses adalah sesuai dengan hak

akses pada saat validasi login. Gambar 4.7 merupakan tampilan

menu yang dapat diakses oleh hak akses administrator. Menu

(9)

Salatiga, Data Pengguna, Data ID3 dan Data Pengajuan

Perbaikan. Selain itu, menu User Control dapat diakses Lihat

Peta Salatiga dan Ganti Password. Menu Pengaturan juga dapat

diakses oleh administrator yang meliputi Backup Database,

RestoreDatabase dan Ganti Koneksi Database.

4.2.3 Form Data Jalan

Form Data Jalan berfungsi untuk melihat data jalan yang

ada. Administrator juga dapat mengolah data jalan berupa insert

data jalan, update data jalan, delete data jalan maupun membuat

report data jalan. Data jalan yang digunakan untuk pengolahan

antara lain id jalan, nama jalan, pangkal simpul jalan, ujung

simpul jalan, status otonomi jalan, jalur dan lajur jalan, panjang

jalan, lebar damija jalan, lebar perkerasan jalan, jenis perkerasan

jalan, fungsi jalan, kondisi jalan, titik pangkal jalan dan titik

ujung jalan. Tampilan form Data Jalan dapat dilihat pada Gambar

(10)
(11)

Gambar 4.10.Tampilan Report Data Jalan

Gambar 4.10 merupakan tampilan report data jalan hasil

dari pemilihan pada form Data Jalan.

4.2.4 Form Data Pengajuan

Form Data Pengajuan adalah form yang digunakan untuk

melihat data pengajuan yang telah diterima Bappeda dan

melakukan proses pengolahan data yaitu proses pemilihan

keputusan dengan menggunakan ID3. Dalam form Data

Pengajuan juga terdapat fungsi menampilkan report yang dapat

dijadikan menjadi file DOC, RTF, PDF, XLS dan RPT. Apabila

data telah diproses maka akan ada konfirmasi apakah ingin

menghitung ulang. Setelah proses penghitungan, pengguna akan

dikonfirmasikan untuk mensetujui perhitungan atau tidak.

Apabila setuju maka data akan langsung di-update dalam

database dan apabila pengguna tidak setuju, maka hasil akan

diubah dengan kebalikan dari hasil proses perhitungan kemudian

baru disimpan ke dalam database. Tampilan form Data

(12)

Gambar 4.11.Tampilan Form Data Pengajuan

Gambar 4.12.Tampilan Report Data Pengajuan

4.2.5 Form Ganti Database

Form Ganti Database dapat digunakan apabila database

server akan maintanance atau terjadi kesalahan dalam tabel

(13)

berkoneksi dengan database server, aplikasi ini menggunakan

dua macam connection string yaitu koneksi dari konfigurasi

standar yang tersimpan dalam aplikasi dan koneksi dari file

config.cfg. Tampilan untuk form Ganti Database dapat dilihat

pada Gambar 4.13.

Gambar 4.13.Tampilan Form Ganti Database

Untuk mengganti koneksi database, maka administrator

harus mengisi host server, username, password dan port yang

digunakan untuk koneksi terhadap database baru. Kemudian pilih

tombol Menghubungkan. Fungsi dari tombol Menghubungkan

adalah untuk memeriksa koneksi terhadap server database baru.

Apabila dapat terkoneksi maka list database akan ditambahkan

pada combo box. Langkah selanjutnya adalah memilih database

(14)

mengganti file config.cfg baru dengan koneksi ke databaseserver

baru.

4.2.6 Form ID3 Data

Form ID3 Data digunakan untuk melihat data yang

digunakan untuk proses perhitungan ID3 dan membuat pohon

keputusan. Fungsi dari form ini adalah data yang digunakan

dalam perhitungan ID3 dapat ditambahkan. Pada form ID3 Data

juga terdapat fungsi untuk menghitung data ID3 dan membuat

pohon keputusan. Hasil dari perhitungan ID3 dapat disimpan

dengan fungsi Simpan ke DB. Tampilan form ID3 Data dapat

dilihat pada Gambar 4.14.

Gambar 4.14.Tampilan Form ID3 Data

Perintah untuk menghitung ID3 dan menampilkan pohon

(15)

Kode Program 4.3. Perintah Menghitung ID3

Kode Program 4.3 dapat dijelaskan sebagai berikut. Baris 3

sampai 5 merupakan langkah untuk menyusun atribut yang

digunakan. Baris 6 sampai 7 digunakan untuk mengambil data

sample ID3 dari database. Baris 9 digunakan untuk memulai

proses penghitungan data sample ID3 dan menyimpan hasil

perhitungan dalam variabel root. Variabel root merupakan pohon

keputusan dari hasil perhitungan ID3. Baris 10 sampai 14 adalah

perintah untuk menampilkan hasil perhitungan ID3 menjadi

visualisasi pohon keputusan. Baris 15 sampai 18 adalah

pengecekan pohon keputusan apakah terjadi kesalahan atau tidak. 1. private void btnHitungID3_Click(object sender, EventArgs

e){

2. Attribute ceu = new Attribute("fungsi", new string[] { "Arteri Primer", "Kolektor Primer", "Kolektor Sekunder", "Lokal Primer", "Lokal Sekunder", "Lingkungan" });

3. Attribute temperatura = new Attribute("pengaju", new string[] { "Perorangan", "Masyarakat", "Dewan" });

4. Attribute humidade = new Attribute("kondisi_jalan", new string[] { "Rusak Ringan", "Rusak Berat", "Baik" }); 5. Attribute[] attributes = new Attribute[] { ceu,

temperatura, humidade };

6. ID3_Data dataID3 = new ID3_Data(dbCon.con); 7. DataTable samples = dataID3.getDataTable(); 8. ID3 id3 = new ID3();

17.if (this.ROOT != null) this.btnSaveDB.Enabled = true; 18.}

19.else{

20.searchErrorTree(root);

21.MessageBox.Show(this, "Terjadi kesalahan pada '" + this.ErrorTree + "'\nSample Data tidak mencukupi.", "Kesalahan", MessageBoxButtons.OK, MessageBoxIcon.Error); 22.}

23. this.ErrorTree = "";

(16)

Jika tidak ada kesalahan maka pemberian nilai pada variabel

ROOT dan jika variabel ROOT bukan null, maka tombol Simpan

ke DB akan aktif. Baris 19, jika terjadi kesalahan pada pohon

keputusan maka akan memberikan pesan kesalahan dan me-reset

variabel ErrorTree.

4.2.7 Form Map

Form Map digunakan untuk melihat data spasial Salatiga

yang telah diubah menjadi peta. Tampilan formMap dapat dilihat

pada Gambar 4.15.

Gambar 4.15.Tampilan FormMap

Dalam implementasi peta dengan menggunakan library

yang disertakan dalam MapServer yaitu library

mapscript_csharp.dll dan beberapa file yang berada pada

(17)

Perintah untuk menampilkan peta dapat dilihat pada Kode

Program 4.4.

Kode Program 4.4. Perintah Untuk Menampilkan Peta

Kode Program 4.4 dapat dijelaskan sebagai berikut. Baris 2

digunakan untuk mengubah data peta menjadi data image. Baris 3

sampai 7 digunakan untuk menampilkan image peta seperti pada

Gambar 4.13. Baris 8 sampai 9 digunakan untuk menampilkan

data layer dan image legenda dari peta.

4.2.8 Form Pengguna

Form Pengguna digunakan untuk pengolahan data

pengguna. Administrator dapat mengubah data pribadi termasuk

password terhadap pengguna lain yang terdaftar. Tampilan form

Pengguna dapat dilihat pada Gambar 4.16. 1. public void reloadMap() {

2. imageObj img = map.draw(); 3. byte[] imgByte = img.getBytes();

4. using (MemoryStream ms = new MemoryStream(imgByte)) 5. {

6. picMap.Image = System.Drawing.Image.FromStream(ms); 7. }

(18)

Gambar 4.16.Tampilan Form Pengguna 4.2.9 Form Tambah Pengajuan

Form Tambah Pengajuan digunakan untuk melihat data

jalan dan menambahkan data pengajuan perbaikan jalan yang

diakses oleh user biasa. Tampilan form Tambah Pengajuan dapat

(19)

Gambar 4.17.Tampilan Form Tambah Pengajuan

Pada Gambar 4.17 merupakan form Tambah Pengajuan.

Pengguna aplikasi dapat menambahkan data pengajuan perbaikan

jalan dengan menyertakan alasan yang logis dan hanya dapat

mengajukan satu jalan untuk tiap pengajuan dan jalan yang sudah

diajukan pengguna tertentu, maka pengguna tertentu tersebut

tidak dapat mengajukan jalan yang sama. Untuk menambahkan

pengajuan langkah pertama adalah memilih jalan yang akan

diajukan kemudian mengisi form. Dilanjutkan memilih tombol

Laporkan.

4.3

Pengujian Sistem dengan

Blackbox Testing

Pengujian Blackbox Testing pada sistem dilakukan pada

(20)

data. Hasil pengujian Blackbox Testing dapat dilihat pada Tabel

4.1.

Tabel 4.1. Tabel Blackbox Testing

(21)

muncul peringatan bahwa password atau username salah. Namun

jika berhasil maka menu akan terbuka sesuai dengan tipe

pengguna yang login. Selain itu, ketika user ingin edit maupun

tambah data, data yang dimasukkan harus sesuai dengan prosedur

(tidak boleh kosong).

4.4

Pengujian ID3

Uji coba yang dilakukan untuk pengujian algoritma ID3

dilakukan dengan memasukkan data sample terhadap aplikasi.

Jumlah data sample adalah 50 data sample. Hasil pengujian

didapatkan 16% dari 50 data sample tidak sesuai dengan

keputusan. Kombinasi dalam pembuatan pohon keputusan

Gambar

Gambar 4.1. Struktur Tabel tb_id3_data
Gambar 4.2. Struktur Tabel tb_id3_result
Gambar 4.4. Struktur Tabel tb_pengajuan
Gambar 4.6. Tampilan Awal Aplikasi
+7

Referensi

Dokumen terkait

Houston, (2010), Dasar-dasar Manajemen Keuangan , terjemahan : Ali Akbar Yulianto, Jilid 1, Edisi kedua, Salemba Empat, Jakarta.. Houston, (2011), Dasar-dasar Manajemen Keuangan ,

Dengan ini kami beritahukan bahwa perusahaan Saudara telah masuk dalam Calon Daftar Pendek Penyedia Jasa Konsultansi untuk pekerjaan Penyusunan Pola Ruang dan Struktur Ruang

Irbid  dan  Auditor  Itwasum Polri  yang  ditunjuk  sebagaimana  dimaksud dalam

The standard soxhlet extraction method was conducted using methanol at different extraction times to verify the mathematical model proposed in this work.. The extracts were

Jati diri koperasi adalah salah satu rasio keuangn yang digunakan koperasi untuk mengukur keberhasilan koperasi dalam mencapai tujuannya yaitu mempromosikan ekonomi

Adapun tujuan penelitian ini adalah, untuk mengetahui pandangan masyarakat terhadap pentingnya pendidikan di Dusun Sekarbungoh Desa Polasareh Kecamatan Labang Kabupaten

Mata bor helix kecil ( Low helix drills ) : mata bor dengan sudut helix lebih kecil dari ukuran normal berguna untuk mencegah pahat bor terangkat ke atas

 Strategi pembelajaran hard skills dan soft skills untuk menyiapkan tenaga kerja terampil jika tempat pendidikan di sekolah, maka strategi pembelajaran. aktif relevan