Apa yang dimaksud dengan proses proses

1. Apa yang dimaksud dengan proses-proses perangkat lunak?
Jawaban:
Proses perangkat lunak (Software process) adalah suatu struktur yang diterapkan pada
pengembangan suatu produk perangkat lunak yang bertujuan untuk mengembangkan sistem
dan memberikan panduan yang bertujuan untuk menyukseskan proyek pengembangan
sistem melalui tahap demi tahap.
2. Apa saja aktivitas-aktivitas yang paling mendasar dalam setiap proses perangkat lunak?
Jawaban:
Serangkaian kegiatan dan hasil-hasil relevannya yang menghasilkan perangkat lunak
sebagian besar dilakukan oleh perekayasa perangkat lunak. Ada 4 kegiatan/aktivitas pada
proses PL :
• Spesifikikasi Perangkat Lunak Fungsionalitas perangkat lunak dan batasan
kemampuan operasinya harus didefinisikan.
• Pengembangan Perangkat Lunak Perangkat lunak yang memenuhi spesifikasi harus
di produksi.
• Validasi Perangkat Lunak Perangkat lunak harus divalidasi untuk menjamin bahwa
perangkat lunak melakukan apa yang diinginkan oleh pelanggan.
• Evolusi Perangkat Lunak Perangkat lunak harus berkembang untuk memenuhi
kebutuhan pelanggan
3. Bagaimana proses Rekayasa Perangkat Lunak dimodelkan dan bagaimana pola prosesnya?
Jawaban:

Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu
proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada
model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC)
seperti terlihat pada Gambar berikut ini.

Gambar . System Development Life Cycle (SDLC).



Kebutuhan terhadap definisi masalah yang jelas.

Input utama dari setiap model

pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin jelas
akan semakin baik karena akan memudahkan dalam penyelesaian masalah. Oleh karena itu

pemahaman masalah seperti dijelaskan pada Bab 1, merupakan bagian penting dari model
pengembangan perangkat lunak.



Tahapan-tahapan pengembangan yang teratur.

Meskipun model-model pengembangan

perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut
mengikuti pola umum analysis – design – coding – testing – maintenance


Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan.
Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna, pemilik, pengembang,
pemrogram dan orang-orang yang terlibat dalam rekayasa perangkat lunak tersebut.



Dokumentasi

merupakan

bagian


penting

dari

pengembangan

perangkat

lunak.

Masing-masing tahapan dalam model biasanya menghasilkan sejumlah tulisan, diagram,
gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan bagian tak
terpisahkan dari perangkat lunak yang dihasilkan.


Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis. Nilai dari
sebuah perangkat lunak sebenarnya agak susah di-rupiah-kan. Namun efek dari penggunaan
perangkat lunak yang telah dikembangkan haruslah memberi nilai tambah bagi organisasi.
Hal ini dapat berupa penurunan biaya operasi,


efisiensi penggunaan sumberdaya,

peningkatan keuntungan organisasi, peningkatan “image” organisasi dan lain-lain.
4. Apa itu model proses dan apa kelebihan dan kekurangannya?
Jawaban:
Model proses adalah model yang memfokuskan pada seluruh proses di dalam sistem yang
mentransformasikan data menjadi informasi (Harris, 2003).

Model proses juga

menunjukkan aliran data yang masuk dan keluar pada suatu proses. Biasanya model ini
digambarkan dalam bentuk Diagram Arus Data (Data Flow Diagram / DFD).

DFD

meyajikan

untuk

gambaran


apa

yang

manusia,

proses

dan

prosedur

lakukan

mentransformasi data menjadi informasi.
A. Linear Sequential Model
Linear sequential model (atau disebut juga “classic life cycle” atau “waterfall model”)
adalah metode pengembangan perangkat lunak dengan pendekatan sekuensial dengan
cakupan aktivitas :

◦ Rekayasa sistem dan Analisis (Sistem Engineering and Analysis) Karena perangkat
lunak adalah bagian dari sistem yang lebih besar, pekerjaan dimulai dari
pembentukan kebutuhan-kebutuhan untuk seluruh elemen sistem dan kemudian
memilah mana yang untuk pengembangan perangkat lunak. Hal ini penting, ketika
perangkat lunak harus berkomunikasi dengan hardware, orang dan basis data
◦ Analisis

kebutuhan

perangkat

lunak

