T1 672007005 BAB III

(1)

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 StateForm 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 StateForm 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 StateForm 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 StateFormData 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)