BAB. IV.
ANALISA DAN PERANCANGAN PERANGKAT LUNAK
IV.1 Analisa Perangkat Lunak Subbab ini berisi uraian tentang analisa untuk membangun perangkat lunak yang mengimplementasikan salah satu algoritma yang telah dibahas pada Bab 2 (dua) dan Bab 3 (tiga). Perangkat lunak dibangun dengan menggunakan metode berorientasi objek (Unified Process).
IV.1.1 Deskripsi Umum Perangkat Lunak Perangkat lunak yang dibangun adalah aplikasi data mining untuk metode Bayesian Networks dengan mengimplementasikan algoritma TPDA. Perangkat lunak ini menerima masukan berupa data nasabah bank siap pakai yang akan menjadi training set dan test set dan selanjutnya menghasilkan struktur Bayesian Networks dengan bentuk node-node dalam visualisasi bar chart dan circle serta menampilkan CPT (Conditional Probability Table) dalam bentuk tabular/tabel dengan memilih node yang akan ditampilkan CPT-nya. Ketika perangkat lunak telah menghasilkan struktur Bayesian Networks, pengguna perangkat lunak dapat juga melakukan prediksi nilai kelas target dengan cara mengisi nilai node-node yang ada. Perangkat lunak yang dibangun oleh penulis dalam penelitian ini diberi nama SIDAMIBAYES (Sistem Data Mining Bayesian Networks).
IV.1.2 Metode Pengembangan Perangkat Lunak SIDAMIBAYES Pengembangan perangkat lunak SIDAMIBAYES menggunakan pendekatan berorientasi obyek dengan metode Unified Process. Pendefinisian seluruh aktifitas dalam proses pengembangan perangkat lunak dengan metode ini menggunakan diagram dalam notasi UML (Unified Modelling Language). Metode ini dipilih karena memberikan kemudahan dalam mengadopsi penambahan kemampuan baru pada sistem secara dinamis dan dapat menyesuaikan dengan keinginan pengguna yang beragam.
Unified Process merupakan metode pengembangan perangkat lunak yang mendeskripsikan kelakuan sistem melalui suatu model. Model yang digunakan adalah model Use case, yaitu deskripsi dari suatu himpunan rangkaian aksi yang dilakukan sistem dan menghasilkan nilai yang dapat diukur. Unified Process dibagi menjadi empat fase yaitu inception, elaboration, construction dan transition, setiap fase melakukan aktifitas sebagai berikut : (1) Inception, pada fase ini dilakukan pengumpulan informasi kebutuhan perangkat lunak. Informasi tersebut dinyatakan dalam diagram Use Case dan analisis use case. (2) Elaboration, dalam fase ini dilakukan analisis, perancangan dan perencanaan pengujian. Sebagian besar pekerjaan yang dilakukan pada tahap ini adalah merinci use case. (3) Construction, pada fase ini sistem yang telah dirancang mulai diimplementasikan dan diuji. Sebagian besar pekerjaan yang dilakukan pada tahap ini adalah pembuatan program (coding). (4) Transition, fase ini merupakan fase terakhir di mana program telah selesai dan siap diserahkan ke pengguna. Pekerjaan yang dilakukan dalam fase ini meliputi melengkapi dokumentasi program dan pelatihan bagi pengguna. Alasan penulis memakai metode RUP dalam membangun aplikasi klasifikasi dan visualisasi data mining ini adalah antara lain:
1. Pada dunia nyata, aplikasi data mining adalah aplikasi yang kompleks yang melibatkan beberapa disiplin ilmu pengetahuan. Oleh sebab itu adalah hal yang tidak mungkin untuk mendefenisikan semua kebutuhan, merancang dan membangun perangkat lunak dalam sekali kegiatan karena sebenarnya dibutuhkan pendekatan iteratif yang dapat meningkatkan pengetahuan mengenai permasalahan data mining yang akan diselesaikan. Setiap satu kali iterasi pengembangan perangkat lunak dapat meningkatkan pengetahuan permasalahan. RUP merupakan proses pengembangan perangkat lunak dengan pendekatan iterasi. Pendekatan iteratif pada RUP dapat mengurangi kegagalan perangkat lunak dalam menangkap kebutuhan aplikasi. Hal ini karena setiap iterasi akan menghasilkan program yang dapat dipakai, dan di lihat apakah sudah sesuai
49
dengan kebutuhan dengan melakukan pengujian yang sebelumnya sudah di rencanakan. Jika belum maka akan dilakukan perbaikan pada iterasi berikut. 2. Pada dunia nyata, karena aplikasi data mining melibatkan beberapa disiplin ilmu pengetahuan, hal ini berkaitan dengan jumlah orang yang terlibat dalam pengembangan aplikasi. Oleh sebab itu diperlukan suatu kakas alat komunikasi antar anggota tim dalam memahami kebutuhan aplikasi selama dikembangkan. RUP mendeskripsikan bagaimana mengorganisasi dan mendokumentasikan kebutuhan fungsional dan batasan perangkat lunak agar dapat dengan mudah dipahami semua orang. Penggunaan use case dan skenario-skenario use case telah terbukti efektif dalam menangkap kebutuhan perangkat lunak dan mudah dipahami. 3. Pada dunia nyata, aplikasi data mining harus peka terhadap perubahan. Perubahan yang dimaksud adalah faktor-faktor yang dapat berpengaruh kepada pola/tingkah laku data yang diamati di mana sebelumnya tidak di definisikan kedalam aplikasi. RUP dapat mengontrol dan memonitor perubahan yang terjadi selama pengembangan aplikasi maupun pada tahap perawatan. Hal tersebut dapat dilakukan karena RUP menyediakan panduan dalam melakukan perubahan dalam bentuk dokumen-dokumen atau template.
IV.1.3 Asumsi dan Batasan Perangkat Lunak Beberapa batasan perangkat lunak adalah : -
Perangkat lunak hanya dapat menangani satu domain data yaitu data bank yang berbentuk relasi (yang menjadi masukkan utama).
-
Nilai-nilai atribut untuk data masukkan harus berbentuk diskret8.
-
Visualisasi yang ditampilkan adalah bentuk bar chart untuk setiap node-node dan bentuk tabular untuk CPT setiap node yang terdapat pada struktur Bayesian Networks yang dihasilkan.
-
Perangkat lunak hanya dapat menangani data dalam format file Microsoft Access (*.mdb).
Sedangkan asumsi yang dipakai dalam membangun perangkat lunak ini adalah pengguna perangkat lunak sudah terbiasa dengan teori ilmu data mining, 8
data diskret adalah : data yang nilainya dikelompokkan berdasarkan interval tertentu
50
khususnya untuk motode klasifikasi dengan menggunakan teknik Bayesian Networks.
IV.1.4 Fungsi Utama Perangkat Lunak Perangkat lunak yang dibangun dalam penelitian mempunyai 2 (dua) fungsi utama, yaitu berdasarkan masukan berupa data relasi : 1. Perangkat lunak dapat menampilkan sebuah diagram yang disebut directed acyclic graph, yang merupakan visualisasi struktur diagram Bayesian Networks di mana dapat ditampilkan dalam bentuk lingkaran atau bar chart. 2. Perangkat lunak dapat memberikan prediksi sebuah kelas/atribut target yang menjadi target.
IV.1.5 Diagram Use Case Model yang dipakai dalam membangun perangkat lunak dalam tahap analisis ini adalah dengan menggunakan diagram use case. Diagram use case adalah sebuah diagram yang terdiri dari actor dan use case yang menggambarkan hubungan antara keduanya. Actor adalah berbagai orang atau perangkat dari entitas eksternal/luar yang menggunakan suatu sistem, subsistem ataupun kelas/produk dalam konteks fungsi dan kelakuannya sehingga dapat dijelaskan[PRES05]. Actor dapat menggambarkan peranan dari pengguna ataupun perangkat luar ketika sistem berjalan. Lebih lanjut actor dapat didefinisikan sebagai segala sesuatu entitas luar dari sistem yang berkomunikasi dengan sistem atau produk tersebut, dan setiap actor mempunyai satu atau lebih tujuan yang ingin dicapai ketika menggunakan sistem tersebut. Use case adalah suatu unit kemampuan yang secara ekternal kelihatan yang disajikan oleh suatu sistem [RUM99]. Dengan kata lain sebuah use case adalah merupakan gambaran fungsi-fungsi yang disediakan oleh sistem yang dapat digunakan oleh actor. Diagram use case dari perangkat lunak SIDAMIBAYES dapat dilihat pada Gambar 4.1
51
Gambar 4.1. Diagram Use Case SIDAMIBAYES
IV.1.5.1 Definisi Actor Definisi dari actor dalam SIDAMIBAYES dapat dilihat pada Tabel 4.1
Tabel 4.1 Actor SIDAMIBAYES No
Aktor
A1. User
Keterangan
Pengguna sistem SIDAMIBAYES yang dapat melakukan tugas data mining untuk metode Klassifikasi dengan teknik Bayesian Networks berdasarkan data bank.
IV.1.5.2 Definisi Use Case Definisi dari use case dalam SIDAMIBAYES dapat dilihat pada Tabel 4.2.
IV.1.5.3 Skenario Use Case Actor
dan masing-masing use case yang terdapat pada SIDAMIBAYES
mempunyai keterikatan yang dapat dijelaskan dalam skenario. Penjelasan skenario use case yang lebih lengkap diuraikan pada Lampiran B.
52
Tabel 4.2. Use case SIDAMIBAYES Use Case
No
U1. Konfigurasi
Keterangan
User dapat melakukan konfigurasi data mining yang dilakukan.
U2. Bangun Struktur BN
Sistem membangun struktur Bayesian Networks berdasarkan data masukan yang ada pada form konfigurasi
U3. Visualisasi Struktur
BN U4. Prediksi Kelas
User dapat melihat visualisasi struktur Bayesian Networks dalam bentuk circle atau bar chart. User melakukan prediksi kelas yang menjadi target.
IV.1.6 Pemodelan Kelas Tahap Analisis Pemodelan kelas pada tahap analisis bertujuan untuk mendapatkan kelas pada tahap analisis dan interaksi antar kelas. Kelas ini didapat berdasarkan spesifikasi kebutuhan sistem dan use case yang terdapat pada diagram use case. Selanjutnya kelas yang didapat pada tahap analisis nantinya akan dipergunakan sebagai dasar tahap berikutnya dalam pembangunan perangkat lunak SIDAMIBAYES, yaitu tahap perancangan.
IV.1.6.1 Identifikasi Kelas Kelas pada tahap analisis dapat di identifikasi berdasarkan use case dan skenario yang telah disusun pada diagram use case. Pada tahap analisis identifikasi kelas dapat menghasilkan 3 (tiga) jenis atau tipe kelas. Jenis-jenis kelas tersebut adalah : 1. Boundary Class, adalah jenis kelas yang berperan sebagai media penghubung atau sebagai antar muka sistem dalam berhubungan langsung dengan dunia luar. 2. Controller Class, adalah jenis kelas yang mempunyai fungsi tertentu dan dapat berperan untuk mengontrol interaksi antar kelas yang terdapat pada sistem.
53
3. Entity Class, adalah jenis kelas yang dapat menyimpan informasi ke dalam suatu media penyimpan.
Kelas-kelas yang teridentifikasi pada tahap analisis untuk perangkat lunak SIDAMIBAYES dapat dilihat pada Tabel. 4.3.
Tabel 4.3. Identifikasi Kelas Analisis No 1
Kelas FormUtama
Jenis Kelas Boundary
Keterangan Form Utama dari perangkat lunak yang berisi menu-menu. Form
2
FormKonfigurasi
Boundary
untuk
menerima
masukkan
konfigurasi dari user dalam membangun struktur Bayesian Networks.
3
BangunStruktur
Controller
Kelas yang berfungsi untuk menjalankan rutin membangun Bayesian Networks. Form
4
FormVisualisasiBN
Boundary
untuk
menampilkan
hasil
pembangunan perangkat lunak dalam bentuk visual dan performansi metode klasifikasi dengan Bayesian Networks. Form untuk user dalam melakukan
5
FormPrediksiKelas
Boundary
prediksi target kelas dalam data mining Bayesian Networks
6
DataTabel
Entity
Kelas yang menyimpan data bank yang akan dijadikan traning set dan test set.
IV.1.6.2 Identifikasi Interaksi Antar Kelas Setelah kelas-kelas yang terlibat pada SIDAMIBAYES pada tahap analisis telah diidentifikasi, selanjutnya adalah mengidentifikasi interaksi / keterkaitan antar kelas agar dapat merealisasikan use case-use case yang terdapat pada SIDAMIBAYES. Hasil identifikasi interaksi kelas pada tahap analisis dapat dilihat pada Gambar 4.2. FormUtama merupakan boundary yang berfungsi sebagai antar muka utama antara SIDAMIBAYES dengan User. FormUtama ini selanjutnya akan menampilkan
54
FormKofigurasi yang merupakan antar muka (boundary) yang memungkinkan User untuk memasukkan data-data konfigurasi sebelum SIDAMIBAYES melakukan pembangunan struktur Bayesian Networks. Setelah FormKonfigurasi di isi dengan data-data yang bersesuaian, selanjutnya SIDAMIBAYES akan membangun struktur Bayesian Networks berdasarkan data dari DataTabel dan FormKonfigurasi di mana tugas tersebut dilakukan oleh kelas BangunStruktur yang merupakan kelas controller, setelah struktur selesai dibangun, kelas FormVisualisasiBN menampilkan struktur Bayesian Networks dalam bentuk visual dan menampilkan juga hasil performansi klasifikasi dengan struktur Bayesian Networks. SIDAMIBAYES juga menyediakan kelas FormPrediksiKelas untuk memperbolehkan User melakukan prediksi data mining klasifikasi dengan teknik Bayesian Networks.
Gambar 4.2. Diagram interaksi antar kelas pada tahap analisis
IV.2 Perancangan Perangkat Lunak Setelah analisis perangkat lunak, tahap selanjutnya adalah menguraikan perancangan-perencangan yang dilakukan pada perangkat lunak berdasarkan analisis perangkat lunak yang telah dilakukan.
55
IV.2.1 Daftar Kelas Tahap Perancangan Perancangan kelas dilakukan berdasarkan diagram use case dan kelas-kelas yang telah diidentifkasi pada tahap analisis dengan memperhatikan tipe-tipe kelas apakah bertipe boundary, controller, atau entity. Pada kelas tipe boundary yang telah teridentifikasi pada tahap analisis, pada tahap
perancangan
dimungkinkan
diperlukan
kelas-kelas
tambahan
untuk
mendukung realisasi antar muka sistem yang diinginkan. Bertambah atau tidaknya kelas tergantung dengan arsitektur perangkat lunak dan lingkungan development (tools) yang digunakan dalam mengembangkan perangkat lunak. Dalam merancang kelas controller, patut diperhatikan kompleksitas fungsi kelas tersebut. Jika kompleksitas fungsi kelas sangat sederhana, kelas ini dapat menjadi operasi-operasi yang terdapat pada kelas yang berhubungan, sehingga tidak perlu untuk membuat suatu kelas tersendiri dan demikian sebaliknya, jika kompleksitas fungsi kelas sangat kompleks maka kelas tersebut dapat dipecah-pecah menjadi kelas-kelas yang saling berhubungan. Kelas bertipe entity merupakan kelas yang bersifat pasif dan persisten. Dalam merancang kelas bertipe ini yang perlu diperhatikan adalah bahwa kelas harus dapat menyimpan suatu kondisi (state) hasil dari suatu operasi dengan benar.
IV.2.1.1 Realisasi Use Case Tahap Perancangan (Diagram Kelas) Berdasarkan pertimbangan-pertimbangan umum dalam merancang kelas yang telah diuraikan diatas, maka realisasi use case tahap perancangan atau diagram kelas pada fase construction untuk SIDAMIBAYES dengan masing-masing atribut dan operasi dapat dilihat pada Gambar 4.3 (operasi dan atribut tidak ditampilkan) yaitu terdiri dari : a. Kelas FormUtama dengan tipe Boundary b. Kelas FrmKonfigurasi dengan tipe Boundary dan juga Controller c. Kelas FrmBNVisChart dengan tipe Boundary d. Kelas FrmBNVisCircle dengan tipe Boundary e. Kelas FrmPrediksiKelas dengan tipe Boundary
56
f. Kelas FormCPT dengan tipe Boundary g. Kelas DataTable dengan tipe Entity h. Kelas NodeBN dengan tipe Entity i. Kelas CPT dengan tipe Boundary j. Kelas NodeStateProb dengan tipe Entity k. Kelas Temp_PairNode dengan tipe Entity l. Kelas PairNode dengan tipe Entity Kelas FormUtama terdiri dari kelas FrmKonfigurasi, kelas FrmBNVisChart, kelas FrmBNVisCircle dan kelas FrmPrediksiKelas. Kelas NodeBN bergantung pada kelas FrmKonfigurasi (dependency relationship) dimana realisasi kelas NodeBN di lakukan pada kelas frmKonfigurasi. Untuk satu kelas NodeBN akan berasosiasi dengan beberapa kelas CPT dan berasosiasi dengan satu kelas NodeStateProb. Kelas Temp_PairNode
berelasi
dengan
kelas
frmKonfigurasi,
dimana
kelas
Temp_PairNode digunakan untuk menyimpan pasangan nama node-node yang terdapat pada kelas DataTabel. Kelas FormKonfigurasi juga berelasi dengan kelas DataTable di mana satu kelas FormKonfigurasi mempunyai satu kelas DataTable.
IV.2.1.2 Deskripsi Atribut dan Operasi Masing-masing kelas yang dihasilkan pada tahap ini memiliki atribut dan operasi yang sesuai dengan fungsi kelas tersebut. Dalam menentukan atribut hal yang perlu diperhatikan adalan nama harus sesuai dengan entitas yang diwakilinya, tipe data, persistensi, jangkauan nilai, nilai awal dan visibility atau batasan akses oleh kelas lain. Sama halnya dengan atribut, dalam menentukan operasi juga memperhatikan hal-hal tersebut di atas ditambah dengan faktor tanggung jawab (responsibility) atau apa yang harus dilakukan operasi tersebut dan operation signature yang merupakan deskripsi parameter-parameter yang digunakan oleh operasi. Deskripsi atribut dan operasi
yang lebih lengkap dapat dilihat pada
Lampiran C.
57
Gambar 4.3. Diagram Kelas SIDAMIBAYES
IV.2.2 Interaksi Antar Kelas (Sequence Diagram) Diagram kelas yang ditampilkan menggambarkan struktur perangkat lunak secara statis. Pada diagram tersebut belum tergambar interaksi antar kelas yang dapat menggambarkan keadaan perangkat lunak secara dinamis sehingga kelakuan (behaviour) dari perangkat lunak tidak dapat diprediksi. Untuk menggambarkan interaksi kelas dalam perangkat lunak digunakan
Sequence Diagram yang
menggambarkan interaksi dalam grafik dua dimensi di mana sumbu vertikal mewakili dimensi waktu dan sumbu horisontal mewakili obyek-obyek yang terlibat dalam interaksi. Interaksi dalam diagram ini diwakili oleh pesan (message) yang dikirim oleh masing-masing obyek yang terlibat [RUM99]. Gambar 4.4
58
memperlihatkan sequence diagram untuk use case Konfigurasi, diagram lengkap untuk masing-masing use case dapat dilihat pada Lampiran D.
Gambar 4.4 Sequence Diagram Use Case Konfigurasi
Pada Gambar 4.4 dapat dilihat bahwa untuk use Konfigurasi, actor User menampilkan FormUtama, selanjutnya FormUtama akan menampilkan menu yang tersedia. Selanjutnya FormUtama akan mengirim pesan ke FormKonfigurasi untuk di tampilkan pada FormUtama di mana sebelumnya ditampilkan FormKonfigurasi akan mengatur nilai threshold (konfigurasi) yang diinginkan.
IV.2.3 Perancangan Struktur Data Perancangan data di lakukan untuk kelas bertipe entity. Dalam sistem SIDAMIBAYES ini perancangan data dilakukan untuk kelas DataTabel. Seperti yang telah ditulis pada Bab III subbab III.1.1, studi kasus data utama yang dipakai adalah data bank yang diambil dan diekstrak dari situs PKDD 1999 Discovery Challenge Guide to the Financial Data Set. Atribut-atribut yang dipakai dapat dilihat pada Tabel 3.1. Perancangan data yang dipakai pada SIDAMIBYES yaitu mengenai
59
atribut dan jenis type setiap atribut yang terdapat pada kelas DataTabel dapat dilihat pada Tabel 4.4.
Tabel 4.4 Struktur Data SIDAMIBAYES (Kelas DataTabel) No
Atribut
Type Data
1
Sex
String
2
Age
String
3
Salary
String
4
Balance_Q1
String
5
Balance_Q2
String
6
Balance_Q3
String
7
Balance_Q4
String
8
Productive
String
9
Trans_Q1
String
10
Trans_Q2
String
11
Trans_Q3
String
12
Trans_Q4
String
13
Active
String
Keterangan
Target Kelas
Target Kelas
IV.2.4 Perancangan Antar Muka (Layar) Tujuan utama dalam melakukan perancangan antar muka suatu sistem atau perangkat lunak adalah untuk menciptakan suatu komunikasi yang efektif dan efisien antara sistem dengan pengguna dan komponen-komponen pendukung lain. Efektif adalah bahwa informasi yang ditampilkan pada perangkat lunak dapat dimengerti oleh pengguna dan komponen pendukung lainnya. Efisien adalah bahwa bahwa informasi yang berguna saja yang ditampilkan. Oleh sebab itu rancangan antar muka harus mememiliki konsistensi isi dan didukung oleh kemudahan dalam pengoperasiannya. Antar muka pengguna perangkat lunak SIDAMIBAYES dirancang berbasis aplikasi GUI (Graphical User Interface), sehingga tampilan setiap antar muka adalah berbentuk form-form. Secara umum, pada metode pengembangan perangkat lunak menggunakan RUP, rancangan antar muka dapat dilihat pada tipe kelas-kelas yang
60
telah dirancang. Tipe kelas yang akan menjadi kandidat antar muka adalah tipe kelas Boundary. Daftar rancangan antar muka yang terdapat pada
perangkat lunak
SIDAMIBAYES dapat dilihat pada Tabel 4.5
Tabel 4.5 Daftar Antar Muka Pengguna SIDAMIBAYES No 1
Antar Muka FormUtama
Kelas FormUtama
Keterangan Pengguna dapat memilih menu yang
disediakan
oleh
SIDAMIBAYES. 2
FormKonfigurasi
FrmKonfigurasi
Penguna
memasukkan
nilai
konfigurasi ( nilai threshold ) dan memasukkan data yang akan
dibangun
struktur
Bayesian Networksnya ( Data Bank ). 3
FormVisBNBarChart FrmVisBNBarChart Pengguna dapat melihat struktur Bayesian
Networks
yang
dihasilkan
perangkat
lunak
dengan
menampilkan
probabilitas
distribusi
dalam
bentuk grafis bar chart. 4
FormVisBNCircle
FrmVisBNCircle
Pengguna dapat melihat struktur Bayesian Networks yang telah dibangun oleh perangkat lunak dengan node-node berbentuk circle.
5
FormPrediksiKelas
FrmPrediksiKelas
Pengguna
dapat
melakukan
prediksi klasifikasi kelas target yang akan ditebak nilainya ( kelasnya ). 6
FormCPT
CPT
Form
ini
menyediakan
61
informasi
mengenai
Conditional Probability Table (CPT) untuk setiap nilai node berdasarkan nilai node parent – nya.
Untuk masing-masing rancangan tampilan antar muka SIDAMIBAYES dapat dilihat pada Lampiran E.
62