• Tidak ada hasil yang ditemukan

Bab 3 Metode dan Perancangan Sistem Bab 3 Metode Perancangan Sistem

N/A
N/A
Protected

Academic year: 2021

Membagikan "Bab 3 Metode dan Perancangan Sistem Bab 3 Metode Perancangan Sistem"

Copied!
45
0
0

Teks penuh

(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 model Waterfall dapat dilihat pada Gambar 3.1.

(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. System and Design Software

Menganalisis hasil dari requirement menjadi sebuah ide-ide dalam pengembangan aplikasi, masalah-masalah yang mungkin terjadi, kebutuhan apa saja yang diperlukan dalam pengembangan aplikasi ini.

Setelah semua kebutuhan dianalisis, langkah selanjutnya adalah mendesain sistem dan perangkat lunak, yaitu melakukan perancangan sistem yang akan dibangun. Perancangan sistem tersebut dibuat menggunakan diagram UML yaitu dengan membuat diagram use case, diagram activity, dan diagram state, serta perancangan database dan tampilan antarmuka bagi pengguna.

3. Implementation and Unit Testing

Tahap selanjutnya adalah menerjemahkan desain sistem ke dalam aplikasi. Bentuk implementasi dari sistem berupa penulisan program dan pembuatan basis data serta dokumentasi. Setelah aplikasi dibuat perlu dilakukan pengujian beberapa unit yang terdapat dalam sistem pada aplikasi tersebut. Apabila terdapat kekurangan pada unit maka sistem akan diperbaiki sampai masalah dapat teratasi.

(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 dalam bentuk Microsoft Excel, Microsoft Word ataupun dalam

(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 user administrator lokal)

- User administrator dapat melakukan pengolahan data

jalan, data ajuan, data administratif dan data pengguna. Selain itu juga dapat melihat hasil keputusan dari perhitungan ID3 dan mengkonfirmasikan persetujuan kelayakan. Administrator juga dapat melakukan konfigurasi database yang digunakan.

- User biasa dapat melihat data jalan dan data ajuan yang

di-input.

Kebutuhan perangkat keras yang diperlukan untuk membangun aplikasi ini dapat dilihat dalam Tabel 3.1.

(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 spesifikasi atau aliran event, dimana aliran event ini mempunyai

(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>> <<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 User

(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 User

(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 User

(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 Pengajuan pada aplikasi ini.

(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 untuk proses membuka menu sesuai jenis login.

(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 dihapus dari database.

(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 dihapus dan ditimpa dengan data ID3 perhitungan baru.

(23)

Gambar 3.11. Diagram State – Form Data Pengajuan Aktif

Gambar 3.11 adalah diagram state untuk fungsi-fungsi yang terdapat dalam form Data Pengajuan pada saat diaktifkan. Fungsi yang terdapat dalam form ini adalah untuk melakukan proses perhitungan menggunakan ID3 dan penghapusan data pengajuan. Proses awal akan dilakukan inisialisasi komponen-komponen pendukung form dan mengambil data pengajuan. Untuk memulai fungsi penghapusan data pengajuan diawali dengan memilih data pengajuan kemudian memilih tombol delete. Kemudian aplikasi akan melakukan perintah doQueryDelete untuk menghapus data terpilih. Untuk fungsi perhitungan menggunakan ID3, diawali juga dengan memilih data pengajuan kemudian memilih tombol proses. Proses setelah memilih tombol proses adalah mengambil

Form Data Pengajuan Aktif

Data Selected Btn Proses ID3 Clicked Btn Delete Pengajuan Clicked Query Db

event Btn Delete Pengajuan Clicked( query )/ doQueryDelete event Btn Proses ID3 Clicked( query )/ getDataID3Result event saveDb( query )/ savePersetujuan

entry/ Load Data Pengajuan

Hasil Perhitungan Diperoleh

Persetujuan?

Tdk disetujui

do/ ubah hasil perhitungan

Inisialisasi Data Selected Btn Proses ID3 Clicked Btn Delete Pengajuan Clicked Query Db

event Btn Delete Pengajuan Clicked( query )/ doQueryDelete event Btn Proses ID3 Clicked( query )/ getDataID3Result event saveDb( query )/ savePersetujuan

Hasil Perhitungan Diperoleh

Persetujuan?

disetujui / savePersetujuan ^saveDb(query)

Tdk disetujui

do/ ubah hasil perhitungan tdk disetujui

Saving / savePersetujuan ^saveDb(query)

(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 rusak berat.

(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

(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 Sekunder Lokal Sekunder Lokal 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) Titik_ujung 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 perhitungan ID3 yang digunakan untuk proses pemilihan

(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 Atur terdapat submenu Login, Logout dan Exit. Sedangkan

(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 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.

(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 dan perhitungan dapat dilihat pada Gambar 3.18.

(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 metode black box testing. Uji coba black box testing digunakan

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

Gambar

Gambar 3.1.  Metode Waterfall (Sommerville, 2001)
Gambar 3.2.  Proses Bisnis Bappeda Pengajuan
Tabel 3.1.  Spesifikasi Perangkat Keras
Gambar 3.3.  Diagram Use Case Sistem
+7

Referensi

Dokumen terkait

Peneliti merasa penting untuk melakukan penelitian ini dengan harapan dapat mengangkat kembali, mendokumentasikan leksikon-leksikon yang berhubungan dengan lontar

Saya harus memikirkan dia. Rumah belum dapat. Masih nebeng di tempat kawan. Dia harus diurus. Saya cari keterangan. Nelpon pakai bahasa Belanda yang masih baik, karena

Key Informan juga memberikan penjelasan mengenai peran humas sebagai fasilitator komunikasi yang mengatakan bahwa Humas Palang Merah Indonesia menjadi

Hasil penelitian menunjukkan bahwa pada kelompok kasus selisih rata-rata status gizi sebelum dan setelah pemberian nugget tempe dengan subtitusi ikan gabus adalah sebesar

Pertama, pendapatan pada lembaga nirlaba digunakan untuk beberapa tahap. Pada lembaga yang baru berdiri, maka pendapatan diharapkan mampu memenuhi biaya operasional

Ketebalan bahan isolasi LDPE, dari hasil pengujian menunjukkan bahwa semakin tebal bahan tersebut, maka nilai ESDD yang diperoleh dipermukaannya semakin tinggi dan

Foto yang disebelah kanan adalah ketika Suraya mengecek kembali (dengan keyakinannya mengevaluasi embat gamelan yang telah dibuatnya) jarak nada atau interval pada

Permasalahan pada kendaraan bermesin injeksi adalah bahwa sangat sulit untuk menetapkan waktu pengapian jika dikaitkan dengan tujuan yang ingin dicapai, misalnya