SlideShare a Scribd company logo
KONSEP DAN PENERAPAN MODEL-MODEL PROSES

                   PEMBANGUNAN PERANGKAT LUNAK

                                    Fajrillah

Dosen Kopertis Wilayah I dpk. STT Harapan dan Dosen Universitas Dharmawangsa



                                    Abstrak

Pemodelan dalam suatu proses pembangunan perangkat lunak merupakan suatu hal

yang dilakukan di tahapan awal. Dalam proses pembangunan perangkat lunak

sebenarnya masih memungkinkan tanpa pembuatan model proses pembangunan

perangkat lunak. Hal itu tidak dapat lagi dilakukan dalam suatu industri rekayasa

perangkat lunak. Pemodelan dalam perangkat lunak merupakan suatu yang harus

dikerjakan di bagian awal dari proses pembangunan perangkat lunak, dan

pemodelan ini akan mempengaruhi perkerjaan-pekerjaan dalam proses pembangunan

perangkat lunak tersebut.



Kata Kunci: model-model proses, industri, pembangunan, perangkat lunak



PENDAHULUAN

       Di dalam suatu industri dikenal berbagai macam model proses, demikian juga

halnya dengan industri perangkat lunak. Perbedaan proses yang digunakan akan

menguraikan kegiatan-kegiatan proses dalam cara-cara yang berlainan. Perusahaan

yang berbeda menggunakan model proses yang berbeda untuk menghasilkan produk

yang sama. Tipe produk yang berbeda mungkin dihasilkan oleh sebuah perusahaan

dengan menggunakan model proses yang berbeda. Namun beberapa proses lebih




                                                                               1
cocok dari lainnya untuk beberapa tipe aplikasi. Jika proses yang salah digunakan

akan mengurangi kualitas kegunaan produk yang dikembangkan.

       Karena banyaknya variasi dalam model proses yang digunakan maka tidak

mungkin menghasilkan gambaran-gambaran yang reliabel untuk alokasi biaya dalam

kegiatan-kegiatan ini.

       Modifikasi perangkat lunak biasanya lebih dari 60 % dari total biaya

pembuatan perangkat lunak. Persentasi ini terus bertambah karena lebih banyak

perangkat lunak dihasilkan dan dipelihara. Pembangunan perangkat lunak untuk suata

perubahan adalah penting. Proses perangkat lunak komplek dan melibatkan banyak

kegiatan-kegiatan.

Seperti produk, proses juga memiliki atribut dan karakteristik seperti :

Understandability, yaitu sejauh mana proses secara eksplisit ditentukan dan

bagaimana kemudahan definisi proses itu dimengerti.

Visibility, apakah kegiatan-kegiatan proses mencapai titik akhir dalam hasil yang

jelas sehingga kemajuan dari proses tersebut dapat terlihat nyata/jelas

Supportability, yaitu sejauh mana kegiatan proses dapat didukung oleh CASE

Acceptability, apakah proses yang telah ditentukan oleh sarjana komputer dapat

diterima dan digunakan dan mampu bertanggung jawab selama pembangunan produk

perangkat lunak

Reliability, apakah proses didesain sedemikian 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




                                                                                  2
Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara lengkap

memenuhi spesifikasi.



TINJAUAN TEORITIS

       Tidak mungkin untuk mengoptimalkan semua atribut proses secara serentak.

Contohnya, jika pengembangan proses cepat dilakukan mungkin kita perlu

mengurangi visibility proses karena pembuatan proses yang nyata berarti pembuatan

dokumen secara teratur. Ini akan memperlambat proses.

Model-model proses pembangunan perangkat lunak masih menjadi objek penelitian,

tapi sekarang ada banyak model umum atau paradigma yang berbeda dari

pengembangan perangkat lunak, antara lain :

Pendekatan Waterfall

       Berisi rangkaian kegiatan proses seperti yang telah diuraikan diatas dan

disajikan dalam proses yang terpisah, seperti spesifikasi kebutuhan, implementasi

desain perangkat lunak, uji coba dst. Setelah setiap langkah didefinisikan, langkah

tersebut di sign off dan pengembangan dilanjutkan pada langkah berikutnya.

Pengembangan secara evolusioner

       Pendekatan ini interleaves aktivitas spesifikasi, pengembangan dan validasi.

Sistem awal dengan cepat dikembangkan dari kastamer untuk memproduksi sistem

yang memenuhi kebutuhan kastamer. Kemudian sistem disampaikan. Sistem itu

mungkin diimplementasikan kembali dengan pendekatan yang lebih terstruktur untuk

menghasilkan sistem yang kuat dan maintable.

Transformasi formal

       Pendekatan ini berdasarkan pembuatan spesifikasi sistem formal secara

matematik dan transformasi spesifikasi dengan menggunakan metode matematik atau



                                                                                 3
dengan suatu program. Transformasi ini adalah correctnesspreserving ini berarti

bahwa kita dapat yakin program yang dikembangkan sesuai dengan spesifikasi.

Penggabungan sistem dengan menggunakan komponen-komponen yang dapat

digunakan kembali.

       Teknik ini menganggap bagian-bagian dari sistem sudah ada. Proses

pengembangan sistem lebih berfokus pada penggabungan bagian-bagian daripada

pengembangan tiap bagian.

Dua pertama dari pendekatan-pendekatan diatas yaitu waterfall dan pengembangan

evolusioner, saat ini banyak digunakan dalam proses pembangunan perangkat lunak.

Beberapa sistem sudah dibuat dengan menggunakan transformasi correctness

preserving tapi ini masih menjadi penelitian selanjutnya.



METODOLOGI PENELITIAN

       Metode penelitian yang digunakan yaitu metode penggunaan kembali konsep

model-model proses pembangunan perangkat lunak yang penulis dapatkan dari

tinjauan pustaka buku-buku rekayasa perangkat lunak, wawancara dengan peneliti

sebelumnya dan praktisi.



HASIL DAN PEMBAHASAN

       Metode penggunaan kembali (reuse) umum di jepang. Metode ini sekiranya

akan diakui oleh Eropa dan Amerika Utara. Di US metode ini dimulai 1995 dengan

anggaran 150 million dolars. Bagaimanapun juga reuse masih suatu penelitian, terlalu

cepat untuk berkomentar tentang keefektifannya.




                                                                                  4
Waterfall

        Model ini telah diperoleh dari proses engineering lainnya. Model ini

menawarkan cara pembangunan perangkat lunak secara lebih nyata.

Langkah-langkah yang penting dalam model ini adalah

Penentuan dan analisis spesifikasi

        Jasa, kendala dan tujuan dihasilkan dari konsultasi dengan pengguna sistem.

Kemudian semuanya itu dibuat dalam bentuk yang dapat dimengerti oleh user dan

System Development/Programmer.

Desain sistem dan perangkat lunak

        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.

Implementasi dan ujicoba unit

        Selama tahap ini desain perangkat lunak disadari sebagai sebuah program

lengkap atau unit program. Uji unit termasuk pengujian bahwa setiap unit sesuai

spesifikasi.

