Diagram State Perancangan Sistem

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