Secara konsep, rekayasa perangkat lunak memiliki
kedekatan dengan prinsip-prinsip pemecahan masalah. Pemahaman tentang masalah,
strategi dan proses pemecahan masalah, serta pendekatan sistem pada pemecahan
masalah akan sangat membantu proses rekayasa perangkat lunak.
1.
Masalah dan
Gejala
Masalah (problem) adalah perbedaan antara kondisi yang
terjadi dan kondisi yang diharapkan atau boleh juga diartikan sebagai perbedaan
antara kondisi sekarang dengan tujuan yang diinginka. Sebagai contoh seorang
siswa
berharap memperoleh nilai di atas 80 untuk ujian mata
pelajaran Pemrograman C++, namun pada kenyataannya dia hanya memperoleh nilai
60. Adanya perbedaan ini menunjukkan adanya masalah.
Seringkali kita kesulitan membedakan antara gejala dan
masalah. Gejala adalah tanda/petunjuk terjadinya suatu masalah. Perhatikan contoh
seorang yang berprofesi sebagai dokter pada. Seorang dokter dalam usaha
mengobati penyakit pasien selalu bertanya dulu tentang gejala-gejala yang
dirasakan pasien kemudian menyimpulkan bahwa pasien menderita penyakit tertentu
dan menentukan obat yang tepat. Pusing, demam, batuk, dan pilek merupakan
gejala atau tanda dari penyakit flu. Apabila dokter hanya memberi obat sakit
kepala, maka penyakit flu tidak akan sembuh. Satu masalah mungkin memiliki satu
gejala tetapi mungkin juga
Mungkin kita bertanya-tanya apa hubungan masalah dan
gejala dengan RPL. Seperti telah disampaikan, perangkat lunak yang merupakan
hasil dari RPL merupakan alat bantu yang digunakan untuk menyelesaikan tugas/masalah tertentu. Apabila kita tidak mengetahui dengan benar masalahnya
mustahil kita dapat menentukan bagaimana menyelesaikannya. Dan, untuk
mengetahui dengan baik masalah, maka pengetahuan tentang gejala dari masalah
menjadi sangat penting.
2.
Tipe-tipe
Masalah
a. Masalah
pemenuhan standar
Tipe
masalah dalam kelompok ini adalah masalah-masalah yang berhubungan dengan
pencapaian standar yang telah ditentukan dalam sebuah organisasi. Biasanya
tujuan seperti ini berlaku dalam jangka yang relative panjang.
b.
Masalah pemilihan alternative
Masalah dalam
kelompok ini berhubungan dengan bagaimana memilih solusi terbaik dari berbagai
alternative berdasarkan kriteria-kriteria tertentu. Permasalahan ini seringkali
kita jumpai dalam kehidupan sehari-hari, seperti bagaimana memilih sekolah yang
tepat, memilih lokasi tempat tinggal, memilih bidang pekerjaan. Masing-masing
alternatif dan kriteria memiliki bobot yang telah disepakati.
c.
Masalah pemenuhan kepuasan konsumen
Pada organisasi-organisasi
yang bersifat profit (mencari keuntungan), masalah-masalah pada kelompok ini
merupakan tipe yang seringkali muncul. Konsumen memiliki berbagai macam
keinginan yang satu sama lain berbeda. Memenuhi seluruh keinginan konsumen
sangat tidak mungkin dan sangat memberatkan sebuah organisasi. Oleh karena itu
perlu dicari pemecahan yang sama-sama menguntungkan, baik bagi konsumen maupun
organisasi tersebut.
d.
Masalah pencapaian tujuan
Tipe ini
mirip dengan tipe pertama (masalah pemenuhan standar). Yang berbeda adalah,
pada tipe ini tujuan yang ingin dicapai dapat berubahubah dan bersifat jangka
pendek.
3.
Pemecahan
Masalah
Pemecahan masalah adalah sebuah proses dimana suatu
situasi diamati kemudian bila ditemukan ada masalah dibuat penyelesaiannya
dengan cara menentukan masalah, mengurangi atau menghilangkan masalah atau
mencegah masalah tersebut terjadi. Ada banyak urutan proses pemecahan masalah
yang diajukan oleh para ahli.
Serangkaian tahapan proses yang berbeda yang dapat
digunakan dalam berbagai tingkatan, tergantung dari tipe dan sifat masalahnya.
Masalah yang berbeda membutuhkan penggunaan cara yang berbeda, bahkan mungkin
urutan yang berbeda.
Tahapan kritis dari proses pemecahan masalah adalah
Pendefinisian Masalah. Apabila masalah tidak cukup jelas didefinisikan maka
tahapan-tahapan berikut sulit untuk dijalankan. Bahkan apabila dipaksakan,
kemungkinan besar penyelesaian yang tepat tidak akan diperoleh.
Secara umum proses pemecahan masalah dapat dilakukan
dengan empat tahapan utama yaitu:
1)
Memahami dan mendefinisikan masalah
Bagian ini
merupakan bagian yang sangat penting karena menjadi awal dari seluruh proses
pemecahan masalah. Tujuan pada bagian ini adalah memahami masalah dengan baik
dan menghilangkan bagian-bagian yang dirasa kurang penting.
2)
Membuat rencana untuk pemecahan masalah
Pada bagian
ini ada dua kegiatan penting yaitu:
1)
mencari berbagai cara penyelesaian yang
mungkin diterapkan
2)
membuat rencana pemecahan masalah
Penyelesaian
suatu masalah biasanya tidak hanya satu tapi mungkin bisa beberapa macam.
Sebagai ilustrasi, apabila kita berada di kota Surabaya dan ingin pergi ke
Jakarta, maka banyak cara yang mungkin bisa dilakukan, misalnya kita bisa
menempuh dengan angkutan darat, laut atau udara.
Dengan
angkutan darat kita bisa menggunakan kereta api, bus atau angkutan yang lain.
Jalurnya pun kita bisa lewat jalur utara, tengah atau selatan. Jadi banyak
sekali cara penyelesaian yang bisa kita kembangkan.
Masing-masing
mempunyai karakteristik sendiri-sendiri. Dari sekian banyak penyelesaian ini
kita harus memilih satu yang berdasarkan persyaratan tertentu merupakan cara
yang paling baik untuk menyelesaikan permasalahan.
Setelah
terpilih, maka kita dapat membuat rencana kasar (outline) penyelesaian masalah dan membagi masalah dalam
bagian-bagian yang lebih kecil. Rencana kasar (outline) penyelesaian masalah hanya berisi tahapan-tahapan utama
penyelesaian masalah.
3)
Merancang dan menerapkan rencana untuk
memperoleh cara penyelesaian
Pada bagian
ini rencana kasar penyelesaian masalah diperbaiki dan diperjelas dengan
pembagian dan urutan rinci yang harus ditempuh dalam penyelesaian masalah.
4)
Memeriksa dan menyampaikan hasil dari
pemecahan masalah
Bagian ini bertujuan
untuk memeriksa apakah akurasi (ketepatan) hasil dari cara yang dipilih telah
memenuhi tujuan yang diinginkan. Selain itu juga untuk melihat bagaimana daya
guna dari cara yang dipilih yang dipilih.
Belum ada tanggapan untuk "Gejala, Tipe-tipe, dan Pemecahan Masalah dalam Rekayasa Perangkat Lunak (RPL)"
Post a Comment