Integrasi dan ujicoba sistem

        Unit program diintegrasikan dan diuji menjadi sistem yang lengkap untuk

menyakinkan bahwa persyaratan perangkat lunak telah dipenuhi. Setelah ujicoba,

sistem disampaikan ke kastamer

Operasi dan pemeliharaan

        Normalnya, ini adalah phase yang terpanjang. Sistem dipasang dan digunakan.




                                                                                  5
Pemeliharaan termasuk pembetulan kesalahan yang tidak ditemukan pada

langkah sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem

sebagai kebutuhan baru ditemukan.

                           Gambar 1. Model Waterfall




Sumber : Ian Sommerville, [2001], “Software Engineering Sixth Edition”, Pearson

Education Limited.

       Dalam prakteknya, setiap langkah sering tumpang tindih dan saling memberi

informasi satu sama lain. Proses pembangunan perangkat lunak tidak linier dan

sederhana tapi mengandung urutan iterasi dari kegiatan pengembangan. Selama di

langkah terakhir, perangkat lunak telah digunakan. Kesalahan dan kelalaian dalam

menentukan kebutuhan perangkat lunak original dapat diatasi.

       Sayangnya, model yang 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.




                                                                                  6
Mungkin juga sistem terstruktur secara jelek yang sebenarnya merupakan

masalah desain akan dibiarkan karena terkalahkan oleh trik implementasi.

Masalah pendekatan waterfall adalah ketidakluwesan pembagian proyek ke dalam

langkah yang nyata/jelas. Sistem yang disampaikan kadang-kadang tidak dapat

digunakan   sesuai   keinginan   kastamer.    Namun    demikian     model   waterfall

mencerminkan kepraktisan engineering. Konsekuensinya, model proses perangkat

lunak yang berdasarkan pada pendekatan ini digunakan dalam pengembangan sistem

perangkat lunak dan hardware yang luas.



Pengembangan Evolusioner

       Model ini berdasarkan pada ide pengembangan pada implementasi awal yang

akan menghasilkan komentar pemakai sehingga dapat dilakukan perbaikan melalui

banyak versi sampai sistem yang mencukupi dapat dikembangan. Selain memiliki

kegiatan-kegiatan yang terpisah model ini memberikan feedback dengan cepat dan

serentak.

Terdapat 2 tipe pada model ini

Pemrograman evolusioner

       Dimana tujuan proses       adalah     bekerjasama   dengan   kastamer untuk

menghasilkan kebutuhan-kebutuhan dan menyampaikan sistem akhir kepada

pemakai/kastamer. Pengembangan dimulai dengan bagian-bagian sistem yang

dimengerti. Sistem dikembangkan melalui penambahan features sesuai yang

diusulkan oleh kastamer.

Pemodelan

       Dimana tujuan pengembangan evolusioner pada tipe ini adalah mengetahui

kebutuhan-kebutuhan kastamer dan mengembangkan definisi kebutuhan yang lebih



                                                                                   7
baik untuk sistem. Model yang difokuskan pada penelitian bagian-bagian kebutuhan

kastamer yang kurang dimengerti.

       Pemrograman evolusioner penting, saat sulit untuk membuat spesifikasi sistem

secara rinci. Beberapa orang mungkin setuju bahwa semua sistem masuk dalam tipe

ini. Namun, pemrograman evolusioner banyak digunakan dalam pengembangan

sistem AI (artificial intelligence) yang berusaha untuk menyamai kemampuan

manusia.

       Kita tidak mungkin membuat spesifikasi yang rinci untuk perangkat lunak

yang menyamai manusia karena kita tidak mengerti bagaimana setiap manusia

menjalankan tugas-tugas mereka.

       Pendekatan evolusioner biasanya lebih efektif daripada pendekatan waterfall

untuk hal pengembangan perangkat lunak yang harus dengan segera dapat memenuhi

kebutuhan kastamer. Namun, dari segi teknik dan manajemen, model ini memiliki

masalah mendasar yaitu:

Proses tidak visibel.

       Manager-manager membutuhkan "deliverables" yang teratur untuk mengukur

kemajuan. Jika sistem dikembangkan dengan cepat akan terjadi pemborosan pada

pembuatan dokumen yang menggambarkan setiap versi sistem.

Sistem-sistem biasanya kurang terstruktur

       Kecenderungan perubahan yang terus menerus akan mengurangi struktur dari

perangkat lunak. Evolusi perangkat lunak terlihat sulit dan mahal.

Ketrampilan khusus jarang dimiliki

       Tidak jelas batasan ketrampilan yang normal dalam rekayasa perangkat lunak

yang mungkin dapat digunakan secara efektif dalam model pengembangan ini.

       Kebanyakan       sistem   yang   dikembangkan      melalui    cara   ini   telah



                                                                                     8
diimplementasikan oleh kelompok kecil yang memiliki ketrampilan yang tinggi dan

motivasi yang kuat.

       Untuk memecahkan masalah-masalah tersebut, kadang-kadang tujuan dari

pengembangan evolusioner adalah mengembangkan contoh sistem. Contoh ini

digunakan untuk mengerti dan mevalidasikan spesifikasi sistem. Disinilah

pengembangan evolusioner merupakan bagian dari model-model proses pembangunan

perangkat lunak yang lebih luas. ( seperti model waterfall ).

       Karena masalah-masalah tersebut, sistem dengan skala besar biasanya tidak

dikembangkan melalui cara ini. Pengembangan evolusioner lebih tepat untuk

Pengembangan sistem yang relatif kecil.

       Masalah-masalah mengenai perubahan sistem yang ada dihindari dengan

meimplementasi ulang sistem keseluruhan kapanpun perubahan yang signifikan

diperlukan. Jika pemodelan digunakan, tidak terlalu mahal.

Pengembangan sistem yang memiliki masa hidup yang relatif singkat.

       Disini, sistem dikembangkan untuk mendukung beberapa kegiatan yang

dibatasi oleh waktu. Contohnya, sebuah sistem yang mungkin dikembangkan secara

khusus untuk peluncuran produk baru.

       Pengembangan sistem atau bagian-bagian dari sistem yang besar dimana tidak

memungkinkan untuk menyatakan spesifikasi secara rinci. Contohnya, sistem AI dan

user interface.



Spiral Boehm

       Model proses nyata waterfall yang berorientasi dokumen telah diambil sebagai

standar umum oleh banyak staf ahli IT pemerintah dan pembuat perangkat lunak. Jadi,

tidak mudah melupakan model tersebut walaupun masih terdapat masalah-masalah



                                                                                 9
yang ditimbulkan dalam model tersebut. Kita membutuhkan sebuah proses yang lebih

baik untuk manajemen yang dapat menggunakan semua model umum seperti yang

telah kita bicarakan sebelumnya. Model perbaikan tersebut juga harus memenuhi

kebutuhan-kebutuhan pembuat perangkat lunak. Pendekatan alternatif diusulkan oleh

Boehm (1988). Boehm mengusulkan sebuah model yang secara eksplisit menjelaskan

bahwa resiko yang disadari mungkin membentuk dasar model proses umum.



Model Boehm berbentuk spiral. Setiap loop mewakili sebuah tahap dari proses

