• Tidak ada hasil yang ditemukan

Bab 4 Hasil dan Pembahasan

N/A
N/A
Protected

Academic year: 2021

Membagikan "Bab 4 Hasil dan Pembahasan"

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, pengaju, kondisi_jalan dan result.

(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, titik_pangkal dan titik_ujung.

(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 administrator dan user biasa yang dapat melakukan

(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, Restore Database 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 digunakan.

(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; 14. }

(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; 13. }

(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 yang dapat diakses adalah Data yang meliputi Data Jalan

(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, Restore Database 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 4.9.

(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 Pengajuan dapat dilihat pada Gambar 4.11.

(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 database ataupun koneksi terhadap database server. Dalam

(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 dan memilih tombol Ganti. Secara otomatis aplikasi akan

(14)

mengganti file config.cfg baru dengan koneksi ke database server 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 keputusan dapat dilihat pada Kode Program 4.3.

(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();

9. TreeNode root=id3.mountTree(samples,"result", attributes); 10. treeView1.BeginUpdate(); 11. treeView1.Nodes.Clear(); 12. treeView1.Nodes.Add(this.BuatPohon(root)); 13. treeView1.EndUpdate(); 14. treeView1.ExpandAll(); 15. if (!checkTree(root)){ 16. this.ROOT = root;

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 = ""; 24. }

(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 form Map dapat dilihat pada Gambar 4.15.

Gambar 4.15. Tampilan Form Map

Dalam implementasi peta dengan menggunakan library yang disertakan dalam MapServer yaitu library mapscript_csharp.dll dan beberapa file yang berada pada MapServer pada folder ms4w\Apache\cgi-bin.

(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. } 8. reloadMapLayer(); 9. reloadMapLegend(); 10. }

(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 dilihat pada Gambar 4.17.

(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 proses login , pencarian data, tambah data, hapus data dan ubah

(20)

data. Hasil pengujian Blackbox Testing dapat dilihat pada Tabel 4.1.

Tabel 4.1. Tabel Blackbox Testing Aktivitas dan

Event Input Output

Status Penguji an Login dengan memilih tombol Login Username dan Password

- Jika berhasil Login maka bisa mengakses menu-menu yang terdapat dalam aplikasi.

- Jika username atau password salah maka muncul peringatan username atau password anda salah. Valid Input data kemudian memilih tombol Simpan Memasukkan data baik itu data jalan, pengguna, ID3, maupun

pengajuan perbaikan jalan.

- Jika belum memasukkan data sesuai prosedur (field yang tersedia) maka akan muncul peringatan bahwa kurang lengkap.

Valid Mengubah data kemudian memilih tombol Edit Mengubah data yang ada.

- Jika masih ada data yang masih kurang (tidak sesuai prosedur) maka proses edit gagal dan akan muncul peringatan bahwa kurang lengkap. Valid Mencari data kemudian memilih tombol Cari Memasukkan data yang ingin dicari

Jika data yang akan dicari tidak ada maka data tidak akan muncul. Valid Memilih data kemudian memilih Delete Konfirmasi Ya atau Tidak

- Jika konfirmasi Ya maka data akan terhapus

- Jika konfirmasi Tidak maka data tidak akan terhapus

Valid

Pada Tabel 4.1 menjelaskan bahwa ketika user melakukan Login harus memasukkan username dan password terlebih dahulu. Jika password maupun username salah maka akan

(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 menjadi faktor dalam penentuan hasil.

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

Selain memperoleh akses dari Dinas Pertanian dan Perikanan Kota Salatiga, responden memiliki beberapa alternatif sumber swasta dan non penerintah antara lain penyuluh swasta dan

Pada halaman beranda admin, terdapat beberapa menu yang dapat admin pilih untuk pengelolaan data master, seperti : Manajemen Administrator, Manajemen Pengajar,

Pada form utama sesudah login terdapat beberapa menu (dibedakan berdasarkan hak akses pemakai pada sistem), yakni : Menu Data Pemakai; Menu Data Master dengan sub menu

Divisi pemasaran mempunyai hak akses terhadap Master Penyewa, Menu Transaksi Pemesanan Alat Berat, Menu Transaksi Kontrak, Menu Transaksi Faktur, Menu Transaksi Surat Jalan,

Menu ini berfungsi untuk menampilkan jurnal umum yang telah tersedia, kemudian Pengguna dapat mengimport jurnal umum yang telah dihasilkan sistem lama kemudian

Tampilan menu sistem informasi monitoring ini terbagi menjadi 3 hak akses, yaitu: (1) Administrator, yang memiliki hak akses untuk masuk sebagai administrator

Merupakan menu yang digunakan untuk mengatur hak akses pada system ini. Hak akses pada system ini terdiri dari 6 level yaitu ; Administrator, Operator Pengguna, Bagian

Rancangan arsitektural ini digambarkan menu-menu yang terdapat pada sistem ini. Menu yang dapat diakses oleh user meliputi menu fasilitas umum, menu jelajah kos, menu