(Software

Requirements

Analysis)

Pengumpulan kebutuhan dengan fokus pada perangkat lunak, yang meliputi :

Domain informasi, fungsi yang dibutuhkan, unjuk kerja/performansi dan antarmuka.
Hasilnya harus didokumentasi dan direview ke pelanggan
◦ Perancangan (Design)
Ada 4 atribut untuk program yaitu : Struktur Data, Arsitektur perangkat lunak,
Prosedur detil dan Karakteristik Antarmuka. Proses desain mengubah kebutuhankebutuhan menjadi bentuk karakteristik yang dimengerti perangkat lunak sebelum
Modul Rekayasa Perangkat Lunak Halaman 8 dari 64 dimulai penulisan program.
Desain ini harus terdokumentasi dengan baik dan menjadi bagian konfigurasi
perangkat lunak.
◦ Pembuatan kode (Coding)
Penterjemahan perancangan ke bentuk yang dapat dimengerti oleh mesin, dengan
menggunakan bahasa pemrograman
◦ Pengujian (Testing) Setelah kode program selesai testing dapat dilakukan. Testing
memfokuskan pada logika internal dari perangkat lunak, fungsi eksternal dan
mencari segala kemungkinan kesalahan dan memriksa apakah sesuai dengan hasil
yang diinginkan.
◦ Pemeliharaan

(Maintenance) Merupakan

bagian


paling

akhir

dari

siklus

pengembangan dan dilakukan setelah perangkat lunak dipergunakan. Kegiatan :
➢ Corrective Maintenance : Mengoreksi kesalahan pada perangkat lunak, yang
baru terdeteksi pada saat perangkat lunak dipergunakan.
➢ daptive Maintenance : Penyesuaian dengan lingkungan baru, misalnya sistem
operasi atau sebagai tuntutan atas perkembangan sistem komputer, misalnya
penambahan printer driver.
➢ Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan oleh
pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya seperti
memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.
Kelemahan model linear sequential:
▪ Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga

perubahan yang terjadi dapat menyebabkan hasil yang sudah didapat tim harus diubah
kembali/iterasi sering menyebabkan masalah baru.
▪ Linear sequential model mengharuskan semua kebutuhan pemakai sudah dinyatakan
secara eksplisit di awal proses, tetapi kadang-kadang ini tidak dapat terlaksana karena
kesulitan yang dialami pemakai saat akan mengungkapkan semua kebutuhannya

tersebut.
▪ Pemakai harus bersabar karena versi dari program tidak akan didapat sampai akhir
rentang waktu proyek.
▪ Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim
proyek lainnya menuntaskan pekerjaannya.

B. Prototyping Model
Pendekatan prototyping model digunakan jika pemakai hanya mendefenisikan objektif
umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya,
sementara pengembang tidak begitu yakin akan efesiensi algoritma, adaptasi sistem operasi,
atau bentuk antarmuka manusia-mesin yang harus diambil. Cakupan aktivitas dari
prototyping model terdiri dari :
▪ Mendefinisikan objektif secara keseluruhan dan mengidentifikasi kebutuhan yang
sudah diketahui.

▪ Melakukan perancangan secara cepat sebagai dasar untuk membuat prototype. Modul
Rekayasa Perangkat Lunak Halaman 9 dari 643. Menguji coba dan mengevaluasi
prototype dan kemudian melakukan penambahan dan perbaikan-perbaikan terhadap
prototype yang sudah dibuat.
Kelemahan prototyping model :
▪ Pelanggan yang melihat working version dari model yang dimintanya tidak
menyadari, bahwa mungkin saja prototype dibuat terburu-buru dan rancangan tidak
tersusun dengan baik
▪ Pengembang kadang-kadang membuat implementasi sembarang, karena ingin
working version bekerja dengan cepat
C. RAD (Rapid Application Development) Model
Merupakan model proses pengembangan perangkat lunak secara linear sequential yang
menekankan pada siklus pengembangan yang sangat singkat. Jika kebutuhan dipahami
dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem
fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60-90 hari).
Pendekatan RAD model menekankan cakupan :
▪ Pemodelan bisnis (Bussiness Modelling) Aliran informasi diantara fungsi-fungsi
bisnis dimodelkan dengan suatu cara untuk menjawab pertanyaan-pertanyaan
berikut : Informasi apa yang mengendalikan proses bisnis ? Kemana informasi itu
pergi? Siapa yang memprosesnya ?