perangkat lunak.

       Tidak ada tahap yang tetap dalam model ini. Manajemen harus memutuskan

bagaimana membentuk proyek kedalam tahap-tahap. Perusahaan biasanya bekerja

dengan beberapa model umum dengan tahap tambahan untuk proyek khusus atau

ketika masalah-masalah ditemukan selama pembuatan proyek.

Setiap loop dibagi dalam 4 sektor

Pembuatan tujuan

       Tujuan, hambatan dalam proses ataupun produk serta resiko-resiko proyek

ditentukan. Rencan rinci manajemen juga ditulis lengkap. Pembuatan strategi-strategi

alternatif direncanakan sesuai dengan resiko yang ada.

Perkiraan dan pengurangan resiko

       Untuk setiap resiko yang telah diidentifikasi, akan dibuat analisis rincinya.

Kemudian diambil langkah-langkah untuk mengurangi resiko. contohnya, jika ada

resiko bahwa persyaratan-persyaratan tidak tepat maka sebuah model contoh mungkin

dapat dikembangkan.




                                                                                 10
Pengembangan dan validasi

       Setelah evaluasi resiko, sebuah model pengembangan untuk sistem dipilih.

Misalnya, jika resiko interface pengguna yang dominan maka model pengembangan

yang tepat mungkin pengembangan evolusioner dengan menggunakan model contoh

(prototipe)

       Jika resiko keselamatan yang diutamakan, model pengembangan yang sesuai

adalah transformasi formal dan seterusnya. Model waterfall mungkin tepat digunakan

jika resiko yang diutamakan adalah integrasi sistem.

Perencanaan

       Jika diputuskan untuk melanjutkan pada loop spiral berikutnya maka proyek

dibicarakan kembali dan rencana dibuat untuk tahap selanjutnya.

Tidak perlu untuk menggunakan satu model tunggal pada setiap loop spiral bahkan

dalam keseluruhan sistem perangkat lunak. Model spiral encompasses model lainnya.

Pemodelan digunakan pada salah satu spiral untuk memecahkan masalah kebutuhan.

Kemudian dapat diikuti oleh model konvensional, waterfall. Transformasi formal

digunakan untuk mengembangkan bagian-bagian sistem yang memiliki persyaratan

keselamatan yang tinggi dan pendekatan reuse digunakan untuk pengimplementasian

bagian-bagian lain dari sistem data manajemen.

       Pada implementasinya, model spiral ini juga banyak digunakan, tetapi

biasanya dikombinasikan dengan model yang lain. Pemodelan waterfall, yang sangat

bagus dalam menentukan millestones dan pemodelan spiral, yang sangat bagus

dengan menggunakan prototyping, merupakan kombinasi yang sering dipakai di

dalam kontrak-kontrak untuk pembangunan perangkat lunak sekarang ini.




                                                                               11
Manajemen Resiko

       erbedaan yang mendasar antara model spiral dengan model lainnya adalah

bahwa model spiral dengan eksplisit menyadari resiko-resiko yang ada. Resiko adalah

konsep yang sulit didefinisikan secara tepat. Secara informal resiko adalah sesuatu

yang sederhana yang dapat menyebabkan kesalahan. Contohnya, jika bertujuan

menggunakan pemrograman bahasa baru (new programming language), resiko yang

mungkin adalah alat pengumpul yang digunakan tidak reliabel dan tidak

menghasilkan code objek yang efesien.

       Resiko adalah sebagai hasil ketidakcukupan informasi. Resiko tersebut dapat

dipecahkan dengan pengenalan beberapa kegiatan yang dapat menutupi informasi

yang kurang menyakinkan. Dalam contoh diatas, resiko mungkin dapat diatasi dengan

survey pasar untuk menemukan alat pengumpul mana yang dapat digunakan dan

bagaimana kebaikan alat tersebut. Jika sistem ternyata tidak sesuai maka keputusan

untuk menggunakan bahasa baru harus diubah.

       Siklus spiral dimulai dengan penguraian tujuan-tujuan seperti performance,

kegunaan, dan seterusnya. Cara alternatif dalam pencapaian tujuan dan hambatan

dipergunakan dengan sebaik-baiknya kemudian diperhitungkan. Setiap alternatif

diperhitungan bertentangan dengan tujuan. Ini biasanya menghasilkan identifikasi

sumber resiko proyek. Langkah selanjutnya adalah mengevaluasi resiko-resiko ini

dengan aktivitas seperti analisis yang lebih detail, pembuatan model, simulasi dan

seterusnya. Untuk menggunakan model spiral, Boehm menyarankan sebuah bentuk

umum yang dipenuhi dalam setiap daerah spiral. Bentuk ini mungkin dilengkapi pada

sebuah level abtrak atau perkiraan rinci yang imbang dari pengembangan produk.




                                                                                 12
KESIMPULAN

        Berdasarkan hasil penelitian dan pembahasan yang telah dilakukan sebagai

berikut :

        Model proses pembangunan perangkat lunak merupakan serangkaian kegiatan

dan hasil yang berhubungan dengan produk perangkat lunak.

        Konsep model proses pembangunan perangkat lunak banyak dan rumit, semua

bergantung pada penilaian dan kreatifitas manusia dalam hal penerapannya.

        Tidak ada model proses pembangunan perangkat lunak yang ideal, dan tiap

perusahaan berbeda dalam penerapan model proses pembangunan perangkat lunak

untuk menghasilkan produk perangkat lunak yang sama sekalipun.

        Walaupun banyak model proses pembangunan perangkat lunak, hal yang

mendasar dalam kegiatan pembangunan perangkat lunak harus dilakukan seperti

Spesifikasi, Perancangan, Implementasi, Validasi dan Evolusi.



DAFTAR PUSTAKA

Bandinelli, S. Et Al., 1995, “Modeling and Improving an Industrial Software

        Process”, IEEE Tranx, Sofware Engineering, Vol. 21, No. 5, Hal 440-454.

Barbee Teasley Mynatt., 1990, ”Software Engineering with Student Project

        Guidance”,Prentice Hall Int.

Boehm, B., 1988, “ A Spiral Model for Software Development and Enhancement”,

        Computer, Vol. 21, No. 5, Hal. 61-72.

David, A., and P. Sitaram, 1994, “A Concurrent Process Model for Software

        Development”,Software Engineering Notes, ACM Press, Vol. 19, No. 2, Hal

        38-51.

Ian Sommerville., 2001, “Software Engineering Sixth Edition”, Pearson Education



                                                                                  13
Limited.

Kellner, M., 1991, “Software Process Modelling Support for Management Planning

       and Control”, Proc. 1st Intl. Conf. On the Software Process, IEEE Computer

       Socienty Press, Hal. 8-28.

Martin, J., 1994, “Rapid Application Development”, Prentice-Hall.

Racoon, L.B.S., 1995, ”The Chaos Model and The Chaos Life Cycle”, ACM

       Software Engineering Notes, Vol. 20, No. 1, Hal. 55-66.

Roger S. Pressman., 1997, “Software Engineering, and A Practitioner's Approach

       Fourth Edition”, McGraw Hill.

