35
memilih data pengajuan yang akan ditentukan keputusan dengan menggunakan ID3. Apabila sistem telah menentukan keputusan
dengan menggunakan ID3 maka sistem akan menampilkan pilihan terhadap Administrator untuk menyetujui keputusan
tersebut. Pada tahap ini, apabila Administrator tidak menyetujui hasil dari sistem, maka secara otomatis sistem akan mengubah
hasil perhitungan dengan keputusan sebaliknya. Tahap akhir adalah aplikasi akan menyimpan data hasil perhitungan tersebut
ke dalam database.
3.4.3. Diagram State
Diagram state menggambarkan perilaku dinamis suatu objek.
Fungsi dari
diagram state
adalah untuk
mendokumentasikan perilaku dinamis suatu kelas. Nugroho, 2005
Penggunaan diagram state dapat mempermudah dalam memahami perilaku dari suatu kelas secara lebih dalam. Selain
itu, mempermudah pengembang untuk mendiskusikan dan mendokumentasikan logika aplikasi sebelum aplikasi yang
bersangkutan dikodekan. Diagram state yang menjelaskan tentang fungsi Login, Form
Data Jalan, Form Data Pengguna, Form Data ID3 dan Form Data Pengajuan pada aplikasi ini.
36
Gambar 3.7. Diagram State
– Menjalankan Aplikasi - Login
Gambar 3.7 menggambarkan diagram state pada saat aplikasi dijalankan. Tahap pertama pada saat aplikasi dijalankan
adalah inisialisasi komponen pendukung dalam aplikasi. Kemudian dilanjutkan proses mengunci menu-menu yang ada
dan membuat form login. Keadaan sekarang form login telah aktif. Proses yang terjadi di dalam form login adalah pengecekan
koneksi database untuk memilih login dengan administrator lokal atau dengan menggunakan database. Apabila koneksi
database bermasalah maka login menggunakan administrator lokal. Pada login jenis ini apabila login salah maka aplikasi
langsung ditutup. Jika login berhasil maka akan dilanjutkan dengan proses untuk membuka menu sesuai dengan jenis login.
Inisialisasi
Stop Form Utama Aktif
event Logout Lock Menu entry Lock Menu
entry Login Form Login Aktif
cek koneksi db? No Db
do Login validasi lokal?
use Db do Login
query Db event Login query cekLogin
validasi db? Login admin?
Logged Administrator
Logged User Biasa
Logged in do Set Menu By Login Type
exit Dispose Logged Admin
Local Form Login Aktif
cek koneksi db? No Db
do Login validasi lokal?
use Db do Login
query Db event Login query cekLogin
validasi db? Login admin?
Logged Administrator
Logged User Biasa
Logged in do Set Menu By Login Type
exit Dispose Logged Admin
Local cek koneksi db?
No Db do Login
validasi lokal? no connection
use Db do Login
query Db event Login query cekLogin
validasi db? invalid
Login admin? Logged
Administrator Logged
User Biasa Logged in
do Set Menu By Login Type exit Dispose
Logged Admin Local
valid True
False
37
Kedua adalah login dengan database. Jenis login jenis ini apabila salah pada saat proses login, aplikasi tidak akan otomatis ditutup
tetapi akan diulang untuk proses pemasukan username dan password. Username dan password tersimpan dalam database
sehingga proses validasi login terjadi juga di database. Proses login terjadi ketika memasukkan data username dan password.
Kemudian aplikasi akan mengambil data dari database sesuai dengan masukan username dan password. Apabila tidak
ditemukan maka akan dikembalikan untuk proses pemasukan username dan password. Apabila data ditemukan maka akan
dilanjutkan untuk proses pemilihan tipe pengguna. Jika tipe login adalah administrator maka login sebagai administrator, selain itu
login sebagai user biasa. Proses selanjutnya akan dilanjutkan untuk proses membuka menu sesuai jenis login.
38
Gambar 3.8.
Diagram State – Form Data Jalan Aktif
Gambar 3.8 menggambarkan diagram state untuk form Data Jalan pada saat diaktifkan. Proses inisialisasi komponen-
komponen dilakukan pada saat start dan dilanjutkan proses untuk mengambil data jalan. Dalam form ini terdapat tiga macam proses
yaitu tambah jalan insert, update jalan dan delete jalan. Apabila pengguna memasukkan data pada form tambah jalan dan memilih
tombol tambah, maka aplikasi akan memvalidasi data masukan, jika tidak valid maka akan dikembalikan pada proses pemasukan
data. Apabila valid maka data akan disusun menjadi perintah SQL untuk ditambahkan data ke database. Untuk proses update
dan delete diawali dengan proses pemilihan data. Proses update dilanjutkan dengan mengganti atau menambah data jalan pada
Inisialisasi Form Data Jalan Active
Start
button Form Insert Clicked
do cekInputValue input data Update
valid? Query Db
event Button Insert Clicked query [ input valid ] doQueryInsert event Button Update Clicked query [ input valid ] doQueryUpdate
event Button Delete Clicked[ query ] doQueryDelete button Form Update
Clicked do cekInputValue
button Delete do QueryDelete
End Data 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 tdk valid
39
form data jalan. Kemudian proses dilanjutkan setelah memilih tombol update, yaitu memvalidasi data masukan. Jika salah maka
proses dikembalikan pada saat sebelum memilih tombol update. Apabila benar maka akan dilanjutkan proses untuk meng-update
data yang ada dalam database. Untuk proses delete setelah data dipilih maka dilanjutkan untuk memilih menu delete yang telah
disediakan. Proses penghapusan dilanjutkan yaitu eksekusi perintah delete sesuai dengan id data yang dipilih.
Gambar 3.9. Diagram State
– Form Data Pengguna Aktif
Gambar 3.9 menggambarkan fungsi dalam pengolahan data pengguna pada saat diaktifkan. Proses inisialisasi dilakukan dan
mengambil data pengguna. Fungsi pada aplikasi ini meliputi
Inisialisasi Form Data Pengguna Aktif
Button Insert Data Pengguna Clicked
Button Update Data Pengguna Clicked
Button Delete Data Pengguna Clicked
cek Input? Query Db
event Button input Clicked query doQueryInput event Button update Clicked query doQueryUpdate
event Button Delete Clicked query doQueryDelete Data Insert
Data Selected
Data Update
cek input data insert?
entry Load Data Pengguna
Stop Button Insert Data
Pengguna Clicked Button Update Data
Pengguna Clicked Button Delete Data
Pengguna Clicked cek Input?
Query Db event Button input Clicked query doQueryInput
event Button update Clicked query doQueryUpdate event Button Delete Clicked query doQueryDelete
cek input Data Insert
Data Selected
Data Update
cek input data insert?
cek input input tdk valid
input data insert valid input valid
input data update tdk valid
40
insert data pengguna, update data pengguna dan delete data pengguna. Untuk fungsi insert diawali dengan meng-input-kan
data pengguna dan dilanjutkan dengan memilih fungsi insert. Kemudian sistem akan memvalidasi data masukan jika tidak valid
maka data akan dikembalikan pada saat pemasukan data. Apabila valid maka data akan disesuaikan untuk eksekusi insert data pada
database. Fungsi update dan delete diawali dengan pemilihan data terlebih dahulu. Untuk fungsi update, kemudian ditampilkan
form dengan nilai-nilai dari data yang telah dipilih. Pengguna dapat mengganti data dengan format yang telah ditentukan dan
kemudian memilih tombol update. Aplikasi akan memvalidasi data, apabila salah maka akan dikembalikan pada form edit data.
Jika data valid maka akan di-update dalam database, berdasar pada data yang telah dipilih. Fungsi delete terjadi apabila telah
memilih data dan memilih tombol delete. Data yang terpilih akan dihapus dari database.
41
Gambar 3.10. Diagram State
– Form Data ID3 Aktif
Gambar 3.10 menggambarkan diagram state untuk form Data ID3 pada saat diaktifkan. Fungsi yang terdapat meliputi
pengolahan data ID3 dan penghitungan ID3. Pengolahan data ID3 mencakup insert, update dan delete. Untuk fungsi insert data
ID3 diawali pada saat pengguna memasukkan data dan kemudian memilih tombol insert. Aplikasi akan memvalidasi data masukan,
jika valid maka data akan disusun menjadi perintah SQL dan akan dieksekusi dengan perintah doQueryInput. Untuk perintah
update, diawali dengan memilih data kemudian melakukan peng- edit-an data dan memilih tombol update. Aplikasi akan
memvalidasi data. Jika valid maka akan dilanjutkan untuk perintah doQueryUpdate untuk pemasukan data ke dalam
database. Fungsi penghapusan diawali seperti fungsi update,
Form Data ID3 Akftif
Btn Insert Click
Data inserted
Data Selected
Btn Delete Clicked
Btn Update Clicked
Data Update Inserted
Btn Hitung ID3 Clicked
ID3 Calculated do Create Treeview
Query Db event Button Insert Clicked query doQueryInput
event Button Update Clicked query doQueryUpdate event Button Delete Clicked query doQueryDelete
event Buttonn Hitung ID3 Clicked query getDataID3 event Btn Save Db Clicked query doQueryUpdateDataID3Result
cek input data insert?
cek input data update
Btn Save Db Clicked
Setuju? entry Load Data ID3
Inisialisasi
Btn Insert Click
Data inserted
Data Selected
Btn Delete Clicked
Btn Update Clicked
Data Update Inserted
Btn Hitung ID3 Clicked
ID3 Calculated do Create Treeview
Query Db event Button Insert Clicked query doQueryInput
event Button Update Clicked query doQueryUpdate event Button Delete Clicked query doQueryDelete
event Buttonn Hitung ID3 Clicked query getDataID3 event Btn Save Db Clicked query doQueryUpdateDataID3Result
cek input data insert?
cek input data update
input data valid input data tdk valid
Btn Save Db Clicked
Setuju? input data update tdk valid
input data valid
Stop
42
yaitu memilih data. Kemudian fungsi ini dijalankan dengan cara memilih tombol delete. Data yang terpilih akan terhapus dari
dalam database. Fungsi terakhir adalah untuk menghitung ID3. Diawali dengan memilih tombol hitung, maka aplikasi akan
meminta data ID3 dari database dan akan dilanjutkan untuk menghitung ID3. Apabila telah terhitung maka proses selanjutnya
adalah membuat pohon keputusan. Setelah pohon keputusan terbentuk, maka tombol Simpan ke DB akan dapat digunakan.
Fungsi tombol Simpan ke DB adalah untuk menyimpan hasil perhitungan ID3 kedalam database. Apabila tombol Simpan ke
DB terpilih maka akan ada peringatan bahwa data perhitungan ID3 sebelumnya akan dihapus untuk diganti dengan data
perhitungan baru. Jika setuju maka data dalam database akan dihapus dan ditimpa dengan data ID3 perhitungan baru.
43
Gambar 3.11.
Diagram State – Form Data Pengajuan Aktif
Gambar 3.11 adalah diagram state untuk fungsi-fungsi yang terdapat dalam form Data Pengajuan pada saat diaktifkan. Fungsi
yang terdapat dalam form ini adalah untuk melakukan proses perhitungan menggunakan ID3 dan penghapusan data pengajuan.
Proses awal akan dilakukan inisialisasi komponen-komponen pendukung form dan mengambil data pengajuan. Untuk memulai
fungsi penghapusan data pengajuan diawali dengan memilih data pengajuan kemudian memilih tombol delete. Kemudian aplikasi
akan melakukan perintah doQueryDelete untuk menghapus data terpilih. Untuk fungsi perhitungan menggunakan ID3, diawali
juga dengan memilih data pengajuan kemudian memilih tombol proses. Proses setelah memilih tombol proses adalah mengambil
Form Data Pengajuan Aktif Data
Selected Btn Proses
ID3 Clicked Btn Delete Pengajuan
Clicked Query Db
event Btn Delete Pengajuan Clicked query doQueryDelete event Btn Proses ID3 Clicked query getDataID3Result
event saveDb query savePersetujuan entry Load Data Pengajuan
Hasil Perhitungan Diperoleh
Persetujuan? Tdk disetujui
do ubah hasil perhitungan Inisialisasi
Data Selected
Btn Proses ID3 Clicked
Btn Delete Pengajuan Clicked
Query Db event Btn Delete Pengajuan Clicked query doQueryDelete
event Btn Proses ID3 Clicked query getDataID3Result event saveDb query savePersetujuan
Hasil Perhitungan Diperoleh
Persetujuan? disetujui savePersetujuan saveDbquery
Tdk disetujui do ubah hasil perhitungan
tdk disetujui Saving savePersetujuan saveDbquery
Stop
44
data hasil perhitungan ID3 yang telah tersimpan dalam database untuk dipergunakan dalam perhitungan. Hasil dari pemilihan oleh
aplikasi telah diperoleh, proses selanjutnya yang terjadi adalah pengguna diminta partisipasinya dalam pengambilan keputusan.
Apabila pengguna setuju maka data hasil perhitungan akan di- update. Jika pengguna tidak setuju dengan pemilihan keputusan
oleh aplikasi, maka aplikasi akan mengubah hasil pemilihan keputusan menjadi sebaliknya jika pemilihan disetujui, maka
akan menjadi pemilihan tidak disetujui. Selanjutnya aplikasi akan meng-update ke dalam database.
3.5. Penerapan Perhitungan ID3