▪ Pemodelan data (Data Modelling) Aliran informasi yang didefinisikan sebagai bagian

dari fase pemodelan bisnis disaring ke dalam serangkaian objek data yang dibutuhkan
untuk menopang bisnis tersebut. Karakteristik/atribut dari masing-masing objek
diidentifikasi dan hubungan antara objek-objek tersebut didefinisikan.
▪ Pemodelan proses (Process Modelling) Aliran informasi yang didefinisikan dalam
fase pemodelan data ditransformasikan untuk mencapai aliran informasi yang perlu
bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk
menambah, memodifikasi, menghapus atau mendapatkan kembali sebuah objek data.
▪ Pembuatan aplikasi (Application generation) Selain menciftakan perangkat lunak
dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional, RAD
lebih banyak memproses kerja untuk memakai lagi komponen program yang telah ada
atau menciftakan komponen yang bias dipakai lagi. Pada semua kasus, alat-alat Bantu
otomatis dipakai untuk memfasilitasi kontruksi perangkat lunak.
▪ Pengujian dan pergantian (Testing and turnover) Karena proses RAD menekankan
pada pemakaian kembali, banyak komponen yang telah diuji. Hal ini mengurangi
keseluruhan waktu pengujian. Tapi komponen baru harus diuji.
Kelemahan RAD model :
▪ Untuk proyek dengan skala besar, RAD membutuhkan sumber daya manusia yang
cukup untuk membentuk sejumlah tim RAD.
▪ RAD membutuhkan pengembang dan pemakai yang mempunyai komitmen untuk
melaksanakan aktivitas melengkapi sistem dalam kerangka waktu yang singkat.
Modul Rekayasa Perangkat Lunak Halaman 10 dari 643. Akan menimbulkan masalah
jika sistem tidak dapat dibuat secara modular. RAD tidak cocok digunakan untuk
sistem yang mempunyai resiko teknik yang tinggi.
D. Spiral Model
Merupakan model proses perangkat lunak yang memadukan wujud pengulangan dari model
prototyping dengan aspek pengendalian dan sistematika dari linear sequential model, dengan
penambahan elemen baru yaitu analisis resiko. Model ini memiliki 4 aktivitas penting,
yaitu :
▪ Perencanaan (Planning), penentuan tujuan, alternatif dan batasan
▪ Analisis resiko (Risk Analysis), analisis alternatif dan identifikasi/pemecahan resiko
▪ Rekayasa (Engineering), pengembangan level berikutnya dari produk Evaluasi
Pemakai (Customer Evaluation) penilaian terhadap hasil rekayasa. Bentuk spiral
memberikan gambaran bahwa semakin besar iterasinya, maka menunjukkan makin
lengkap versi dari perangkat lunak yang dibuat. Selama awal sirkuit, objektif,
alternatif dan batasan didefinisikan serta resiko diidentifikasikan dan dianalisa. Jika

resiko menunjukkan ada ketidakpastian terhadap kebutuhan, maka prototyping harus
dibuat pada kuadran rekayasa. Simulasi dan pemodelan lain dapat digunakan untuk
mendefinisikan masalah dan memperbaiki kebutuhan. Pelanggan mengevaluasi hasil
rekayasa (kuadran evaluasi pelanggan) dan membuat usulan untuk perbaikan.
Berdasarkan masukan dari pelanggan, fase berikutnya adalah perencanaan dan
analisis resiko. Setelah analisis resiko selalu diperiksa apakah proyek diteruskan atau
tidak, jika resiko terlalu besar, maka proyek dapat dihentikan. Model spiral ini adalah
pendekatan yang paling realistic untuk sistem sekala besar. Metode ini menggunakan
pendekatan evolusioner, sehingga pelanggan dan pengembang dapat mengerti dan
bereaksi terhadap suatu resiko yang mungkin terjadi
Kelemahan spiral model :
▪ Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan
ini akan dapat dikendalikan.
▪ Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya
supaya sukses.
▪ Belum terbukti apakah metode ini cukup efisien karena usianya relatif baru.
E. Fourth Generation Techniques (4GT)
Istilah generasi ke empat, mengarah ke perangkat lunak yang umum yaitu tiap pengembang
perangkat lunak menentukan beberapa karakteristik perangkat lunak pada level tinggi. Saat ini
pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool berikut :
• Bahasa non prosedural untuk query basis data
• Report generation
• Data manipulation
• Interaksi layar
• Kemampuan grafik level tinggi
• Kemampuan spreadsheet
Salah satu keuntungan penggunaan model 4GT adalah pengurangan waktu dan peningkatan
produktivitas secara besar, sementara kekurangannya terletak pada kesulitan penggunaan
perangkat bantu (tools) dibandingkan dengan bahsa pemrograman, dan juga kode sumber yang
dihasilkannya tidak efisien. Untuk aplikasi yang yang kecil, adalah mungkin untuk langsung
berpindah daripengumpulan kebutuhan ke implementasi dengan menggunakan 4GL. Tapi untuk
aplikasi yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan
4GL. Penggunaan 4GT tanpa perencanaan yang matang (untuk proyek skala besar) akan
meyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan
pelanggan) seperti dengan metode konvensional.

5. Mengapa kecepatan proses (agility) pada Rekayasa Perangkat Lunak modern merupakan
kata kunci yang sangat penting?
Jawaban:
Menyinggung masalah Agile, terdapat suatu istilah yang disebut dengan Agility. Apa sih
yang dimaksud Agility itu ? Menurut Ivar Jacobson, agility mengandung pengertian bahwa
perubahan (change) merupakan "hati" dan "jiwa" dari perangkat lunak. Maksudnya adalah,
bahwa perubahan terhadap requirements pelanggan, silih bergantinya anggota tim, dan
perubahan kebutuhan teknologi yang berimplikasi terhadap produk yang dihasilkan
merupakan suatu hal yang sangat wajar terjadi. Hampir semua proyek pengambangan
perangkat lunak pasti mengalami hal tersebut. Sedangkan menurut Goldman et al, agility
merupakan sesuatu yang dinamis, mempunyai kontent yang spesifik, menaggapi perubahan
secara agresif, dan beroriantasi pada pertumbuhan.

Dari definisi menurut Ivar Jacobson dan Goldman et al, di atas dapat ditarik kesimpulan
bahwa Agility merupakan suatu kemampuan atau "jiwa" yang harus dimiliki oleh tim
pengambangan perangkat lunak. Kemampuan tersebut antara lain berupa: kemampuan
segera menindaklanjuti terjadinya perubahan secara efektif; kemampuan berkomunikasi
antar stakeholders secara efektif; menganggap bahwa pelanggan merupakan pihak yang
berada di dalam tim yang sama; kemampuan mengorganisasikan tim (memberikan motivasi)
agar mampu meningkatkan performa kinerja tim; secara tepat waktu dan berkesinambungan
dapat men-deliver perangkat lunak yang telah dijadwalkan.

Setelah membahas mengenai Agile dan Agility, kemudian apa sih yang dimaksud dengan
istilah Agile Process itu ? Agile Process merupakan sekelompok aktifitas pembangunan
perangkat lunak secara iteratif yang menekankan pada aktifitas konstruksi (desain dan
koding). Agile Process mengeliminasi sebagian besar waktu untuk melakukan perencanaan
sistem dan berusaha sebisa mungkin mematuhi jadwal deliver sistem yang telah dijanjikan.
Requirements yang dibutuhkan secara langsung di-drive oleh pelanggan itu sendiri, dan
apabila terjadi perubahan terhadap requirements tersebut, pengembang dituntut mampu
beradaptasi dengan perubahan yang terjadi.
Tim yang agile harus memiliki sifat-sifat sebagai berikut: Pertama, dari segi
kompetensi, anggota tim harus mempunyai bakat dan keterampilan yang berhubungan
dengan pengembangan perangkat lunak di bidangnya masing-masing, terutama yang
berkaitan dengan konstruksi perangkat lunak (desain dan pemrograman). Kedua, dari segi
fokus perhatian, anggota tim harus berkonsentrasi pada ketepatan deliver produk yang telah

dijanjikan dan dilakukan secara bertahap. Ketiga, dari segi kolaborasi, anggota tim harus
mampu saling bekerjasama, baik itu dengan pelanggan maupun dengan manajer bisnis-nya.
Keempat, dari segi kemampuan dalam berdiskusi, anggota tim senantiasa mendiskusikan
isu-isu yang terjadi (apabila terjadi masalah, sesegera mungkin didiskusikan). Kelima, dari
segi kemampuan menyelesaikan masalah, anggota tim harus terbiasa dengan ambiguitas dan
mencari solusi yang tepat. Keenam, harus terjalin rasa saling percaya. Ketujuh, dari segi
kesadaran keorganisasian, seorang anggota tim harus mampu bekerja dengan giat demi
selesainya tugas sesuai dengan jadwal yang dialokasikan.

6. Apa yang di maksud dengan proses Rekayasa Perangkat Lunak yang cepat dan bagimana
proses Rekayasa Perangkat Lunak yang cepat ini berbeda dengan model proses trasisional
yang lebih dahulu ada?
Jawaban:
Requirement yang berubah dengan cepat menuntut lifecycles yang lebih pendek, dan
tidak selaras dengan metoda pengembangan tradisional, yang pada umumnya memerlukan
disain luas di awal dan mengakibatkan perubahan desain yang terjadi kemudian memerlukan
biaya yang lebih tinggi atau kehilangan milestones.
Berdasarkan hal ini kemudian dilahirkan konsep XP yang digagas oleh Kent Beck
dan Ward Cunningham pada Maret 1996. Metode XP merupakan yang terpopuler dari
beberapa metodologi pengembangan software yang dipakai untuk mengimplementasikan
proyek pengembangan perangkat lunak.
Extreme Programming (XP) merupakan salah satu metodologi dalam rekayasa
perangkat lunak dan juga merupakan satu dari beberapa agile software development
methodologies yang berfokus pada coding sebagai aktivitas utama di semua tahap pada
siklus pengembangan perangkat lunak (software development lifecycle). Metodologi ini
mengedepankan proses pengembangan yang lebih responsive terhadap kebutuhan customer
(”agile”) dibandingkan dengan metode-metode tradisional sambil membangun suatu
software dengan kualitas yang lebih baik.
Extreme

Programming

muncul

menawarkan

sebuah

disiplin

baru

dalam

pengembangan software secara agile. Nilai dasar yang terkandung di dalam Extreme
Programming adalah: Komunikasi (Communication), Kesederhanaan (Simplicity), Umpan
balik (Feedback) Keberanian (Courage) dan menghormati (Respect).

Referensi:
A.S Rosa,Shalahuddin.M.2009.”Modul Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi
Objek).Bandung:Modula Bandung.
Davor Gornik , IBM Rational Unified Process : Best Practices for Software Development Teams.
www.agilemodelling.com

Dokumen yang terkait

Analisis komparatif rasio finansial ditinjau dari aturan depkop dengan standar akuntansi Indonesia pada laporan keuanagn tahun 1999 pusat koperasi pegawai

15 355 84

Berburu dengan anjing terlatih_1

0 46 1

DAMPAK INVESTASI ASET TEKNOLOGI INFORMASI TERHADAP INOVASI DENGAN LINGKUNGAN INDUSTRI SEBAGAI VARIABEL PEMODERASI (Studi Empiris pada perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia (BEI) Tahun 2006-2012)

12 142 22

Hubungan antara Kondisi Psikologis dengan Hasil Belajar Bahasa Indonesia Kelas IX Kelompok Belajar Paket B Rukun Sentosa Kabupaten Lamongan Tahun Pelajaran 2012-2013

12 269 5

Analisa studi komparatif tentang penerapan traditional costing concept dengan activity based costing : studi kasus pada Rumah Sakit Prikasih

56 889 147

Analisis pengaruh modal inti, dana pihak ketiga (DPK), suku bunga SBI, nilai tukar rupiah (KURS) dan infalnsi terhadap pembiayaan yang disalurkan : studi kasus Bank Muamalat Indonesia

5 112 147

Upaya mengurangi kecemasan belajar matematika siswa dengan penerapan metode diskusi kelompok teknik tutor sebaya: sebuah studi penelitian tindakan di SMP Negeri 21 Tangerang

26 227 88

Analisis keterampilan proses sains siswa kelas XI pada pembelajaran titrasi asam basa menggunakan metode problem solving

21 184 159

Analisis faktor-faktor yang mempengaruhi penerapan manajemen mutu terpadu pada Galih Bakery,Ciledug,Tangerang,Banten

6 163 90

Preparasi dan Karaterisasi Nanopartikel Zink Pektinat Mengandung Diltiazem Hidroklorida dengan Metode Gelasi Ionik.

7 51 92