Roger S. Pressman., 1998, “Software Engineering, A Beginner's Guide”, McGraw

       Hill.

Yourdon, E., 1994, “Software Reuse”, Application Development Strategies, Vol. VI,

       No. 12, Hal. 1- 16.




                                                                                 14

More Related Content

What's hot

Proses Pengembangan Perangkat Lunak (SDLC)
Proses Pengembangan Perangkat Lunak (SDLC)Proses Pengembangan Perangkat Lunak (SDLC)
Proses Pengembangan Perangkat Lunak (SDLC)
Rasyeda Aufa
 
Model life cycle software
Model life cycle softwareModel life cycle software
Model life cycle software
Harzalik Meank
 
MPPL Chapter 4
MPPL Chapter 4MPPL Chapter 4
MPPL Chapter 4
beiharira
 
RPL_Kelompok
RPL_KelompokRPL_Kelompok
RPL_Kelompok
Siti Khadijah
 
Modul rekayasa-perangkat-lunak-lunak-ver-1
Modul rekayasa-perangkat-lunak-lunak-ver-1Modul rekayasa-perangkat-lunak-lunak-ver-1
Modul rekayasa-perangkat-lunak-lunak-ver-1
Denny Yahya
 
Modul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunakModul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunak
Nita Resta Dewi
 
Dwi h (09)
Dwi h (09)Dwi h (09)
Dwi h (09)
Dwiharyani Dwiharyani
 
Pemodelan perangkat lunak
Pemodelan perangkat lunakPemodelan perangkat lunak
Pemodelan perangkat lunak
AdityaSaputra83
 
PowerPoint RPL Materi 7
PowerPoint RPL Materi 7PowerPoint RPL Materi 7
PowerPoint RPL Materi 7
Moch. Nor Kholis
 
SDLC
SDLCSDLC
SDLC
mellmeli
 
Waterfall Model (ANSI) persentation
 Waterfall Model (ANSI) persentation Waterfall Model (ANSI) persentation
Waterfall Model (ANSI) persentation
Fajar Sidiq 📶 📡
 
Information System Development
Information System DevelopmentInformation System Development
Information System Development
AceSachio
 
Tugas sim dewi-yananto mihadi putra,se,m.si-pengembangan sistem informasi-2018
Tugas sim dewi-yananto mihadi putra,se,m.si-pengembangan sistem informasi-2018Tugas sim dewi-yananto mihadi putra,se,m.si-pengembangan sistem informasi-2018
Tugas sim dewi-yananto mihadi putra,se,m.si-pengembangan sistem informasi-2018
DewiSartika91
 
Metode rup
Metode rupMetode rup
Metode rup
Janet NJ
 
Pertemuan 1 Pemodelan Perangkat Lunak
Pertemuan 1 Pemodelan Perangkat LunakPertemuan 1 Pemodelan Perangkat Lunak
Pertemuan 1 Pemodelan Perangkat Lunak
Disma Ariyanti W
 
Rekayasa perangkat lunak (dha3)
Rekayasa perangkat lunak (dha3)Rekayasa perangkat lunak (dha3)
Rekayasa perangkat lunak (dha3)Mawaddah Warahmah
 

What's hot (20)

Rpl upload #3
Rpl upload #3Rpl upload #3
Rpl upload #3
 
Proses Pengembangan Perangkat Lunak (SDLC)
Proses Pengembangan Perangkat Lunak (SDLC)Proses Pengembangan Perangkat Lunak (SDLC)
Proses Pengembangan Perangkat Lunak (SDLC)
 
Rangkuman SDLC
Rangkuman SDLCRangkuman SDLC
Rangkuman SDLC
 
Model life cycle software
Model life cycle softwareModel life cycle software
Model life cycle software
 
MPPL Chapter 4
MPPL Chapter 4MPPL Chapter 4
MPPL Chapter 4
 
RPL_Kelompok
RPL_KelompokRPL_Kelompok
RPL_Kelompok
 
Modul rekayasa-perangkat-lunak-lunak-ver-1
Modul rekayasa-perangkat-lunak-lunak-ver-1Modul rekayasa-perangkat-lunak-lunak-ver-1
Modul rekayasa-perangkat-lunak-lunak-ver-1
 
Modul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunakModul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunak
 
RPL
RPLRPL
RPL
 
Dwi h (09)
Dwi h (09)Dwi h (09)
Dwi h (09)
 
Pemodelan perangkat lunak
Pemodelan perangkat lunakPemodelan perangkat lunak
Pemodelan perangkat lunak
 
PowerPoint RPL Materi 7
PowerPoint RPL Materi 7PowerPoint RPL Materi 7
PowerPoint RPL Materi 7
 
SDLC
SDLCSDLC
SDLC
 
Waterfall Model (ANSI) persentation
 Waterfall Model (ANSI) persentation Waterfall Model (ANSI) persentation
Waterfall Model (ANSI) persentation
 
Information System Development
Information System DevelopmentInformation System Development
Information System Development
 
Tugas sim dewi-yananto mihadi putra,se,m.si-pengembangan sistem informasi-2018
Tugas sim dewi-yananto mihadi putra,se,m.si-pengembangan sistem informasi-2018Tugas sim dewi-yananto mihadi putra,se,m.si-pengembangan sistem informasi-2018
Tugas sim dewi-yananto mihadi putra,se,m.si-pengembangan sistem informasi-2018
 
Metode rup
Metode rupMetode rup
Metode rup
 
Pertemuan 1 Pemodelan Perangkat Lunak
Pertemuan 1 Pemodelan Perangkat LunakPertemuan 1 Pemodelan Perangkat Lunak
Pertemuan 1 Pemodelan Perangkat Lunak
 
Soal RPL Pertemuan 3
Soal RPL Pertemuan 3Soal RPL Pertemuan 3
Soal RPL Pertemuan 3
 
Rekayasa perangkat lunak (dha3)
Rekayasa perangkat lunak (dha3)Rekayasa perangkat lunak (dha3)
Rekayasa perangkat lunak (dha3)
 

Viewers also liked

Pemodelan sistem (DFD)
Pemodelan sistem (DFD)Pemodelan sistem (DFD)
Pemodelan sistem (DFD)
Fahmi Hakam
 
Konsep dasar perangkat lunak kompress
Konsep dasar perangkat lunak kompressKonsep dasar perangkat lunak kompress
Konsep dasar perangkat lunak kompressfajrin_ilham
 
Resume buku rekayasa perangkat lunak (daniel siahaan)
Resume buku rekayasa perangkat lunak (daniel siahaan)Resume buku rekayasa perangkat lunak (daniel siahaan)
Resume buku rekayasa perangkat lunak (daniel siahaan)
Renti Susanti
 
Ny culture club egypt
Ny culture club  egyptNy culture club  egypt
Ny culture club egypt
Jennifer Daly
 
3 contoh prototype
3 contoh prototype3 contoh prototype
3 contoh prototype
arvint123
 
MODEL KITAR HAYAT PEMBANGUNAN SISTEM
 MODEL KITAR HAYAT PEMBANGUNAN SISTEM MODEL KITAR HAYAT PEMBANGUNAN SISTEM
