21
Bab 3
Metode dan Perancangan Sistem
Bab 3 Metode Perancangan Sistem
Pada bab ini membahas metode perancangan sistem beserta
pemodelan sistem, baik berupa kebutuhan minimum perangkat
keras dan lunak, data masukan dan percancangan sistem
menggunakan UML.
3.1. Metode Perancangan Sistem
Metode pengembangan sistem yang digunakan dalam
aplikasi ini menggunakan metode waterfall dan kebutuhan dasar
dari sistem dapat dilihat pada penjelasan berikut ini.
3.1.1. Metode Waterfall
Metode yang digunakan untuk pengembangan sistem dalam
penelitian ini adalah model Waterfall. Model Waterfall adalah
suatu model proses untuk memodelkan suatu sistem perangkat
lunak yang dibuat secara terstruktur dan berurutan dimulai dari
penentuan masalah, Requirements Definition, System and
Software Design, Implementation and Unit Testing, Integration
and System Testing, serta Operation and Maintanance. Bagan
model Waterfall dapat dilihat pada Gambar 3.1.
22
Gambar 3.1. Metode Waterfall (Sommerville, 2001)
Tahap-tahap yang dilakukan dalam model Waterfall untuk
Perancangan Sistem Pendukung Keputusan untuk Jalan di Kota
Salatiga ini adalah:
1. Requirements Definition
Mengumpulkan kebutuhan secara lengkap kemudian
dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh
aplikasi yang akan dibangun. Langkah analisis kebutuhan ini
harus dikerjakan secara lengkap untuk bisa menghasilkan desain
yang lengkap.
Proses bisnis secara umum dari prosedur pengajuan
perbaikan jalan yang ada di Bappeda dapat dijelaskan sebagai
berikut:
- Masyarakat dalam suatu wilayah dalam hal ini diwakilkan
dalam tingkat RT mengadakan rapat bersama membahas proposal
pengajuan perbaikan jalan yang akan diajukan ke tingkat RW.
23
Pada rapat RW akan dibahas pengajuan-pengajuan yang ada dan
akan dilakukan seleksi dalam pengajuan tersebut. Apabila
diperkirakan usulan itu perlu dilakukan, maka proposal pengajuan
perbaikan jalan tersebut akan diusulkan lagi ke tingkat kelurahan.
Kelurahan akan menerima usulan dari tiap-tiap RW dimana akan
dilakukan seleksi lagi terhadap usulan-usulan tersebut. Usulan-
usulan tersebut akan diseleksi sampai pada tingkat kecamatan.
- Usulan-usulan dari tingkat RT yang sampai pada tingkat
kecamatan tersebut akan diusulkan lagi ke Dewan Pekerjaan
Umum (DPU), yang olehnya akan dibagi berdasarkan bidang-
bidang yang diampu. Seperti contohnya perbaikan jalan, maka
akan diinformasikan ke Bappeda. Usulan-usulan yang sudah
dibagi berdasarkan bidang-bidang tersebut, akan dikembalikan
lagi ke DPU. DPU akan membuat rancangan dana perbaikan
berdasarkan usulan-usulan tersebut yang sudah disetujui oleh tiap
bidang.
- Salah satu tugas dari bidang Sarana Prasarana dan Tata
Ruang dalam Bappeda adalah mengetahui keadaan jalan yang
terbaru. Untuk mengetahui keadaan jalan, maka diperlukan
monitoring jalan yang dilakukan secara berkala. Misalnya
dilakukan monitoring jalan setiap dua bulan sekali.
- Usulan perbaikan jalan dari masyarakat diterima oleh
Bappeda. Bidang Sarana Prasarana dan Tata Ruang dalam
Bappeda akan meninjau lapangan. Menilai usulan tersebut layak
untuk disetujui atau ditolak.
24
Proses bisnis Bappeda untuk pembangunan dapat dilihat
pada Gambar 3.2.
USULAN
MASYARAKAT
Rekap Usulan
Masyarakat
Tentukan Prioritas
Rekap Usulan
Kelurahan
Tentukan Prioritas
Usulan Prioritas
dan Rekap
Usulan Prioritas
Kecamatan
Rekap Usulan
Prioritas
Daftar Usulan
Data Usulan
(Aplikasi)
Usulan
Masyarakat dan
Analisi
Usulan
Masyarakat yang
telah dicek dengan
aplikasi
Tentukan Analisis
Biaya
Usulan
Masyarakat dan
Biaya
Rekap RKPD
RKPD
Kecamatan SKPD BAPPEDAKelurahan
Gambar 3.2. Proses Bisnis Bappeda Pengajuan
25
Pada Gambar 3.2 dapat dijelaskan sebagai berikut.
Musyawarah Perencanaan Pembangunan atau disebut
MUSRENBANG adalah suatu wadah bagi masyarakat untuk
menampung rencana-rencana pembangunan daerah yang dapat
berupa rencana pembangunan infrastruktur daerah termasuk juga
pembangunan jalan atau perbaikan jalan untuk periode tahun
berikutnya yang secara berkala dimulai pada bulan Februari.
Pada tingkat Kelurahan, usulan-usulan ditampung dan
dilakukan prioritas. Data hasil dari pemilihan prioritas pada
tingkat kelurahan dilanjutkan dan diserahkan kepada tingkat
Kecamatan dimana pada tingkat ini adalah pengumpulan semua
usulan dari kelurahan-kelurahan yang menjadi lingkup
Kecamatan. Tingkat Kecamatan juga melakukan seleksi prioritas
untuk semua usulan dari beberapa kelurahan tersebut. Data hasil
seleksi di tingkat Kecamatan dikumpulkan pada Bappeda dan
menjadi data usulan prioritas Kecamatan. Di Bappeda dilakukan
rekap usulan prioritas dan analisis. Setelah proses prioritas dari
usulan kecamatan maka akan dilakukan rapat Satuan Kerja
Perangkat Daerah atau SKPD yang gunanya adalah untuk
menentukan rencana anggaran yang diperlukan dari usulan-
usulan yang lolos. Usulan-usulan yang telah dianggarkan pada
rapat SKPD menjadi Rencana Kerja Pembangunan Daerah
(RKPD) yang direkap oleh Bappeda.
Dari proses yang begitu panjang, Bappeda ingin
mengakomodasi untuk proses pengajuan perbaikan jalan melalui
26
aplikasi pendukung keputusan perbaikan jalan yang sekiranya
dapat membantu dalam penyimpanan usulan-usulan perbaikan
jalan untuk periode berikutnya.
2. System and Design Software
Menganalisis hasil dari requirement menjadi sebuah ide-ide
dalam pengembangan aplikasi, masalah-masalah yang mungkin
terjadi, kebutuhan apa saja yang diperlukan dalam pengembangan
aplikasi ini.
Setelah semua kebutuhan dianalisis, langkah selanjutnya
adalah mendesain sistem dan perangkat lunak, yaitu melakukan
perancangan sistem yang akan dibangun. Perancangan sistem
tersebut dibuat menggunakan diagram UML yaitu dengan
membuat diagram use case, diagram activity, dan diagram state,
serta perancangan database dan tampilan antarmuka bagi
pengguna.
3. Implementation and Unit Testing
Tahap selanjutnya adalah menerjemahkan desain sistem ke
dalam aplikasi. Bentuk implementasi dari sistem berupa
penulisan program dan pembuatan basis data serta dokumentasi.
Setelah aplikasi dibuat perlu dilakukan pengujian beberapa unit
yang terdapat dalam sistem pada aplikasi tersebut. Apabila
terdapat kekurangan pada unit maka sistem akan diperbaiki
sampai masalah dapat teratasi.
27
4. Integration and System Testing
Merupakan tahap dimana menyatukan unit program
menjadi satu kesatuan sistem dan melakukan pengujian sistem
untuk memastikan bahwa sistem telah memenuhi syarat
kebutuhan.
5. Operation and Maintanance
Setelah aplikasi yang dibuat sudah melalui tahap integrasi
dan pengujian sistem, maka aplikasi sudah siap untuk dipasang
dan digunakan. Tahap perawatan dilakukan untuk memantau
aplikasi yang telah dibangun mampu berjalan semestinya.
3.2. Deskripsi Sistem
Sistem Pendukung Keputusan Jalan adalah sebuah aplikasi
berbasis desktop yang diharapkan dapat membantu Bappeda
Salatiga dalam membantu pemilihan keputusan perbaikan jalan.
Database digunakan dalam penyimpanan data sehingga dalam
pengoperasian aplikasi dapat berjalan dengan semestinya.
3.2.1. Analisis Alur Kerja Sistem
Analisis alur kerja ini diperoleh dari hasil wawancara di
Bappeda Salatiga. Alur kerja sistem harus dipahami secara
terperinci dan baik karena dalam pembuatan aplikasi berdasar
pada alur kerja tersebut. Selain itu juga dapat membantu dalam
pengembangan aplikasi selanjutnya.
28
3.2.2. Analisis Input
Analisis input adalah acuan-acuan yang diperlukan oleh
sistem untuk diolah. Masukan tersebut dapat berupa data-data
yang perlu dicantumkan ke dalam aplikasi. Data-data tersebut
meliputi: data pengguna, data jalan, data ajuan, dan data sample
ID3.
3.2.3. Analisis Output
Berdasarkan alur kerja sistem yang dibuat, output yang
dihasilkan berupa informasi mengenai data-data jalan. Output
tersebut berupa pengajuan dari masyarakat baik yang disetujui
maupun tidak disetujui, data jalan . Data tersebut dapat diperoleh
dengan mengakses aplikasi.
3.3. Analisis Sistem
Tahapan analisis sistem diperlukan untuk mengevaluasi
kinerja sistem yang telah ada dan untuk menyusun sistem baru
sehingga kinerja dapat berjalan dengan semestinya.
3.3.1. Analisis Kelemahan Sistem Manual
Sistem yang selama ini diterapkan di Bappeda ini
menggunakan sistem semi manual. Dalam mencatat data-data
jalan menggunakan Microsoft Word, Microsoft Excel dan
mencatat dalam buku untuk dokumentasi. Beberapa kelemahan
dalam menggunakan sistem manual ini adalah :
1. Kesulitan pembaharuan data, dikarenakan penyimpanan data
dalam bentuk Microsoft Excel, Microsoft Word ataupun dalam
29
catatan kesusahan dalam pemeriksaan data (searching data)
dan mampu terjadi redundansi data.
2. Dokumen-dokumen dan buku-buku yang digunakan dalam
proses bisnis Bappeda cukup boros dalam penggunaan tempat
dan memungkinkan terjadi kehilangan serta kerusakan data.
3.3.2. Analisis Kebutuhan Sistem
Dalam tahap ini dilakukan perencanaan terhadap
kebutuhan untuk pembuatan aplikasi Sistem Pendukung
Keputusan untuk Jalan, dapat disimpulkan beberapa kebutuhan
pengguna sistem, antara lain :
- Terdapat batasan hak akses pada setiap jenis user (dalam
aplikasi terdapat tiga jenis user yaitu: user administrator, user
biasa dan satu user administrator lokal)
- User administrator dapat melakukan pengolahan data
jalan, data ajuan, data administratif dan data pengguna. Selain itu
juga dapat melihat hasil keputusan dari perhitungan ID3 dan
mengkonfirmasikan persetujuan kelayakan. Administrator juga
dapat melakukan konfigurasi database yang digunakan.
- User biasa dapat melihat data jalan dan data ajuan yang di-
input.
Kebutuhan perangkat keras yang diperlukan untuk
membangun aplikasi ini dapat dilihat dalam Tabel 3.1.
30
Tabel 3.1. Spesifikasi Perangkat Keras
Processor Intel Core 2 Duo 2.4GHz
RAM 2 Gb
Disk space usage 5 Gb
Kebutuhan perangkat lunak yang diperlukan untuk
membangun aplikasi ini dapat dilihat dalam Tabel 3.2.
Tabel 3.2. Spesifikasi Perangkat Lunak
MapServer Versi 5.6
Microsoft Visual Studio 2008 Versi 9.0
MySQL Server Versi 5.0
ArcView GIS Versi 3.2a
Rational Rose Versi 2003.06.00
3.4. Perancangan Sistem
UML merupakan singkatan dari Unified Modelling
Language yang didefinisikan sebagai bahasa visual untuk
menjelaskan, memberikan spesifikasi, merancang, membuat
model dan mendokumentasikan aspek-aspek dari sebuah sistem
(Nugroho, 2005). Perancangan sistem menggunakan perangkat
lunak Rational Rose sebagai perancang desain aplikasi meliputi
diagram use case, diagram activity dan diagram state.
3.4.1. Diagram Use Case
Use case adalah sekelompok aliran kerja dalam sistem yang
menyediakan fungsi tertentu bagi para aktor. Use case
mendeskripsikan apa yang dapat dikerjakan oleh sistem. Dalam
pengembangan sistem, diperlukan rincian-rincian yang lebih
spesifikasi atau aliran event, dimana aliran event ini mempunyai
31
kegunaan untuk mendokumentasikan aliran-aliran logika dalam
setiap use case.
Sebuah use case merepresentasikan sebuah interaksi antara
aktor dengan sistem. Use case merupakan sistem yang akan
dikembangkan sedangkan aktor adalah pengguna sistem tersebut.
Gambar 3.3. Diagram Use Case Sistem
Gambar 3.3 menggambarkan user administrator dan user
biasa dapat mengakses fungsi-fungsi yang ada dalam aplikasi.
User hanya dapat mengakses setiap fungsi yang ada apabila
mereka telah login terhadap aplikasi. Kedua user tersebut dapat
mengakses fungsi “Lihat Peta Salatiga” dan “Ganti Password”.
Untuk user biasa selain fungsi “Lihat Peta Salatiga” dan “Ganti
Password”, juga dapat mengakses fungsi “Lihat Data Jalan”,
“Input Data Pengajuan Jalan” dan “Lihat Data Pengajuan Jalan”.
Ganti Password
Lihat Peta SalatigaUser
Login
Update Data Pengguna Update Data Pengajuan Perbaikan
Jalan
Update Data Jalan
Update Data ID3 dan Perhitungan
ID3
Lihat Data Jalan
Biasa
Input Data Pengajuan Perbaikan
Jalan
Ganti Koneksi Database
Administrator
Backup dan Restore Database
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
32
Untuk user administrator dapat melakukan fungsi yang dapat
diakses oleh user. Selain itu, juga dapat mengakses fungsi “Ganti
Koneksi Database”, “Backup dan Restore Database”, “Update
Data ID3 dan Perhitungan ID3”, “Update Data Jalan”, “Update
Data Pengajuan Perbaikan Jalan dan Proses ID3” dan “Update
Data Pengguna”.
3.4.2. Diagram Activity
Diagram activity menggambarkan proses-proses yang
terjadi dari aktivitas dimulai sampai aktivitas berhenti. Untuk
kebutuhan proses dalam aplikasi yang akan dibangun maka
disertakan diagram activity yaitu untuk tiap jenis pengguna.
Dalam kebutuhan sistem terdapat dua jenis diagram activity yaitu
untuk administrator dan user biasa.
- Diagram Activity Tambah Pengajuan User
Gambar 3.4. Diagram Activity – Tambah Pengajuan User
Start
menu tambah
pengajuan perbaikan
Memilih jalan dan mengisi
form pengajuan
Menampilkan
form pengajuan
Menampilkan
data jalan
cek kevalidan
data
Ambil data
jalan
Menambahkan
ke database
StopNo
yes
DatabaseSistemUser
33
Gambar 3.4 menggambarkan aktivitas user dalam
pengajuan perbaikan jalan. Langkah-langkah dalam penampilan
data jalan dalam sistem dibuat demikian sehingga navigasi user
mudah. Aktivitas yang terjadi dalam aplikasi untuk penambahan
pengajuan terjadi ketika user memilih menu “Tambah Pengajuan
Perbaikan”. Kemudian sistem akan menampilkan form untuk
penambahan pengajuan perbaikan jalan dan mengambil data jalan
dari database dan menampilkan sehingga dapat dilihat dan dipilih
oleh user.
- Diagram Activity Administrator
Gambar 3.5. Diagram Activity – Perhitungan ID3
Start
Menu Data ID3
Insert/Update/D
elete data ID3
Hitung ulang
ID3
Menampilkan
form data ID3
Menampilkan
data ID3
Cek data dari
form
Hitung ID3
Ambil data ID3
Query database
ID3
Ambil data ID3
Ambil data ID3
Simpan hasil
perhitungan ID3
Stop
DatabaseSistemUser
34
Gambar 3.5 menggambarkan aktivitas administrator dalam
pengolahan data ID3 dan perhitungan ID3. Diagram ini dimulai
ketika administrator memilih menu “Data ID3”. Secara otomatis
aplikasi akan menampilkan data ID3 dari database dan membuat
form untuk peng-update-an data ID3. Selain itu sistem juga
menyiapkan perintah untuk menghitung nilai ID3 dan
menampilkan hasil perhitungan ID3 kemudian menyimpan hasil
perhitungan ID3 ke database.
Gambar 3.6. Diagram Activity – Penentuan Keputusan Pengajuan
Gambar 3.6 menggambarkan aktivitas administrator dalam
melakukan proses untuk menentukan pengajuan perbaikan jalan
dengan ID3. Aktivitas yang terjadi dalam sistem bermula saat
administrator memilih menu “Data Pengajuan Perbaikan Jalan”.
Aplikasi akan menampilkan form untuk memilih data pengajuan
kemudian akan meminta data pengajuan yang berada dalam
database dan menampilkan data-data pengajuan. Administrator
Start
Data Pengajuan
perbaikan jalan
Memilih data
pengajuan
setujui penentuan
keputusan
menampilkan form
perhitungan ID3
Menampilkan
data pengajuan
Proses penentuan
keputusan ID3
Ambil data pengajuan
perbaikan
masukkan data
hasil penentuan
Stop
DatabaseSistemUser
35
memilih data pengajuan yang akan ditentukan keputusan dengan
menggunakan ID3. Apabila sistem telah menentukan keputusan
dengan menggunakan ID3 maka sistem akan menampilkan
pilihan terhadap Administrator untuk menyetujui keputusan
tersebut. Pada tahap ini, apabila Administrator tidak menyetujui
hasil dari sistem, maka secara otomatis sistem akan mengubah
hasil perhitungan dengan keputusan sebaliknya. Tahap akhir
adalah aplikasi akan menyimpan data hasil perhitungan tersebut
ke dalam database.
3.4.3. Diagram State
Diagram state menggambarkan perilaku dinamis suatu
objek. Fungsi dari diagram state adalah untuk
mendokumentasikan perilaku dinamis suatu kelas. (Nugroho,
2005)
Penggunaan diagram state dapat mempermudah dalam
memahami perilaku dari suatu kelas secara lebih dalam. Selain
itu, mempermudah pengembang untuk mendiskusikan dan
mendokumentasikan logika aplikasi sebelum aplikasi yang
bersangkutan dikodekan.
Diagram state yang menjelaskan tentang fungsi Login, Form
Data Jalan, Form Data Pengguna, Form Data ID3 dan Form Data
Pengajuan pada aplikasi ini.
36
Gambar 3.7. Diagram State – Menjalankan Aplikasi - Login
Gambar 3.7 menggambarkan diagram state pada saat
aplikasi dijalankan. Tahap pertama pada saat aplikasi dijalankan
adalah inisialisasi komponen pendukung dalam aplikasi.
Kemudian dilanjutkan proses mengunci menu-menu yang ada
dan membuat form login. Keadaan sekarang form login telah
aktif. Proses yang terjadi di dalam form login adalah pengecekan
koneksi database untuk memilih login dengan administrator
lokal atau dengan menggunakan database. Apabila koneksi
database bermasalah maka login menggunakan administrator
lokal. Pada login jenis ini apabila login salah maka aplikasi
langsung ditutup. Jika login berhasil maka akan dilanjutkan
dengan proses untuk membuka menu sesuai dengan jenis login.
Inisialisasi
Stop
Form Utama Aktif
event Logout/ Lock Menu
entry/ Lock Menu
entry/ Login
Form Login Aktif
cek koneksi db?No Db
do/ Login
validasi lokal?
use Db
do/ Login
query Db
event Login( query )/ cekLogin
validasi db?
Login admin?Logged
Administrator
Logged
User Biasa
Logged in
do/ Set Menu By Login Type
exit/ Dispose
Logged Admin
Local
Form Login Aktif
cek koneksi db?No Db
do/ Login
validasi lokal?
use Db
do/ Login
query Db
event Login( query )/ cekLogin
validasi db?
Login admin?Logged
Administrator
Logged
User Biasa
Logged in
do/ Set Menu By Login Type
exit/ Dispose
Logged Admin
Local
cek koneksi db?No Db
do/ Login
validasi lokal?
no connection
use Db
do/ Login
query Db
event Login( query )/ cekLogin
validasi db?
invalid
Login admin?Logged
Administrator
Logged
User Biasa
Logged in
do/ Set Menu By Login Type
exit/ Dispose
Logged Admin
Localvalid
TrueFalse
37
Kedua adalah login dengan database. Jenis login jenis ini apabila
salah pada saat proses login, aplikasi tidak akan otomatis ditutup
tetapi akan diulang untuk proses pemasukan username dan
password. Username dan password tersimpan dalam database
sehingga proses validasi login terjadi juga di database. Proses
login terjadi ketika memasukkan data username dan password.
Kemudian aplikasi akan mengambil data dari database sesuai
dengan masukan username dan password. Apabila tidak
ditemukan maka akan dikembalikan untuk proses pemasukan
username dan password. Apabila data ditemukan maka akan
dilanjutkan untuk proses pemilihan tipe pengguna. Jika tipe login
adalah administrator maka login sebagai administrator, selain itu
login sebagai user biasa. Proses selanjutnya akan dilanjutkan
untuk proses membuka menu sesuai jenis login.
38
Gambar 3.8. Diagram State – Form Data Jalan Aktif
Gambar 3.8 menggambarkan diagram state untuk form Data
Jalan pada saat diaktifkan. Proses inisialisasi komponen-
komponen dilakukan pada saat start dan dilanjutkan proses untuk
mengambil data jalan. Dalam form ini terdapat tiga macam proses
yaitu tambah jalan (insert), update jalan dan delete jalan. Apabila
pengguna memasukkan data pada form tambah jalan dan memilih
tombol tambah, maka aplikasi akan memvalidasi data masukan,
jika tidak valid maka akan dikembalikan pada proses pemasukan
data. Apabila valid maka data akan disusun menjadi perintah
SQL untuk ditambahkan data ke database. Untuk proses update
dan delete diawali dengan proses pemilihan data. Proses update
dilanjutkan dengan mengganti atau menambah data jalan pada
Inisialisasi
Form Data Jalan Active
Start
button Form
Insert Clicked
do/ cekInputValue
input data Update
valid?
Query Db
event Button Insert Clicked( query )[ input valid ]/ doQueryInsert
event Button Update Clicked( query )[ input valid ]/ doQueryUpdate
event Button Delete Clicked[ query ]/ doQueryDelete
button Form Update
Clicked
do/ cekInputValue
button Delete
do/ QueryDelete
End
Data InsertData
Selected
Data
Update
input data insert
valid?
entry/ Load Data Jalan Start
button Form
Insert Clicked
do/ cekInputValue
input data Update
valid?
Query Db
event Button Insert Clicked( query )[ input valid ]/ doQueryInsert
event Button Update Clicked( query )[ input valid ]/ doQueryUpdate
event Button Delete Clicked[ query ]/ doQueryDelete
button Form Update
Clicked
do/ cekInputValue
button Delete
do/ QueryDelete
End
doQueryDelete
cek Input
Stop
Data InsertData
Selected
Data
Update
input data insert
valid?
cek Input
input valid
tdk valid
tdk valid
39
form data jalan. Kemudian proses dilanjutkan setelah memilih
tombol update, yaitu memvalidasi data masukan. Jika salah maka
proses dikembalikan pada saat sebelum memilih tombol update.
Apabila benar maka akan dilanjutkan proses untuk meng-update
data yang ada dalam database. Untuk proses delete setelah data
dipilih maka dilanjutkan untuk memilih menu delete yang telah
disediakan. Proses penghapusan dilanjutkan yaitu eksekusi
perintah delete sesuai dengan id data yang dipilih.
Gambar 3.9. Diagram State – Form Data Pengguna Aktif
Gambar 3.9 menggambarkan fungsi dalam pengolahan data
pengguna pada saat diaktifkan. Proses inisialisasi dilakukan dan
mengambil data pengguna. Fungsi pada aplikasi ini meliputi
Inisialisasi
Form Data Pengguna Aktif
Button Insert Data
Pengguna Clicked
Button Update Data
Pengguna Clicked
Button Delete Data
Pengguna Clicked
cek Input?
Query Db
event Button input Clicked( query )/ doQueryInput
event Button update Clicked( query )/ doQueryUpdate
event Button Delete Clicked( query )/ doQueryDelete
Data Insert Data
Selected
Data
Update
cek input data
insert?
entry/ Load Data Pengguna
Stop
Button Insert Data
Pengguna Clicked
Button Update Data
Pengguna Clicked
Button Delete Data
Pengguna Clicked
cek Input?
Query Db
event Button input Clicked( query )/ doQueryInput
event Button update Clicked( query )/ doQueryUpdate
event Button Delete Clicked( query )/ doQueryDelete
cek input
Data Insert Data
Selected
Data
Update
cek input data
insert?
cek input
input tdk valid
input data insert valid
input valid
input data update tdk valid
40
insert data pengguna, update data pengguna dan delete data
pengguna. Untuk fungsi insert diawali dengan meng-input-kan
data pengguna dan dilanjutkan dengan memilih fungsi insert.
Kemudian sistem akan memvalidasi data masukan jika tidak valid
maka data akan dikembalikan pada saat pemasukan data. Apabila
valid maka data akan disesuaikan untuk eksekusi insert data pada
database. Fungsi update dan delete diawali dengan pemilihan
data terlebih dahulu. Untuk fungsi update, kemudian ditampilkan
form dengan nilai-nilai dari data yang telah dipilih. Pengguna
dapat mengganti data dengan format yang telah ditentukan dan
kemudian memilih tombol update. Aplikasi akan memvalidasi
data, apabila salah maka akan dikembalikan pada form edit data.
Jika data valid maka akan di-update dalam database, berdasar
pada data yang telah dipilih. Fungsi delete terjadi apabila telah
memilih data dan memilih tombol delete. Data yang terpilih akan
dihapus dari database.
41
Gambar 3.10. Diagram State – Form Data ID3 Aktif
Gambar 3.10 menggambarkan diagram state untuk form
Data ID3 pada saat diaktifkan. Fungsi yang terdapat meliputi
pengolahan data ID3 dan penghitungan ID3. Pengolahan data
ID3 mencakup insert, update dan delete. Untuk fungsi insert data
ID3 diawali pada saat pengguna memasukkan data dan kemudian
memilih tombol insert. Aplikasi akan memvalidasi data masukan,
jika valid maka data akan disusun menjadi perintah SQL dan
akan dieksekusi dengan perintah doQueryInput. Untuk perintah
update, diawali dengan memilih data kemudian melakukan peng-
edit-an data dan memilih tombol update. Aplikasi akan
memvalidasi data. Jika valid maka akan dilanjutkan untuk
perintah doQueryUpdate untuk pemasukan data ke dalam
database. Fungsi penghapusan diawali seperti fungsi update,
Form Data ID3 Akftif
Btn Insert
Click
Data
inserted
Data
Selected
Btn Delete
Clicked
Btn Update
Clicked
Data Update
Inserted
Btn Hitung
ID3 Clicked
ID3 Calculated
do/ Create Treeview
Query Db
event Button Insert Clicked( query )/ doQueryInput
event Button Update Clicked( query )/ doQueryUpdate
event Button Delete Clicked( query )/ doQueryDelete
event Buttonn Hitung ID3 Clicked( query )/ getDataID3
event Btn Save Db Clicked( query )/ doQueryUpdateDataID3Result
cek input data
insert?
cek input data
update Btn Save
Db Clicked
Setuju?
entry/ Load Data ID3
Inisialisasi
Btn Insert
Click
Data
inserted
Data
Selected
Btn Delete
Clicked
Btn Update
Clicked
Data Update
Inserted
Btn Hitung
ID3 Clicked
ID3 Calculated
do/ Create Treeview
Query Db
event Button Insert Clicked( query )/ doQueryInput
event Button Update Clicked( query )/ doQueryUpdate
event Button Delete Clicked( query )/ doQueryDelete
event Buttonn Hitung ID3 Clicked( query )/ getDataID3
event Btn Save Db Clicked( query )/ doQueryUpdateDataID3Result
cek input data
insert?
cek input data
update
input data valid
input data tdk valid
Btn Save
Db Clicked
Setuju?
input data update tdk valid
input data valid
Stop
42
yaitu memilih data. Kemudian fungsi ini dijalankan dengan cara
memilih tombol delete. Data yang terpilih akan terhapus dari
dalam database. Fungsi terakhir adalah untuk menghitung ID3.
Diawali dengan memilih tombol hitung, maka aplikasi akan
meminta data ID3 dari database dan akan dilanjutkan untuk
menghitung ID3. Apabila telah terhitung maka proses selanjutnya
adalah membuat pohon keputusan. Setelah pohon keputusan
terbentuk, maka tombol Simpan ke DB akan dapat digunakan.
Fungsi tombol Simpan ke DB adalah untuk menyimpan hasil
perhitungan ID3 kedalam database. Apabila tombol Simpan ke
DB terpilih maka akan ada peringatan bahwa data perhitungan
ID3 sebelumnya akan dihapus untuk diganti dengan data
perhitungan baru. Jika setuju maka data dalam database akan
dihapus dan ditimpa dengan data ID3 perhitungan baru.
43
Gambar 3.11. Diagram State – Form Data Pengajuan Aktif
Gambar 3.11 adalah diagram state untuk fungsi-fungsi yang
terdapat dalam form Data Pengajuan pada saat diaktifkan. Fungsi
yang terdapat dalam form ini adalah untuk melakukan proses
perhitungan menggunakan ID3 dan penghapusan data pengajuan.
Proses awal akan dilakukan inisialisasi komponen-komponen
pendukung form dan mengambil data pengajuan. Untuk memulai
fungsi penghapusan data pengajuan diawali dengan memilih data
pengajuan kemudian memilih tombol delete. Kemudian aplikasi
akan melakukan perintah doQueryDelete untuk menghapus data
terpilih. Untuk fungsi perhitungan menggunakan ID3, diawali
juga dengan memilih data pengajuan kemudian memilih tombol
proses. Proses setelah memilih tombol proses adalah mengambil
Form Data Pengajuan Aktif
Data
Selected
Btn Proses
ID3 Clicked
Btn Delete Pengajuan
Clicked
Query Db
event Btn Delete Pengajuan Clicked( query )/ doQueryDelete
event Btn Proses ID3 Clicked( query )/ getDataID3Result
event saveDb( query )/ savePersetujuan
entry/ Load Data Pengajuan
Hasil Perhitungan
Diperoleh
Persetujuan?
Tdk disetujui
do/ ubah hasil perhitungan
Inisialisasi
Data
Selected
Btn Proses
ID3 Clicked
Btn Delete Pengajuan
Clicked
Query Db
event Btn Delete Pengajuan Clicked( query )/ doQueryDelete
event Btn Proses ID3 Clicked( query )/ getDataID3Result
event saveDb( query )/ savePersetujuan
Hasil Perhitungan
Diperoleh
Persetujuan?
disetujui / savePersetujuan ^saveDb(query)
Tdk disetujui
do/ ubah hasil perhitungan
tdk disetujui
Saving / savePersetujuan ^saveDb(query)
Stop
44
data hasil perhitungan ID3 yang telah tersimpan dalam database
untuk dipergunakan dalam perhitungan. Hasil dari pemilihan oleh
aplikasi telah diperoleh, proses selanjutnya yang terjadi adalah
pengguna diminta partisipasinya dalam pengambilan keputusan.
Apabila pengguna setuju maka data hasil perhitungan akan di-
update. Jika pengguna tidak setuju dengan pemilihan keputusan
oleh aplikasi, maka aplikasi akan mengubah hasil pemilihan
keputusan menjadi sebaliknya (jika pemilihan disetujui, maka
akan menjadi pemilihan tidak disetujui). Selanjutnya aplikasi
akan meng-update ke dalam database.
3.5. Penerapan Perhitungan ID3
Pada alogoritma ID3 goal atau tujuan adalah pohon
keputusan yang berisi aturan dalam penentuan hasil keputusan.
Tahap-tahap yang harus dilakukan untuk mencapai tujuan:
- Menentukan tujuan, kriteria dan alternatif
Dalam ID3 yang menjadi tujuan adalah pohon keputusan
yang berisi aturan untuk kelayakan jalan.
Kriteria untuk kelayakan jalan adalah
1. Fungsi jalan yang meliputi arteri primer, kolektor
primer, kolektor sekunder, lokal primer, lokal sekunder
dan lingkungan.
2. Pengaju yang meliputi perorangan, masyarakat dan
dewan.
3. Kondisi jalan yang meliputi baik, rusak ringan dan
rusak berat.
45
- Menentukan patokan kriteria
Patokan yang ditentukan pada kriteria didapat melalui hasil
wawancara yang dilakukan di Bappeda Salatiga.
Penilaian kriteria kelayakan jalan yang didapatkan dari
hasil wawancara yaitu dapat dilihat pada Tabel 3.3.
Tabel 3.3. Penilaian Kelayakan Jalan
Atribut Value Ket
Fungsi Jalan Arteri Primer Jenis
Kolektor Primer Jalan
Kolektor Sekunder
Lokal Primer
Lokal Sekunder
Lingkungan
Pengaju Perorangan Jenis
Masyarakat Pengaju
Dewan
Kondisi Jalan Baik Tingkat
Rusak Ringan Kerusakan
Rusak Berat
Dalam penentuan kondisi jalan digunakan penilaian
terglobal (berdasarkan nama jalan) dengan disertakan komentar
untuk penjelasan persepsi, posisi dan tingkat kerusakan bagi tiap
pengajuan jalan.
- Mencari sample data
Sample data diperoleh dari hasil penelaahan wawancara
yang dilakukan di Bappeda Salatiga.
46
- Perhitungan entropy
Perhitungan nilai entropy dihitung dengan menggunakan
rumus pada Persamaan 2.1.
- Perhitungan information gain untuk tiap kriteria
Perhitungan nilai information gain digunakan untuk
menentukan kriteria terbaik. Perhitungan nilai information gain
dihitung dengan menggunakan rumus pada Persamaan 2.2.
- Pembentukan tabel baru
Tahap perhitungan ID3 setelah memperoleh kriteria terbaik
adalah pembuatan tabel baru. Tabel baru tersebut dibuat
berdasarkan kriteria terbaik dari perhitungan nilai information
gain. Apabila data tabel sample baru telah dibuat proses
berikutnya melakukan perhitungan nilai entropy dan information
gain serta membuat tabel sample baru. Proses ini dilakukan
sampai kriteria habis atau data tabel sample telah
diklasifikasikan.
- Pembuatan pohon keputusan
Tahap akhir dalam perhitungan ID3 adalah membuat pohon
keputusan yang nantinya akan digunakan sebagai acuan dalam
pembentukan aturan dalam penentuan kelayakan jalan.
47
3.6. Perhitungan ID3
Analisa dilakukan dengan data yang diperoleh dari hasil
wawancara dengan Bappeda Salatiga. Pembahasan dilakukan
dengan menggunakan 15 data sample dari pengajuan perbaikan
jalan.
Tabel 3.4 merupakan 15 data sample kelayakan jalan
yang akan dijadikan patokan dalam penentuan aturan kelayakan
jalan.
Tabel 3.4. Tabel Data Sample Kelayakan Jalan
S Fungsi Jalan Pengaju Kondisi Jalan Hasil
S1 Arteri Primer Masyarakat Baik True
S2 Kolektor Primer Masyarakat Rusak Ringan True
S3 Lokal Primer Perorangan Rusak Ringan False
S4 Kolektor Sekunder Dewan Rusak Ringan True
S5 Lokal Sekunder Perorangan Rusak Berat False
S6 Kolektor Sekunder Masyarakat Rusak Berat True
S7 Arteri Primer Perorangan Rusak Ringan False
S8 Lokal Sekunder Masyarakat Rusak Ringan False
S9 Kolektor Primer Dewan Rusak Ringan True
S10 Lokal Primer Masyarakat Rusak Ringan True
S11 Lingkungan Masyarakat Rusak Ringan False
S12 Lingkungan Masyarakat Rusak Berat True
S13 Lingkungan Masyarakat Baik False
S14 Lokal Sekunder Dewan Rusak Ringan True
S15 Lingkungan Perorangan Rusak Berat False
48
Perhitungan Entropy S.
Entropy(S)[8+, 7-] = – (8/15) log2(8/15) – (7/15) log2 (7/15)
= – (0,533)(log (0,533)/log 2)
– (0,466)((log 0,466)/log 2)
= – (0,533)(–0,906) – (0,466)(– 1,099)
= 0,483 + 0,512
= 0,995
Perhitungan information gain untuk atribut fungsi jalan.
Value(Fungsi Jalan)=Arteri Primer, Kolektor Primer, Kolektor
Sekunder, Lokal Primer, Lokal Sekunder, Lingkungan
SArteri Primer = [1+, 1-] Entropy(SArteri Primer)=1
SKolektor Primer = [2+, 0-] Entropy(SKolektor Primer)=0
SKolektor Sekunder = [2+, 0-] Entropy(SKolektor Sekunder)=0
SLokal Primer = [1+, 1-] Entropy(SLokal Primer)=1
SLokal Sekunder = [1+, 2-]
Entropy(SLokal Sekunder)= -(1/3)log2(1/3)-(2/3)log2(2/3)
=-0,33(log(0,33)/log2)-
(0,667)(log(0,667)/log2)
= -0,33(-1,58)-0,667(0,58)
= 0,521+0,386
= 0,907
SLingkungan = [1+, 3-]
Entropy(SLokal Sekunder)=-(1/4)log2(1/4)-(3/4)log2(3/4)
=-0,25(-2) – 0,75(-0,415)
49
=0,5 + 0,311
= 0,811
Gain(S, Fungsi Jalan) = Entropy(S) – (2/15)Entropy(SArteri
Primer) – (2/15)Entropy(SKolektor Primer) –
(2/15)Entropy(SKolektor Sekunder) –
(2/15)Entropy(SLokal Primer) -
(3/15)Entropy(SLokal Sekunder) -
(4/15)Entropy(SLingkungan)
= 0,995 – (0,133)1 – (0,133)0 – (0,133)0
– (0,133)1–(0,2)0,907 – (0,266)0,811
= 0,995 – 0,133 – 0 – 0 – 0,133 – 0,181
– 0,216
=0,332
Perhitungan information gain untuk atribut pengaju.
Value(Pengaju) = Perorangan, Masyarakat, Dewan
SPerorangan = [0+, 4-] Entropy(SPerorangan)=0
SMasyarakat = [5+, 3-]
Entropy(SMasyarakat)=-(5/8)log2(5/8)-(3/8)log2(3/8)
=-(0,625(log(5/8)/log2) –
(0,375)(log(5/8)/log2)
=-(0,625)(-0,678) – (0,375)(-1,415)
= 0,423 + 0,531
=0,953
SDewan = [3+, 0-] Entropy(SDewan)=0
50
Gain(S, Pengaju) = Entropy(S) – (4/15)Entropy(SPerorangan) –
(8/15)Entropy(SMasyarakat) –
(3/15)Entropy(SDewan)
= 0,995 – (0,266)0 – (0,533)0,953 – (0,2)0
= 0,487
Perhitungan information gain untuk atribut kondisi jalan.
Value(Kondisi jalan) = Baik, Rusak Ringan, Rusak Berat
SBaik = [1+, 1-] Entropy(SBaik)=1
SRusak Ringan = [5+, 4-]
Entropy(SRusak Ringan)= -(5/9)log2(5/9) –(4/9)log2(4/9)
=-(0,556)(log(5/9)/log2)-
(0,444)(log(4/9)/log2)
= -(0,556)(-0,848)-(0,444)(-1,17)
= 0,471 + 0,519
= 0,990
SRusak Berat = [2+, 2-] Entropy(SRusak Berat)=1
Gain(S, Kondisi jalan) = Entropy(S) – (2/15)Entropy(SBaik) –
(9/15)Entropy(SRusak Ringan) –
(4/15)Entropy(SRusak Berat)
= 0,995 – (0,133)1 – (0,6)0,990 –
(0,266)1
= 0,002
Berdasarkan hasil perhitungan information gain, tampak
bahwa atribut pengaju akan menyediakan prediksi terbaik untuk
target hasil.
51
Pengaju
True FalseFungsi Jalan
DewanMasyarakat
Perorangan
S3, S5, S7, S15
[0+, 4-]
S1, S2, S6, S8,
S10, S11, S12, S13
[5+, 3-]
S4, S9, S14
[3+, 0-]
Gambar 3.12. Pohon Keputusan Tahap Pertama
Gambar 3.12 menjelaskan bahwa kriteria pengaju menjadi
prioritas utama dalam menentukan hasil keputusan kelayakan
jalan. Melalui Gambar 3.12 juga diketahui jika pengaju adalah
perorangan maka hasilnya jalan tidak akan diperbaiki. Jika
pengaju adalah masyarakat maka akan dilanjutkan perhitungan
ID3 lebih dalam lagi untuk mencari kriteria yang menjadi
penilaian. Apabila pengaju adalah dewan maka hasilnya jalan
akan diperbaiki.
Tabel 3.5 menunjukan data sample kelayakan jalan dengan
kriteria pengaju yang bernilai masyarakat. Data yang akan
digunakan yaitu S1, S2, S6, S8, S10, S11, S12, S13.
Tabel 3.5. Tabel Data Sample Kelayakan Jalan Kriteria Pengaju Nilai
Masyarakat
S Fungsi Jalan Pengaju Kondisi Jalan Hasil
S1 Arteri Primer Masyarakat Baik True
S2 Kolektor Primer Masyarakat Rusak Ringan True
S6 Kolektor Sekunder Masyarakat Rusak Berat True
S8 Lokal Sekunder Masyarakat Rusak Ringan False
52
S Fungsi Jalan Pengaju Kondisi Jalan Hasil
S10 Lokal Primer Masyarakat Rusak Ringan True
S11 Lingkungan Masyarakat Rusak Ringan False
S12 Lingkungan Masyarakat Rusak Berat True
S13 Lingkungan Masyarakat Baik False
Perhitungan information gain untuk atribut fungsi jalan.
SArteri Primer = [1+, 0-] Entropy(SArteri Primer)=0
SKolektor Primer = [1+, 0-] Entropy(SKolektor Primer)=0
SKolektor Sekunder = [1+, 0-] Entropy(SKolektor Sekunder)=0
SLokal Sekunder = [0+, 1-] Entropy(SLokal Sekunder)=0
SLokal Primer = [1+, 0-] Entropy(SLokal Primer)=0
SLingkungan = [1+, 2-] Entropy(Slingkungan)=0,907
Gain(SMasyarakat, Fungsi Jalan) = Entropy(SMasyarakat) –
(1/8)Entropy(SArteri Primer) –
(1/8)Entropy(SKolektor Primer) –
(1/8)Entropy(SKolektor Sekunder) –
(1/8)Entropy(SLokal Sekunder) –
(1/8)Entropy(SLokal Primer) –
(3/8)Entropy(SLingkungan)
= 0,953 – (0,125)0 – (0,125)0 –
(0,125)0 – (0,125)0 – (0,125)0
– (0,375)0,907
= 0,613
Perhitungan information gain untuk atribut kondisi jalan.
SBaik =[1+, 1-] Entropy(SBaik)=1
53
SRusak Ringan =[2+, 2-] Entropy(SRusak Ringan)=1
SRusak Berat =[2+, 0-] Entropy(SRusak Berat)=0
Gain(SMasyarakat, Kondisi Jalan) = Entropy(SMasyarakat) –
(2/8)Entropy(SBaik) –
(4/8)Entropy(SRusak Ringan) –
(2/8)Entropy(SRusak Berat)
= 0,953 – (0,25)1 – (0,5)1 –
(0,25)0
= 0,203
Berdasarkan hasil perhitungan information gain, tampak
bahwa atribut fungsi jalan akan menyediakan prediksi terbaik
untuk target hasil setelah kriteria pengaju.
Pengaju
True FalseFungsi Jalan
DewanMasyarakat
Perorangan
True True True False True ?
Arteri PrimerKolektor Primer
Kolektor SekunderLokal Sekunder
Lokal Primer
Lingkungan
S1
[1+, 0-]S2
[1+, 0-]
S6
[1+, 0-]
S8
[0+, 1-]
S10
[1+, 0-]
S11, S12, S13
[1+, 2-]
Gambar 3.13. Pohon Keputusan Tahap Kedua
Gambar 3.13 menjelaskan bahwa kriteria pengaju menjadi
prioritas utama dalam menentukan hasil keputusan kelayakan
jalan. Melalui Gambar 3.13 juga diketahui jika pengaju adalah
masyarakat maka akan melihat dari hasil kriteria fungsi jalan.
Jika nilai pengaju adalah masyarakat dan nilai fungsi jalan adalah
54
lingkungan maka belum dapat ditentukan hasilnya, harus
dilanjutkan perhitungan lagi pada tahap ketiga.
Tabel 3.6 menunjukan data sample kelayakan jalan dengan
kriteria pengaju yang bernilai masyarakat dan fungsi jalan yang
bernilai lingkungan. Data yang akan digunakan yaitu S11, S12,
S13.
Tabel 3.6. Tabel Data Sample Kelayakan Jalan Kriteria Pengaju Nilai
Masyarakat dan Fungsi Jalan Nilai Lingkungan
S Fungsi Jalan Pengaju Kondisi Jalan Hasil
S11 Lingkungan Masyarakat Rusak Ringan False
S12 Lingkungan Masyarakat Rusak Berat True
S13 Lingkungan Masyarakat Baik False
Perhitungan information gain untuk atribut kondisi jalan
SBaik =[0+, 1-] Entropy(SBaik)=0
SRusak Ringan =[0+, 1-] Entropy(SRusak Ringan)=0
SRusak Berat =[1+, 0-] Entropy(SRusak Berat)=0
Gain(SLingkungan, Kondisi Jalan) = Entropy(SLingkungan) –
(1/3)Entropy(SBaik) –
(1/3)Entropy(SRusak Ringan) –
(1/3)Entropy(SRusak Berat)
= 0,918 – (0,333)0 – (0,333)0 –
(0,333)0
= 0,918
55
Berdasarkan hasil perhitungan information gain dan
ternyata sisa kriteria hanyalah satu, maka yang menjadi kriteria
terbaik pada tahap ketiga ini adalah kondisi jalan.
Pengaju
True FalseFungsi Jalan
DewanMasyarakat
Perorangan
True True True False TrueKondisi
Jalan
Arteri PrimerKolektor Primer
Kolektor SekunderLokal Sekunder
Lokal Primer
Lingkungan
S11
[0+, 1-]
TrueFalse False
Rusak Ringan
Rusak Berat
Baik
S12
[1+, 0-]
S13
[0+, 1-]
Gambar 3.14. Pohon Keputusan Tahap Ketiga
Gambar 3.14 merupakan hasil pohon keputusan dari data
sample kelayakan jalan. Dari pohon keputusan tersebut terlihat
kriteria pengaju yang menjadi prioritas utama, dilanjutkan dengan
fungsi utama dan kondisi jalan. Maka dapat dibuat aturan sebagai
berikut :
IF pengaju = dewan THEN hasil true
IF pengaju = masyarakat AND fungsi jalan = arteri primer THEN
hasil true
IF pengaju = masyarakat AND fungsi jalan = kolektor primer
THEN hasil true
IF pengaju = masyarakat AND fungsi jalan = kolektor sekunder
THEN hasil true
56
IF pengaju = masyarakat AND fungsi jalan = lokal sekunder
THEN hasil false
IF pengaju = masyarakat AND fungsi jalan = lokal primer THEN
hasil true
IF pengaju = masyarakat AND fungsi jalan = lingkungan AND
kondisi jalan = rusak ringan THEN hasil false
IF pengaju = masyarakat AND fungsi jalan = lingkungan AND
kondisi jalan = rusak berat THEN hasil true
IF pengaju = masyarakat AND fungsi jalan = lingkungan AND
kondisi jalan = baik THEN hasil false
IF pengaju = perorangan THEN hasil true
3.7. Algoritma ID3
Dalam penerapan metode ID3 terhadap suatu aplikasi,
diperlukan algoritma agar dapat diterapkan ke bahasa
pemrograman. Algoritma dalam metode ID3 adalah sebagai
berikut: (Peng, 2009)
57
Kode Program 3.1. Algoritma ID3
Kode program 3.1 menunjukkan algoritma ID3 agar alur
kode program untuk implementasi ID3 dapat berjalan
sebagaimana mestinya. Penjelasan untuk algoritma ID3 adalah
sebagai berikut. Baris 1 dan 2 menunjukkan kelas yang dibuat
dengan nama ID3 dengan 3 parameter yaitu sample sebagai S,
Kumpulan atribut sebagai A, dan nilai dari tiap atribut sebagai V
dengan nilai kembalian adalah pohon keputusan. Baris 4 sampai
6, muat seluruh data sample S dan buat pohon keputusan
rootNode dan data sample S dimasukkan ke rootNode sebagai
subsetnya. Baris 7 sampai 25 dilakukan dalam looping. Baris 8
lakukan hitung entropy untuk rootNode.subset. Baris 9 sampai 13
jika entropy dari rootNode.subset adalah 0 maka kembalikan
pohon keputusan dengan simpul sesuai dengan nilai keputusan.
1. ID3(Learning Sets S, Attributes Sets A, Attributesvalues V)
2. Return Decision Tree.
3. Begin
4. Load learning sets first, create decision tree root
5. node 'rootNode', add learning set S into root node
6. as its subset.
7. For rootNode, we compute
8. Entropy(rootNode.subset) first
9. If Entropy(rootNode.subset)==0, then
10. rootNode.subset consists of records
11. all with the same value for the
12. categorical attribute, return a leaf
13. node with decision
14. attribute:attribute value;
15. If Entropy(rootNode.subset)!=0, then
16. compute information gain for each
17. attribute left(have not been used in
18. splitting), find attribute A with Maximum(Gain(S,A)).
19. Create child nodes of this rootNode and add to
20. rootNode in the decision tree.
21. For each child of the rootNode, apply
22. ID3(S,A,V) recursively until reach
23. node that has entropy=0 or reach
24. leaf node.
25. End ID3.
58
Baris 15 sampai 18 jika entropy dari rootNode.subset tidak sama
dengan 0 maka hitung nilai Gain tiap atribut yang tersisa dan cari
atribut dengan nilai Gain terbesar. Baris 19 sampai 20 buat
childnode untuk rootNode dan tambahkan rootNode pada pohon
keputusan. Baris 21 sampai 23 untuk setiap anak rootNode,
lakukan ID3(S, A, V) secara rekursif sampai mencapai simpul
yang memiliki entropy 0 atau mencapai simpul daun.
3.8. Perancangan Aplikasi
Perancangan Aplikasi dimulai dari perancangan database
dan pembuatan interface aplikasi.
3.8.1. Perancangan Database
Tabel merupakan salah satu komponnen penting dalam
pembuatan database. Dalam pembuatan aplikasi ini akan terdapat
5 tabel dalam database. Struktur pembuatan tabel akan dijelaskan
sebagai berikut:
1. Tabel tb_user
Tabel tb_user berfungsi untuk menyimpan data-data
pengguna baik administrator maupun user dengan ketentuan
masing-masing di dalamnya. Struktur tabel pada tb_user
dijabarkan pada Tabel 3.7
Tabel 3.7. Tabel tb_user
Field Data Type Extra
Userid varchar(16) primary key
Password varchar(45)
Nama varchar(150)
59
Field Data Type Extra
Tipe_user varchar(45)
Banned boolean
Last_active Timestamp
Alamat Text
Tabel 3.6 menjelaskan field-field yang terdapat dalam tabel
tb_user yang akan dirancang dalam database beserta dengan tipe
data tiap field. Dimana terdapat 7 field dalam tabel tb_user
dengan userid sebagai primary key.
2. Tabel tb_jalan
Tabel tb_jalan digunakan untuk menyimpan data jalan yang
ada di Salatiga dan sekitarnya. Struktur tabel tb_jalan dapat
dilihat pada Tabel 3.8.
Tabel 3.8. Tabel tb_jalan
Field Data Type Extra
Id_jalan integer primary key
Nama_jalan varchar(200)
Pangkal_simpul varchar(300)
Ujung_simpul varchar(300)
Status_otonomi varchar(45)
Jalur_lajur varchar(10)
Panjang integer
Lebar_damija integer
Lebar_perkerasan integer
Jenis_perkerasan varchar(45)
Fungsi_jalan varchar(45)
Kondisi_jalan varchar(45)
Last_update timestamp
Titik_pangkal varchar(50)
Titik_ujung varchar(50)
60
3. Tabel tb_pengajuan
Tabel tb_pengajuan digunakan untuk menyimpan data
pengajuan oleh masyarakat. Struktur tabel tb_pengajuan dapat
dilihat pada Tabel 3.9.
Tabel 3.9. Tabel tb_pengajuan
Field Data Type Extra
Id_pengajuan integer primary key
Userid varchar(16) foreign key
Id_jalan integer foreign key
Kondisi_jalan varchar(45)
Status_id3 varchar(50)
Waktu timestamp
Alasan text
4. Tabel tb_id3_data
Tabel tb_id3_data digunakan untuk menyimpan data ID3
yang digunakan untuk perhitungan ID3. Struktur tabel tb_
id3_data dapat dilihat pada Tabel 3.10.
Tabel 3.10. Tabel tb_id3_data
Field Data Type Extra
Id integer primary key
Fungsi varchar(45)
Pengaju varchar(45)
Kondisi timestamp
Result boolean
5. Tabel tb_id3_result
Tabel tb_id3_ result digunakan untuk menyimpan data hasil
perhitungan ID3 yang digunakan untuk proses pemilihan
61
keputusan. Struktur tabel tb_ id3_ result dapat dilihat pada Tabel
3.11.
Tabel 3.11. Tabel tb_id3_ result
Field Data Type Extra
Id integer primary key
Atribut varchar(45)
Value varchar(45)
level integer
3.8.2. Desain Interface
Dalam perancangan Aplikasi Sistem Pendukung Keputusan
untuk Jalan diperlukan interface dalam penggunaanya.
Perancangan interface dilakukan untuk mendasari pembuatan
tampilan aplikasi yang akan dibuat.
Gambar 3.15. Interface Menu Utama
Gambar 3.15 merupakan rancangan interface Menu Utama
pada Aplikasi Sistem Pendukung Keputusan untuk Jalan
ini. Menu-menu yang tersedia adalah menu Atur, Data, User
Control, Pengaturan, Tampilan dan Author. Pada menu utama
Atur terdapat submenu Login, Logout dan Exit. Sedangkan
62
menu utama Data terdapat submenu Data Jalan Salatiga, Data
Pengguna, Data ID3 dan Data Pengajuan Perbaikan jalan. Untuk
menu utama User Control terdapat submenu Lihat Peta Salatiga,
Tambah Pengajuan Perbaikan Jalan, Lihat Data Pengajuan dan
Ganti Password. Dalam menu Pengaturan terdapat submenu
Backup Database, Restore Database dan Ganti Koneksi
Database. Dan menu utama terakhir yang memiliki submenu
adalah Tampilan, disini terdapat submenu Tile Vertical, Tile
Horizontal, Cascade, Minimize, Maximize, Normal dan Tutup
Semua.
Setiap submenu yang diakses akan menampilkan windows
baru kecuali untuk submenu yang terdapat dalam menu
Tampilan, submenu Logout dan Backup Database.
- Form Jalan
Form jalan digunakan untuk melakukan penambahan, peng-
update-an, penghapusan data jalan, pencarian data jalan dan
report. Rancangan form jalan dapat dilihat pada Gambar 3.16.
Gambar 3.16. Interface Submenu Data Jalan Salatiga
63
- Form data pengajuan
Form data pengajuan digunakan untuk melihat seluruh data
pengajuan yang diterima, mencari data pengajuan, menghapus
data pengajuan, penentuan pengambilan keputusan dengan ID3
dan pembuatan report data pengajuan. Rancangan form data
pengajuan dapat dilihat pada Gambar 3.17.
Gambar 3.17. Interface Submenu Data Pengajuan
- Form data ID3 dan perhitungan
Form data ID3 dan perhitungan digunakan untuk melihat
data sample, menambah data sample, meng-update data sample,
menghapus data sample dan melakukan perhitungan ID3
sehingga diperoleh pohon ID3 baru. Rancangan form data ID3
dan perhitungan dapat dilihat pada Gambar 3.18.
64
Gambar 3.18. Interface Submenu Data ID3
- Form Tambah Pengajuan
Form Tambah Pengajuan digunakan untuk menambahkan
data pengajuan perbaikan jalan. Rancangan form data pengajuan
dapat dilihat pada Gambar 3.19.
Gambar 3.19. Interface Submenu Tambah Pengajuan Perbaikan Jalan
3.9. Metode Pengujian Sistem
Dalam penelitian ini, pengujian sistem dilakukan dengan
metode black box testing. Uji coba black box testing digunakan
65
untuk mendemonstrasikan fungsi software yang dioperasikan,
apakah input diterima dengan benar, apakah output yang
dihasilkan benar, dan apakah integritas informasi eksternal
terpelihara. (Ayuliana, 2009)
Top Related