Pemodelan Rekayasa Perangkat Lunak PDF
Pemodelan Rekayasa Perangkat Lunak PDF
PERANGKAT LUNAK
Dalam proses analisis proses pendekatan dilakukan, dan salah satunya adalah
prototyping. Prototyping adalah sebuah proses pengumpulan persyaratan, pengaplikasian
prinsip analisis, dan penyusunan model perangkat lunak yang akan dibangun untuk penilaian
dan pengembangan. Akhirnya ada lingkungan yang membutuhkan konstruksi prototipe pada
awal analisis, karena model adalah satu-satunya alat dimana persyaratan dapat ditarik secara
efektif. Model tersebut kemudian dikembangkan dalam perangkat lunak produksi.
Ada empat model prototype:
1. Prototype kertas, menggambarkan system dengan menggunakan media kertas.
Prototype kertas tidak bisa diuji coba dan diimplementasikan.
2. Prototype berbasis PC, memanfaatkan program aplikasi untuk menunjukkan
interaksi manusia dan komputer.
3. Prototype kerja, merupakan implementasi sebagian fungsi system yang ingin
dilihat unjuk kerjanya, dan diwujudkan dalam sebuah program.
4. Prototype program, program benar-benar dibuat dan dapat berfungsi dengan baik.
Selain itu, program juga terus menerus ditambah dan dilengkapi.
Paradigma prototyping dapat terbatas atau tidak terbatas. Pendekatan terbatas disebut
throaway prototyping. Dengan menggunakan pendekatan ini, prototipe sebagai sebuah
demonstrasi dari sebuah persyaratan. Sedangkan pendekatan tidak terbatas, yang disebut juga
evolutionary prototyping., menggunakan prototipe sebagai bagian pertama dari aktivitas
analisis yang akan diteruskan ke dalam desain dan konstruksi. Sebelum pendekatan terbatas
atau tidak terbatas dilaksanakan perlu dilakukan apakah sistem yang akan dibangun dapat
menerima protoyping atau tidak. Sejumlah faktor perlu diperhatikan, diantaranya: area
aplikasi, kompleksitas aplikasi, karakteristik pelanggan, dan karakteristik proyek.
10
Beberapa kelebihan/manfaat yang bisa diambil bila kita menggunakan prototyping
antara lain :
1. Adanya komunikasi yang intensif antara pengembang dan user
2. Membantu dalam analisis, karena kebutuhan user telah dipahami dengan baik oleh
pengembang sehingga dapat meminimalkan salah persepsi antara kedua pihak.
3. Peran user meningkat, karena user dapat melakukan evaluasi dan masukan baru
setiap saat.
4. Pengembangan lebih cepat, karena program bisa langsung dibuat dan user dapat
melihat setiap tahap pembuatan program.
5. Mudah dalam implementasinya, karena user sudah sejak awal terlibat sehingga
sudah akrab dan tidak merasa asing terhadap program.
Sedangkan kelemahan memakai prototype adalah :
1. User sibuk, karena user dan pengembang harus sama-sama memiliki komitmen untuk
sering bertemu dan membahas kebutuhannya
2. User ingin program segera selesai sehingga pengembang sering mengabaikan
dokumentasi
3. User berharap terlalu banyak, seringnya evaluasi dan komunikasi membuat user sering
berubah fikiran dan tidak pasti akan kebutuhannya.
Di dalam suatu industri dikenal berbagai macam proses, demikian juga halnya dengan
industri perangkat lunak. Perbedaan proses yang digunakan akan menguraikan aktivitas-
aktivitas proses dalam cara-cara yang berlainan. Perusahaan yang berbeda menggunakan
proses yang berbeda untuk menghasilkan produk yang sama. Tipe produk yang berbeda
mungkin dihasilkan oleh sebuah perusahaan dengan menggunakan proses yang berbeda.
Namun beberapa proses lebih cocok dari lainnya untuk beberapa tipe aplikasi. Jika proses
yang salah digunakan akan mengurangi kualitas kegunaan produk yang dikembangkan.
11
Karena banyaknya variasi dalam model proses yang digunakan maka tidak mungkin
menghasilkan gambaran-gambaran yang reliabel untuk alokasi biaya dalam aktivitas-aktivitas
ini.
Modifikasi perangkat lunak biasanya lebih dari 60 % dari total biaya pembuatan
perangkat lunak. Presentasi ini terus bertambah karena lebih banyak perangkat lunak
dihasilkan dan dipelihara. Pembuatan perangkat lunak untuk suatu perubahan adalah penting.
Proses perangkat lunak komplek dan melibatkan banyak aktivitas.
Understandability, yaitu sejauh mana proses secara eksplisit ditentukan dan bagaimana
kemudahan definisi proses itu dimengerti.
Visibility, apakah aktivitas-aktivitas proses mencapai titik akhir dalam hasil yang jelas
sehingga kemajuan dari proses tersebut dapat terlihat nyata/jelas
Supportability, yaitu sejauh mana aktivitas proses dapat didukung oleh CASE
Acceptability, apakah proses yang telah ditentukan oleh insinyur dapat diterima dan
digunakan dan mampu bertanggung jawab selama pembuatan produk perangkat lunak
Reliability, apakah proses didesain sedimikian rupa sehingga kesalahan proses dapat
dihindari sebelum terjadi kesalahan pada produk.
Robustness, dapatkah proses terus berjalan walaupun terjadi masalah yang tak diduga
Maintainability, dapatkah proses berkembang untuk mengikuti kebutuhan atau
perbaikan
Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara lengkap
memenuhi spesifikasi.
12
Pemodelan dalam rekayasa perangkat lunak merupakan suatu hal yang dilakukan
ditahap awal dan akan mempengaruhi pekerjaan-pekerjaan selanjutnya dalam rekayasa
perangkat lunak tersebut.
1. Model Waterfall
Jasa, kendala dan tujuan dihasilkan dari konsultasi dengan pengguna sistem. Kemudian
semuanya itu dibuat dalam bentuk yang dapat dimengerti oleh user dan staf pengembang.
Proses desain sistem membagi kebutuhan-kebutuhan menjadi sistem perangkat lunak atau
perangkat keras. Proses tersebut menghasilkan sebuah arsitektur sistem keseluruhan.
Desain perangkat lunak termasuk menghasilkan fungsi sistem perangkat lunak dalam
bentuk yang mungkin ditransformasi ke dalam satu atau lebih program yang dapat
dijalankan.
Selama tahap ini desain perangkat lunak disadari sebagai sebuah program lengkap atau
unit program. Uji unit termasuk pengujian bahwa setiap unit sesuai spesifikasi.
Unit program diintegrasikan dan diuji menjadi sistem yang lengkap untuk menyakinkan
bahwa persyaratan perangkat lunak telah dipenuhi. Setelah ujicoba, sistem disampaikan ke
pelanggan.
13
Normalnya, ini adalah phase yang terpanjang. Sistem dipasang dan digunakan.
Pemeliharaan termasuk pembetulan kesalahan yang tidak ditemukan pada langkah
sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai
kebutuhan baru ditemukan.
Dalam prakteknya, setiap langkah sering tumpang tindih dan saling memberi
informasi satu sama lain. Proses perangkat lunak tidak linier dan sederhana tapi mengandung
urutan iterasi dari aktivitas pengembangan. Selama di langkah terakhir, perangkat lunak telah
digunakan. Kesalahan dan kelalaian dalam menentukan kebutuhan perangkat lunak original
dapat diatasi
Sayangnya, model ini banyak mengandung iterasi sehingga membuat sulit bagi pihak
manajemen untuk memeriksa seluruh rencana dan laporan. Maka dari itu, setelah sedikit
iterasi, biasanya bagian yang telah dikembangkan akan dihentikan dan dilanjutkan dengan
langkah pengembangan selanjutnya. Masalah-masalah selama resolusi selanjutnya, dibiarkan
atau diprogram. Pemberhentian yang prematur dari persyaratan akan berarti bahwa sistem
tidak akan sesuai dengan keinginan user. Mungkin juga sistem terstruktur secara jelek yang
14
sebenarnya merupakan masalah desain akan dibiarkan karena terkalahkan oleh trik
implementasi.
2. Model Spiral
Model spiral dibagi menjadi sejumlah aktivitas kerangka kerja, disebut juga wilayah
tugas, antara tiga sampai 6 wilayah tugas :
Komunikasi pelanggan
Perencanaan
Analisis resiko
Perekayasaan
15
Tugas-tugas yang dibutuhkan untuk membangun satu atau lebih representasi aplikasi.
Evaluasi pelanggan
Tugas-tugas yang dibutuhkan untuk memperoleh umpan balik dari pelanggan dengan
didasarkan pada evaluasi representasi perangkat lunak, yang dibuat selama masa
perekayasaan dan diimplementasikan selama masa pemasangan.
Model spiral menjadi sebuah pendekatan yang realistis bagi perkembangan sistem dan
perangkat lunak skala besar. Karena perangkat lunak terus bekerja selama proses bergerak,
pengembang dan pemakai memahami dan bereaksi lebih baik terhadap resiko dari tiap tingkat
evolusi.
Perencanaanan
Analisis resiko
Komunikas
pelanggan
Perekayasaan
Evaluasi pelanggan
Konstruksi dan
peluncuran
16
Gambar. Model spiral
Rational Unified Process adalah proses rekayasa perangkat lunak yang menyediakan
pendekatan disiplin untuk menandai tugas-tugas dan tanggung jawab dalam pengembangan
organisasi. RUP berfokus pada perangkat lunak kualitas tinggi yang mengakomodasi
kebutuhan end user dengan jadwal dan anggaran biaya yang dapat diprediksikan.
17
Gambar. Rational Unified Process
Business modeling
Requirements
18
Analisis dan desain menunjukkan bagaimana sistem akan direalisasikan dalam
fase implementasi. Kita ingin membangun sistem yang :
Analisis dan desain menghasilkan model desain dan model analisis. Desain model
berlaku sebagai blueprint yang menggambarkan bagaimana source code disusun dan
ditulis.
Implementation
19
Berisi panduan untuk mengatur berbagai variasi perkembangan sistem
perangkat lunak, pelacakan versi mana yang digunakan dalam pembuatan perangkat
lunak, pembuatan program individual atau keseluruhan berdasar spesifikasi yang
diminta user dan kebijakan pengembangan perangkat lunak
Environment
Deployment
Rapid Application Development (RAD) adalah salah satu metode pengembangan suatu
sistem informasi dengan waktu yang relatif singkat. Untuk pengembangan suatu sistem
informasi yang normal membutuhkan waktu minimal 180 hari, akan tetapi dengan
menggunakan metode RAD suatu sistem dapat diselesaikan hanya dalam waktu 30-90 hari.
Tujuan utama dari semua metode pengembanga sistem adalah memberikan suatu
sistem yang dapat memenuhi harapan dari para pemakai, akan tetapi sering kali di dalam
melakukan pengembangan suatu sistem tidak melibatkan para pemakai sistem secara
20
langsung, sehingga hal ini menyebabkan sistem informasi yang dibuat jauh dari harapan
pemakai yang dapat berakibat sistem tersebut walaupun dapat diterima tetapi para pemakai
enggan untuk menggunakannya atau bahkan para pemakai menolak untuk menggunakannya.
Pada saat RAD diimplementasikan, maka para pemakai bisa menjadi bagian dari
keseluruhan proses pengembangan system dengan bertindak sebagai pengambil keputusan
pada setiap tahapan pengembangan. RAD bisa menghasilkan suatu system dengan cepat
karena sistem yang dikembangkan dapat memenuhi keinginan dari para pemakai sehingga
dapat mengurangi waktu untuk pengembangan ulang setelah tahap implementasi.
Metode RAD mempunyai 3 tahapan utama seperti yang terlihat pada gambar dibawah
ini :
Tahapan-tahapan RAD :
Pada tahap ini, user dan analyst melakukan semacam pertemuan untuk melakukan
identifikasi tujuan dari aplikasi atau system dan melakukan identifikasi kebutuhan
informasi untuk mencapai tujuan. Hal terpenting dalam tahap ini adalah adanya
keterlibatan dari kedua belah pihak, bukan hanya sekedar persetujuan akan proposal yang
sudah dibuat. Untuk lebih jauh lagi, keterlibatan user bukan hanya dari satu tingkatan pada
suatu organisasi, melainkan beberapa tingkatan organisasi sehingga informasi yang
dibutuhkan untuk masing-masing user dapat terpenuhi dengan baik.
2. Design workshop (proses desain)
Pada tahap ini adalah melakukan proses desain dan melakukan perbaikan-perbaikan
apabila masih terdapat ketidaksesuaian desain antara user dan analyst. Untuk tahap ini
21
maka keaktifan user yang terlibat sangat menentukan untuk mencapai tujuan, karena user
bisa langsung memberikan komentar apabila terdapat ketidaksesuaian pada desain.
Biasanya, user dan analyst berkumpul menjadi satu dan duduk di meja melingkar dimana
masing-masing orang bias melihat satu dengan yang lain tanpa ada halangan.
3. Implementation (implementasi)
Setelah desain dari sistem yang akan dibuat sudah disetujui baik itu oleh user dan analyst,
maka pada tahap ini programmer mengembangkan desain menjadi suatu program. Setelah
program selesai baik itu sebagian maupun secara keseluruhan, maka dilakukan proses
pengujian terhadap program tersebut apakah terdapat kesalahan atau tidak sebelum
diaplikasikan pada suatu organisasi. Pada saat ini maka user bias memberikan tanggapan
akan sistem yang sudah dibuat serta persetujuan mengenai sistem tersebut.
22