MODEL KITAR HAYAT PEMBANGUNAN SISTEM
Naveen Segaran
 
Metode Evaluasi Sistem Informasi
Metode Evaluasi Sistem InformasiMetode Evaluasi Sistem Informasi
Metode Evaluasi Sistem Informasi
Fahmi Hakam
 

Viewers also liked (7)

Pemodelan sistem (DFD)
Pemodelan sistem (DFD)Pemodelan sistem (DFD)
Pemodelan sistem (DFD)
 
Konsep dasar perangkat lunak kompress
Konsep dasar perangkat lunak kompressKonsep dasar perangkat lunak kompress
Konsep dasar perangkat lunak kompress
 
Resume buku rekayasa perangkat lunak (daniel siahaan)
Resume buku rekayasa perangkat lunak (daniel siahaan)Resume buku rekayasa perangkat lunak (daniel siahaan)
Resume buku rekayasa perangkat lunak (daniel siahaan)
 
Ny culture club egypt
Ny culture club  egyptNy culture club  egypt
Ny culture club egypt
 
3 contoh prototype
3 contoh prototype3 contoh prototype
3 contoh prototype
 
MODEL KITAR HAYAT PEMBANGUNAN SISTEM
 MODEL KITAR HAYAT PEMBANGUNAN SISTEM MODEL KITAR HAYAT PEMBANGUNAN SISTEM
MODEL KITAR HAYAT PEMBANGUNAN SISTEM
 
Metode Evaluasi Sistem Informasi
Metode Evaluasi Sistem InformasiMetode Evaluasi Sistem Informasi
Metode Evaluasi Sistem Informasi
 

Similar to KONSEP DAN PENERAPAN MODEL-MODEL PROSES PEMBANGUNAN PERANGKAT LUNAK

Tugas (isfan fajar satria)1111504146
Tugas (isfan fajar satria)1111504146Tugas (isfan fajar satria)1111504146
Tugas (isfan fajar satria)1111504146
isfanfajar
 
Pemodelan perangkat lunak XI_ Pertemuan 2.pptx
Pemodelan perangkat lunak XI_ Pertemuan 2.pptxPemodelan perangkat lunak XI_ Pertemuan 2.pptx
Pemodelan perangkat lunak XI_ Pertemuan 2.pptx
agusnugraha41
 
ppt prototyping Tgs iwank
ppt prototyping Tgs iwank ppt prototyping Tgs iwank
ppt prototyping Tgs iwank Iwank Odarlean
 
Proses rekayasa perangkat lunak
Proses rekayasa perangkat lunakProses rekayasa perangkat lunak
Proses rekayasa perangkat lunak
Davy Arya Atmaja
 
kualitas source code dan pengujian program
kualitas source code dan pengujian programkualitas source code dan pengujian program
kualitas source code dan pengujian program
RioKomando
 
Kualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramKualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian Program
NoviaAlisa
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
Lusiana Diyan
 
perangkat lunak Berbasis objek teori if.
perangkat lunak Berbasis objek teori if.perangkat lunak Berbasis objek teori if.
perangkat lunak Berbasis objek teori if.
ummi1206
 
Makalah tentang waterfall
Makalah tentang waterfallMakalah tentang waterfall
Makalah tentang waterfall
D. Syafa'atul Anbiya
 
Pert 3-5 Model Proses Rekayasa Perangkat.pptx
Pert 3-5 Model Proses Rekayasa Perangkat.pptxPert 3-5 Model Proses Rekayasa Perangkat.pptx
Pert 3-5 Model Proses Rekayasa Perangkat.pptx
merinovamarito7
 
Waterfall Process Model
Waterfall Process ModelWaterfall Process Model
Waterfall Process Model
Siska Amelia
 
Waterfall Model (ANSI)
Waterfall Model (ANSI)Waterfall Model (ANSI)
Waterfall Model (ANSI)
Fajar Sidiq 📶 📡
 
SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018
SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018
SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018
Afifah Luthfiah
 
Tugas sim, alfina rolitasari, yananto mihadi putra, implementasi sistem infor...
Tugas sim, alfina rolitasari, yananto mihadi putra, implementasi sistem infor...Tugas sim, alfina rolitasari, yananto mihadi putra, implementasi sistem infor...
Tugas sim, alfina rolitasari, yananto mihadi putra, implementasi sistem infor...
AlfinaRltsr
 
Kualitas Source Code.pptx
Kualitas Source Code.pptxKualitas Source Code.pptx
Kualitas Source Code.pptx
michellealexandria3
 
System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
MErsam1
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
mistertugas
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
mistertugas
 
Perancangan perangkat lunak
Perancangan perangkat lunakPerancangan perangkat lunak
Perancangan perangkat lunak
Sahrul Sindriana
 

Similar to KONSEP DAN PENERAPAN MODEL-MODEL PROSES PEMBANGUNAN PERANGKAT LUNAK (20)

Tugas (isfan fajar satria)1111504146
Tugas (isfan fajar satria)1111504146Tugas (isfan fajar satria)1111504146
Tugas (isfan fajar satria)1111504146
 
Pemodelan perangkat lunak XI_ Pertemuan 2.pptx
Pemodelan perangkat lunak XI_ Pertemuan 2.pptxPemodelan perangkat lunak XI_ Pertemuan 2.pptx
Pemodelan perangkat lunak XI_ Pertemuan 2.pptx
 
ppt prototyping Tgs iwank
ppt prototyping Tgs iwank ppt prototyping Tgs iwank
ppt prototyping Tgs iwank
 
Proses rekayasa perangkat lunak
Proses rekayasa perangkat lunakProses rekayasa perangkat lunak
Proses rekayasa perangkat lunak
 
kualitas source code dan pengujian program
kualitas source code dan pengujian programkualitas source code dan pengujian program
kualitas source code dan pengujian program
 
Kualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramKualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian Program
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
 
perangkat lunak Berbasis objek teori if.
perangkat lunak Berbasis objek teori if.perangkat lunak Berbasis objek teori if.
perangkat lunak Berbasis objek teori if.
 
Makalah tentang waterfall
Makalah tentang waterfallMakalah tentang waterfall
Makalah tentang waterfall
 
Pert 3-5 Model Proses Rekayasa Perangkat.pptx
Pert 3-5 Model Proses Rekayasa Perangkat.pptxPert 3-5 Model Proses Rekayasa Perangkat.pptx
Pert 3-5 Model Proses Rekayasa Perangkat.pptx
 
Waterfall Process Model
Waterfall Process ModelWaterfall Process Model
Waterfall Process Model
 
Waterfall Model (ANSI)
Waterfall Model (ANSI)Waterfall Model (ANSI)
Waterfall Model (ANSI)
 
SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018
SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018
SIM 9. Afifah Luthfiah, Hapzi Ali, Metode SDLC. Universitas Mercubuana, 2018
 
