Wednesday, February 13, 2008

Urutan Pengembangan Solusi Untuk Software DSS/SPK

Tadi waktu bimbingan aplikasi Fingerprint dengan Visual Basic, saya teringat tentang urutan penyelesaian solusi untuk software Decision Support System atau Sistem Pengambil Keputusan.

Menurut saya, aplikasi DSS adalah aplikasi yang gampang-gampang susah. Gampang, karena aplikasi ini sekedar INPUT->PROSES->OUTPUT yang (sejauh ini pengalaman saya) variasinya tidak seheboh aplikasi bisnis dan akunting. Namun susahnya adalah dalam hal urutan penyelesaian masalahnya. Mana yang harus didahulukan: User Interface (GUI), Desain Kelas atau Database?

Awalnya saya mengutamakan Interface. Anda rancang sedikit-sedikit (mungkin sekedar 1-2 form sudah mencukupi), sekedar menggambarkan apa yang harus dimasukkan pemakai dan apa yang akan ia dapatkan. Namun jangan terlalu lama dan mengandalkan kemajuan penyelesaian dengan menggunakan panduan interface sebagai patokannya.

Gunakanlah rancangan basis data.

Aplikasi DSS apapun, pasti menggunakan basis data (mungkin perlu dikritisi pernyataan ini). Anda rancang dahulu basis datanya, setelah itu Anda rancang formula yang diperlukan untuk mengambil keputusan pada domain permasalahan aplikasi DSS yang sedang dikerjakan dan lakukan pengujian validitas formula yang dirancang dengan menggunakan kombinasi antara Skenario Input Pemakai dan Basis Data yang telah dirancang. Perhatikan diagram di bawah ini :

Alur Kerja Pengembanan Solusi untuk DSS

Input pemakai tidak mesti dari GUI. Anda bisa mensimulasikan GUI dengan sekedar parameter yang akan dimasukkan pada formula DSS yang sedang dikembangkan. Cara ini akan mempercepat solusi yang dikembangkan, karena kompleksitas INPUT sering menghambat dikembangkannya solusi DSS dengan cepat.

Selain itu, basis data merupakan artifact database yang paling kuat, tahan lama dan paling mempengaruhi artifact2 aplikasi lainnya. Sebagai contoh, satu field yang ditambah pada basis data akan mengakibatkan perubahan nyata dan langsung pada GUI.

Anda harus benar-benar memperhatikan desain database. Tidak boleh ada kesalahan. Lakukan verifikasi untuk semua jenis permasalahan dan skenario input yang akan dilakukan pemakai. Rancangan basis data yang baik akan mampu menghadapi semua permasalahan dan permintaan perubahan baik pada pemahaman domain masalah yang lebih baik atau penambahan fleksibilitas interaksi pemakai. (Mungkin saya akan menambahkan artikel tentang perancangan basis data yang baik di masa depan. Insya Allah)

Semoga artikel ini bisa memberi sedikit kecerahan. Insya Allah akan saya lanjutkan dengan contoh konkrit pengembangan basis data pada satu kasus aplikasi DSS yang menggunakan AHP/ANP. Kemudahan ini sebenarnya tidak saya dapatkan serta merta. Saya harus berterimakasih pada Dik Aswan yang datang kedua kalinya dengan form interaksi pemakai yang sangat baik, sehingga memberikan inspirasi bagi saya untuk merancangkan basis datanya. Barokallahu...

Semoga bermanfaat semuanya.

Salam hormat ^_^

No comments: