T1 672007005 BAB III
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
(2)
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.
(3)
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.
(4)
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 BAPPEDA Kelurahan
(5)
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-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
(6)
aplikasi pendukung keputusan perbaikan jalan yang sekiranya dapat membantu dalam penyimpanan usulan-usulan perbaikan jalan untuk periode berikutnya.
2. Systemand 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.
(7)
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.
(8)
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
(9)
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 useradministrator 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.
(10)
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
(11)
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 Salatiga User
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>>
(12)
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
Stop No
yes
Database Sistem
(13)
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
Database Sistem
(14)
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
Database Sistem
(15)
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
(16)
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 Local valid True False
(17)
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
(18)
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 Insert Data 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 Insert Data Selected Data Update
input data insert valid? cek Input
input valid tdk valid
(19)
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
(20)
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
(21)
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
(22)
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
(23)
Gambar 3.11.Diagram State–FormData 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)
(24)
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
(25)
- 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.
(26)
- 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.
(27)
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
(28)
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)
(29)
=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
(30)
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.
(31)
Pengaju
True Fungsi Jalan False
Dewan
Masyarakat
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
(32)
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.
(33)
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 Fungsi Jalan False
Dewan
Masyarakat
Perorangan
True True True False True ?
Arteri Primer
Kolektor Primer
Kolektor SekunderLokal SekunderLokal 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
(34)
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
(35)
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 Fungsi Jalan False
Dewan
Masyarakat Perorangan
True True True False True Kondisi
Jalan Arteri Primer
Kolektor Primer
Kolektor SekunderLokal SekunderLokal Primer Lingkungan
S11 [0+, 1-]
True
False 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
(36)
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)
(37)
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.
(38)
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)
(39)
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)
(40)
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
(41)
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
(42)
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 BackupDatabase.
- 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.
(43)
- 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
(44)
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
(45)
untuk mendemonstrasikan fungsi software yang dioperasikan,
apakah input diterima dengan benar, apakah output yang
dihasilkan benar, dan apakah integritas informasi eksternal terpelihara. (Ayuliana, 2009)
(1)
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
(2)
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
(3)
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.
(4)
- 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.
(5)
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
(6)
untuk mendemonstrasikan fungsi software yang dioperasikan, apakah input diterima dengan benar, apakah output yang dihasilkan benar, dan apakah integritas informasi eksternal terpelihara. (Ayuliana, 2009)