Tugas sim, alfina rolitasari, yananto mihadi putra, implementasi sistem infor...
Tugas sim, alfina rolitasari, yananto mihadi putra, implementasi sistem infor...Tugas sim, alfina rolitasari, yananto mihadi putra, implementasi sistem infor...
Tugas sim, alfina rolitasari, yananto mihadi putra, implementasi sistem infor...
 
Kualitas Source Code.pptx
Kualitas Source Code.pptxKualitas Source Code.pptx
Kualitas Source Code.pptx
 
System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
 
model waterfall
model waterfallmodel waterfall
model waterfall
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
 
Sistem informasi sdlc
Sistem informasi sdlcSistem informasi sdlc
Sistem informasi sdlc
 
Perancangan perangkat lunak
Perancangan perangkat lunakPerancangan perangkat lunak
Perancangan perangkat lunak
 

KONSEP DAN PENERAPAN MODEL-MODEL PROSES PEMBANGUNAN PERANGKAT LUNAK

  • 1. KONSEP DAN PENERAPAN MODEL-MODEL PROSES PEMBANGUNAN PERANGKAT LUNAK Fajrillah Dosen Kopertis Wilayah I dpk. STT Harapan dan Dosen Universitas Dharmawangsa Abstrak Pemodelan dalam suatu proses pembangunan perangkat lunak merupakan suatu hal yang dilakukan di tahapan awal. Dalam proses pembangunan perangkat lunak sebenarnya masih memungkinkan tanpa pembuatan model proses pembangunan perangkat lunak. Hal itu tidak dapat lagi dilakukan dalam suatu industri rekayasa perangkat lunak. Pemodelan dalam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal dari proses pembangunan perangkat lunak, dan pemodelan ini akan mempengaruhi perkerjaan-pekerjaan dalam proses pembangunan perangkat lunak tersebut. Kata Kunci: model-model proses, industri, pembangunan, perangkat lunak PENDAHULUAN Di dalam suatu industri dikenal berbagai macam model proses, demikian juga halnya dengan industri perangkat lunak. Perbedaan proses yang digunakan akan menguraikan kegiatan-kegiatan proses dalam cara-cara yang berlainan. Perusahaan yang berbeda menggunakan model proses yang berbeda untuk menghasilkan produk yang sama. Tipe produk yang berbeda mungkin dihasilkan oleh sebuah perusahaan dengan menggunakan model proses yang berbeda. Namun beberapa proses lebih 1
  • 2. cocok dari lainnya untuk beberapa tipe aplikasi. Jika proses yang salah digunakan akan mengurangi kualitas kegunaan produk yang dikembangkan. Karena banyaknya variasi dalam model proses yang digunakan maka tidak mungkin menghasilkan gambaran-gambaran yang reliabel untuk alokasi biaya dalam kegiatan-kegiatan ini. Modifikasi perangkat lunak biasanya lebih dari 60 % dari total biaya pembuatan perangkat lunak. Persentasi ini terus bertambah karena lebih banyak perangkat lunak dihasilkan dan dipelihara. Pembangunan perangkat lunak untuk suata perubahan adalah penting. Proses perangkat lunak komplek dan melibatkan banyak kegiatan-kegiatan. Seperti produk, proses juga memiliki atribut dan karakteristik seperti : Understandability, yaitu sejauh mana proses secara eksplisit ditentukan dan bagaimana kemudahan definisi proses itu dimengerti. Visibility, apakah kegiatan-kegiatan proses mencapai titik akhir dalam hasil yang jelas sehingga kemajuan dari proses tersebut dapat terlihat nyata/jelas Supportability, yaitu sejauh mana kegiatan proses dapat didukung oleh CASE Acceptability, apakah proses yang telah ditentukan oleh sarjana komputer dapat diterima dan digunakan dan mampu bertanggung jawab selama pembangunan produk perangkat lunak Reliability, apakah proses didesain sedemikian 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 2
  • 3. Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara lengkap memenuhi spesifikasi. TINJAUAN TEORITIS Tidak mungkin untuk mengoptimalkan semua atribut proses secara serentak. Contohnya, jika pengembangan proses cepat dilakukan mungkin kita perlu mengurangi visibility proses karena pembuatan proses yang nyata berarti pembuatan dokumen secara teratur. Ini akan memperlambat proses. Model-model proses pembangunan perangkat lunak masih menjadi objek penelitian, tapi sekarang ada banyak model umum atau paradigma yang berbeda dari pengembangan perangkat lunak, antara lain : Pendekatan Waterfall Berisi rangkaian kegiatan proses seperti yang telah diuraikan diatas dan disajikan dalam proses yang terpisah, seperti spesifikasi kebutuhan, implementasi desain perangkat lunak, uji coba dst. Setelah setiap langkah didefinisikan, langkah tersebut di sign off dan pengembangan dilanjutkan pada langkah berikutnya. Pengembangan secara evolusioner Pendekatan ini interleaves aktivitas spesifikasi, pengembangan dan validasi. Sistem awal dengan cepat dikembangkan dari kastamer untuk memproduksi sistem yang memenuhi kebutuhan kastamer. Kemudian sistem disampaikan. Sistem itu mungkin diimplementasikan kembali dengan pendekatan yang lebih terstruktur untuk menghasilkan sistem yang kuat dan maintable. Transformasi formal Pendekatan ini berdasarkan pembuatan spesifikasi sistem formal secara matematik dan transformasi spesifikasi dengan menggunakan metode matematik atau 3
  • 4. dengan suatu program. Transformasi ini adalah correctnesspreserving ini berarti bahwa kita dapat yakin program yang dikembangkan sesuai dengan spesifikasi. Penggabungan sistem dengan menggunakan komponen-komponen yang dapat digunakan kembali. Teknik ini menganggap bagian-bagian dari sistem sudah ada. Proses pengembangan sistem lebih berfokus pada penggabungan bagian-bagian daripada pengembangan tiap bagian. Dua pertama dari pendekatan-pendekatan diatas yaitu waterfall dan pengembangan evolusioner, saat ini banyak digunakan dalam proses pembangunan perangkat lunak. Beberapa sistem sudah dibuat dengan menggunakan transformasi correctness preserving tapi ini masih menjadi penelitian selanjutnya. METODOLOGI PENELITIAN Metode penelitian yang digunakan yaitu metode penggunaan kembali konsep model-model proses pembangunan perangkat lunak yang penulis dapatkan dari tinjauan pustaka buku-buku rekayasa perangkat lunak, wawancara dengan peneliti sebelumnya dan praktisi. HASIL DAN PEMBAHASAN Metode penggunaan kembali (reuse) umum di jepang. Metode ini sekiranya akan diakui oleh Eropa dan Amerika Utara. Di US metode ini dimulai 1995 dengan anggaran 150 million dolars. Bagaimanapun juga reuse masih suatu penelitian, terlalu cepat untuk berkomentar tentang keefektifannya. 4
  • 5. Waterfall Model ini telah diperoleh dari proses engineering lainnya. Model ini menawarkan cara pembangunan perangkat lunak secara lebih nyata. Langkah-langkah yang penting dalam model ini adalah Penentuan dan analisis spesifikasi Jasa, kendala dan tujuan dihasilkan dari konsultasi dengan pengguna sistem. Kemudian semuanya itu dibuat dalam bentuk yang dapat dimengerti oleh user dan System Development/Programmer. Desain sistem dan perangkat lunak 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. Implementasi dan ujicoba unit Selama tahap ini desain perangkat lunak disadari sebagai sebuah program lengkap atau unit program. Uji unit termasuk pengujian bahwa setiap unit sesuai spesifikasi. Integrasi dan ujicoba sistem Unit program diintegrasikan dan diuji menjadi sistem yang lengkap untuk menyakinkan bahwa persyaratan perangkat lunak telah dipenuhi. Setelah ujicoba, sistem disampaikan ke kastamer Operasi dan pemeliharaan Normalnya, ini adalah phase yang terpanjang. Sistem dipasang dan digunakan. 5
  • 6. Pemeliharaan termasuk pembetulan kesalahan yang tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru ditemukan. Gambar 1. Model Waterfall Sumber : Ian Sommerville, [2001], “Software Engineering Sixth Edition”, Pearson Education Limited. Dalam prakteknya, setiap langkah sering tumpang tindih dan saling memberi informasi satu sama lain. Proses pembangunan perangkat lunak tidak linier dan sederhana tapi mengandung urutan iterasi dari kegiatan pengembangan. Selama di langkah terakhir, perangkat lunak telah digunakan. Kesalahan dan kelalaian dalam menentukan kebutuhan perangkat lunak original dapat diatasi. Sayangnya, model yang 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. 6
  • 7. Mungkin juga sistem terstruktur secara jelek yang sebenarnya merupakan masalah desain akan dibiarkan karena terkalahkan oleh trik implementasi. Masalah pendekatan waterfall adalah ketidakluwesan pembagian proyek ke dalam langkah yang nyata/jelas. Sistem yang disampaikan kadang-kadang tidak dapat digunakan sesuai keinginan kastamer. Namun demikian model waterfall mencerminkan kepraktisan engineering. Konsekuensinya, model proses perangkat lunak yang berdasarkan pada pendekatan ini digunakan dalam pengembangan sistem perangkat lunak dan hardware yang luas. Pengembangan Evolusioner Model ini berdasarkan pada ide pengembangan pada implementasi awal yang akan menghasilkan komentar pemakai sehingga dapat dilakukan perbaikan melalui banyak versi sampai sistem yang mencukupi dapat dikembangan. Selain memiliki kegiatan-kegiatan yang terpisah model ini memberikan feedback dengan cepat dan serentak. Terdapat 2 tipe pada model ini Pemrograman evolusioner Dimana tujuan proses adalah bekerjasama dengan kastamer untuk menghasilkan kebutuhan-kebutuhan dan menyampaikan sistem akhir kepada pemakai/kastamer. Pengembangan dimulai dengan bagian-bagian sistem yang dimengerti. Sistem dikembangkan melalui penambahan features sesuai yang diusulkan oleh kastamer. Pemodelan Dimana tujuan pengembangan evolusioner pada tipe ini adalah mengetahui kebutuhan-kebutuhan kastamer dan mengembangkan definisi kebutuhan yang lebih 7
  • 8. baik untuk sistem. Model yang difokuskan pada penelitian bagian-bagian kebutuhan kastamer yang kurang dimengerti. Pemrograman evolusioner penting, saat sulit untuk membuat spesifikasi sistem secara rinci. Beberapa orang mungkin setuju bahwa semua sistem masuk dalam tipe ini. Namun, pemrograman evolusioner banyak digunakan dalam pengembangan sistem AI (artificial intelligence) yang berusaha untuk menyamai kemampuan manusia. Kita tidak mungkin membuat spesifikasi yang rinci untuk perangkat lunak yang menyamai manusia karena kita tidak mengerti bagaimana setiap manusia menjalankan tugas-tugas mereka. Pendekatan evolusioner biasanya lebih efektif daripada pendekatan waterfall untuk hal pengembangan perangkat lunak yang harus dengan segera dapat memenuhi kebutuhan kastamer. Namun, dari segi teknik dan manajemen, model ini memiliki masalah mendasar yaitu: Proses tidak visibel. Manager-manager membutuhkan "deliverables" yang teratur untuk mengukur kemajuan. Jika sistem dikembangkan dengan cepat akan terjadi pemborosan pada pembuatan dokumen yang menggambarkan setiap versi sistem. Sistem-sistem biasanya kurang terstruktur Kecenderungan perubahan yang terus menerus akan mengurangi struktur dari perangkat lunak. Evolusi perangkat lunak terlihat sulit dan mahal. Ketrampilan khusus jarang dimiliki Tidak jelas batasan ketrampilan yang normal dalam rekayasa perangkat lunak yang mungkin dapat digunakan secara efektif dalam model pengembangan ini. Kebanyakan sistem yang dikembangkan melalui cara ini telah 8
  • 9. diimplementasikan oleh kelompok kecil yang memiliki ketrampilan yang tinggi dan motivasi yang kuat. Untuk memecahkan masalah-masalah tersebut, kadang-kadang tujuan dari pengembangan evolusioner adalah mengembangkan contoh sistem. Contoh ini digunakan untuk mengerti dan mevalidasikan spesifikasi sistem. Disinilah pengembangan evolusioner merupakan bagian dari model-model proses pembangunan perangkat lunak yang lebih luas. ( seperti model waterfall ). Karena masalah-masalah tersebut, sistem dengan skala besar biasanya tidak dikembangkan melalui cara ini. Pengembangan evolusioner lebih tepat untuk Pengembangan sistem yang relatif kecil. Masalah-masalah mengenai perubahan sistem yang ada dihindari dengan meimplementasi ulang sistem keseluruhan kapanpun perubahan yang signifikan diperlukan. Jika pemodelan digunakan, tidak terlalu mahal. Pengembangan sistem yang memiliki masa hidup yang relatif singkat. Disini, sistem dikembangkan untuk mendukung beberapa kegiatan yang dibatasi oleh waktu. Contohnya, sebuah sistem yang mungkin dikembangkan secara khusus untuk peluncuran produk baru. Pengembangan sistem atau bagian-bagian dari sistem yang besar dimana tidak memungkinkan untuk menyatakan spesifikasi secara rinci. Contohnya, sistem AI dan user interface. Spiral Boehm Model proses nyata waterfall yang berorientasi dokumen telah diambil sebagai standar umum oleh banyak staf ahli IT pemerintah dan pembuat perangkat lunak. Jadi, tidak mudah melupakan model tersebut walaupun masih terdapat masalah-masalah 9
  • 10. yang ditimbulkan dalam model tersebut. Kita membutuhkan sebuah proses yang lebih baik untuk manajemen yang dapat menggunakan semua model umum seperti yang telah kita bicarakan sebelumnya. Model perbaikan tersebut juga harus memenuhi kebutuhan-kebutuhan pembuat perangkat lunak. Pendekatan alternatif diusulkan oleh Boehm (1988). Boehm mengusulkan sebuah model yang secara eksplisit menjelaskan bahwa resiko yang disadari mungkin membentuk dasar model proses umum. Model Boehm berbentuk spiral. Setiap loop mewakili sebuah tahap dari proses perangkat lunak. Tidak ada tahap yang tetap dalam model ini. Manajemen harus memutuskan bagaimana membentuk proyek kedalam tahap-tahap. Perusahaan biasanya bekerja dengan beberapa model umum dengan tahap tambahan untuk proyek khusus atau ketika masalah-masalah ditemukan selama pembuatan proyek. Setiap loop dibagi dalam 4 sektor Pembuatan tujuan Tujuan, hambatan dalam proses ataupun produk serta resiko-resiko proyek ditentukan. Rencan rinci manajemen juga ditulis lengkap. Pembuatan strategi-strategi alternatif direncanakan sesuai dengan resiko yang ada. Perkiraan dan pengurangan resiko Untuk setiap resiko yang telah diidentifikasi, akan dibuat analisis rincinya. Kemudian diambil langkah-langkah untuk mengurangi resiko. contohnya, jika ada resiko bahwa persyaratan-persyaratan tidak tepat maka sebuah model contoh mungkin dapat dikembangkan. 10
  • 11. Pengembangan dan validasi Setelah evaluasi resiko, sebuah model pengembangan untuk sistem dipilih. Misalnya, jika resiko interface pengguna yang dominan maka model pengembangan yang tepat mungkin pengembangan evolusioner dengan menggunakan model contoh (prototipe) Jika resiko keselamatan yang diutamakan, model pengembangan yang sesuai adalah transformasi formal dan seterusnya. Model waterfall mungkin tepat digunakan jika resiko yang diutamakan adalah integrasi sistem. Perencanaan Jika diputuskan untuk melanjutkan pada loop spiral berikutnya maka proyek dibicarakan kembali dan rencana dibuat untuk tahap selanjutnya. Tidak perlu untuk menggunakan satu model tunggal pada setiap loop spiral bahkan dalam keseluruhan sistem perangkat lunak. Model spiral encompasses model lainnya. Pemodelan digunakan pada salah satu spiral untuk memecahkan masalah kebutuhan. Kemudian dapat diikuti oleh model konvensional, waterfall. Transformasi formal digunakan untuk mengembangkan bagian-bagian sistem yang memiliki persyaratan keselamatan yang tinggi dan pendekatan reuse digunakan untuk pengimplementasian bagian-bagian lain dari sistem data manajemen. Pada implementasinya, model spiral ini juga banyak digunakan, tetapi biasanya dikombinasikan dengan model yang lain. Pemodelan waterfall, yang sangat bagus dalam menentukan millestones dan pemodelan spiral, yang sangat bagus dengan menggunakan prototyping, merupakan kombinasi yang sering dipakai di dalam kontrak-kontrak untuk pembangunan perangkat lunak sekarang ini. 11
  • 12. Manajemen Resiko erbedaan yang mendasar antara model spiral dengan model lainnya adalah bahwa model spiral dengan eksplisit menyadari resiko-resiko yang ada. Resiko adalah konsep yang sulit didefinisikan secara tepat. Secara informal resiko adalah sesuatu yang sederhana yang dapat menyebabkan kesalahan. Contohnya, jika bertujuan menggunakan pemrograman bahasa baru (new programming language), resiko yang mungkin adalah alat pengumpul yang digunakan tidak reliabel dan tidak menghasilkan code objek yang efesien. Resiko adalah sebagai hasil ketidakcukupan informasi. Resiko tersebut dapat dipecahkan dengan pengenalan beberapa kegiatan yang dapat menutupi informasi yang kurang menyakinkan. Dalam contoh diatas, resiko mungkin dapat diatasi dengan survey pasar untuk menemukan alat pengumpul mana yang dapat digunakan dan bagaimana kebaikan alat tersebut. Jika sistem ternyata tidak sesuai maka keputusan untuk menggunakan bahasa baru harus diubah. Siklus spiral dimulai dengan penguraian tujuan-tujuan seperti performance, kegunaan, dan seterusnya. Cara alternatif dalam pencapaian tujuan dan hambatan dipergunakan dengan sebaik-baiknya kemudian diperhitungkan. Setiap alternatif diperhitungan bertentangan dengan tujuan. Ini biasanya menghasilkan identifikasi sumber resiko proyek. Langkah selanjutnya adalah mengevaluasi resiko-resiko ini dengan aktivitas seperti analisis yang lebih detail, pembuatan model, simulasi dan seterusnya. Untuk menggunakan model spiral, Boehm menyarankan sebuah bentuk umum yang dipenuhi dalam setiap daerah spiral. Bentuk ini mungkin dilengkapi pada sebuah level abtrak atau perkiraan rinci yang imbang dari pengembangan produk. 12
  • 13. KESIMPULAN Berdasarkan hasil penelitian dan pembahasan yang telah dilakukan sebagai berikut : Model proses pembangunan perangkat lunak merupakan serangkaian kegiatan dan hasil yang berhubungan dengan produk perangkat lunak. Konsep model proses pembangunan perangkat lunak banyak dan rumit, semua bergantung pada penilaian dan kreatifitas manusia dalam hal penerapannya. Tidak ada model proses pembangunan perangkat lunak yang ideal, dan tiap perusahaan berbeda dalam penerapan model proses pembangunan perangkat lunak untuk menghasilkan produk perangkat lunak yang sama sekalipun. Walaupun banyak model proses pembangunan perangkat lunak, hal yang mendasar dalam kegiatan pembangunan perangkat lunak harus dilakukan seperti Spesifikasi, Perancangan, Implementasi, Validasi dan Evolusi. DAFTAR PUSTAKA Bandinelli, S. Et Al., 1995, “Modeling and Improving an Industrial Software Process”, IEEE Tranx, Sofware Engineering, Vol. 21, No. 5, Hal 440-454. Barbee Teasley Mynatt., 1990, ”Software Engineering with Student Project Guidance”,Prentice Hall Int. Boehm, B., 1988, “ A Spiral Model for Software Development and Enhancement”, Computer, Vol. 21, No. 5, Hal. 61-72. David, A., and P. Sitaram, 1994, “A Concurrent Process Model for Software Development”,Software Engineering Notes, ACM Press, Vol. 19, No. 2, Hal 38-51. Ian Sommerville., 2001, “Software Engineering Sixth Edition”, Pearson Education 13
  • 14. Limited. Kellner, M., 1991, “Software Process Modelling Support for Management Planning and Control”, Proc. 1st Intl. Conf. On the Software Process, IEEE Computer Socienty Press, Hal. 8-28. Martin, J., 1994, “Rapid Application Development”, Prentice-Hall. Racoon, L.B.S., 1995, ”The Chaos Model and The Chaos Life Cycle”, ACM Software Engineering Notes, Vol. 20, No. 1, Hal. 55-66. Roger S. Pressman., 1997, “Software Engineering, and A Practitioner's Approach Fourth Edition”, McGraw Hill. Roger S. Pressman., 1998, “Software Engineering, A Beginner's Guide”, McGraw Hill. Yourdon, E., 1994, “Software Reuse”, Application Development Strategies, Vol. VI, No. 12, Hal. 1- 16. 14