Anda di halaman 1dari 13

Nama

: Wandy
NIM
: 1307327
Dosen Pengampu
: Eddy Prasetyo Nugroho, MT.

Rekayasa Perangkat Lunak


A. Definisi Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak (RPL) merupakan ilmu di bidang


komputer yang khusus mempelajari tentang Perangkat Lunak atau
Software. Secara umum RPL dapat diartikan sebagai satu bidang
profesi/ilmu kekomputeran yang mendalami bagaimana cara-cara
pengembangan perangkat lunak termasuk pembuatan, pemeliharaan,
manajemen organisasi pengembangan dan manajemen kualitas dari
perangkat lunak tersebut.
RPL sering juga diartikan sebagai suatu disiplin ilmu yang
membahas semua aspek produksi perangkat lunak, mulai dari tahap
awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari
kebutuhan pengguna, disain, pengkodean, pengujian sampai
pemeliharaan sistem setelah digunakan.
Istilah Rekayasa Perangkat Lunak (RPL) secara umum disepakati
sebagai terjemahan dari istilah Software Engineering. Istilah Software
Engineering mulai dipopulerkan tahun 1968 pada Software
Engineering Conference yang diselenggarakan oleh NATO. Sebagian
orang mengartikan RPL hanya sebatas pada bagaimana membuat
program komputer. Padahal ada perbedaan yang mendasar antara
perangkat lunak (software) dan program komputer.
Ruang Lingkup RPL

Ruang lingkup RPL (Abran et.al., 2004).

Software
requirements
berhubungan
dengan
spesifikasi
kebutuhan dan persyaratan perangkat lunak.
Software design mencakup proses penentuan arsitektur,
komponen, antarmuka, dan karakteristik lain dari perangkat
lunak.
Software construction berhubungan dengan detil pengembangan
perangkat lunak, termasuk algoritma, pengkodean, pengujian,
dan pencarian kesalahan.
Software testing meliputi pengujian pada keseluruhan perilaku
perangkat lunak.
Software maintenance mencakup upaya-upaya perawatan ketika
perangkat lunak telah dioperasikan.
Software configuration management berhubungan dengan usaha
perubahan konfigurasi perangkat lunak untuk memenuhi
kebutuhan tertentu.
Software
engineering
management
berkaitan
dengan
pengelolaan dan pengukuran RPL, termasuk perencanaan proyek
perangkat lunak.
Software engineering tools and methods mencakup kajian teoritis
tentang alat bantu dan metode RPL.
Software engineering process berhubungan dengan definisi,
implementasi, pengukuran, pengelolaan, perubahan dan
perbaikan proses RPL.
Software quality menitikberatkan pada kualitas dan daur hidup
perangkat lunak.

B. Model Proses Dalam RPL


Terdapat berbagai model dalam proses pengembangan RPL,
namun pada umumnya semua model tersebut mengacu pada model
proses pengembangan system yang disebut System Development Life
Cycle (SDLC) dengan alur kerja seperti gambar dibawah ini :

Setiap model yang dikembangkan memiliki karakteristikkarakteristik yang berbeda, namun model-model tersebut memiliki
persamaan yaitu :
1.) Kebutuhan terhadap definisi masalah yang jelas.
2.) Tahapan-tahapan pengembangan yang teratur.
3.) Stakeholder berperan sangat penting dalam keseluruhan
tahapan pengembangan.
4.) Dokumentasi merupakan bagian penting dari pengembangan
perangkat lunak.
5.) Keluaran dari proses pengembangan perangkat lunak harus
bernilai ekonomis.
Adapun model-model pengembangan perangkat lunak adalah sebagai
berikut :

a.)

The Waterfall Model


The Waterfall Model atau Model Air Terjun adalah salah
satu model proses yang cukup dikenal dalam dunia Rekayasa
Perangkat Lunak. Mengapa disebut model air terjun, ini
dikarenakan diagram tahapan prosesnya mirip dengan air terjun
yang bertingkat. Model Air Terjun ini berdasar pada Model siklus
hidup (life cycle model) adalah model utama dan dasar dari
banyak model.

The Waterfall Model

Tahap investigasi dilakukan untuk menentukan apakah


terjadi suatu masalah atau adakah peluang suatu sistem
informasi dikembangkan. Pada tahapan ini studi kelayakan
perlu dilakukan untuk menentukan apakah sistem
informasi yang akan dikembangkan merupakan solusi yang
layak.
Tahap analisis bertujuan untuk mencari kebutuhan
pengguna dan organisasi serta menganalisa kondisi yang
ada (sebelum diterapkan sistem informasi yang baru).
Tahap disain bertujuan menentukan spesifikasi detil dari
komponen-komponen
sistem
informasi
(manusia,
hardware, software, network dan data) dan produk-produk
informasi yang sesuai dengan hasil tahap analisis.
Tahap
implementasi
merupakan
tahapan
untuk
mendapatkan atau mengembangkan hardware dan
software (pengkodean program), melakukan pengujian,
pelatihan dan perpindahan ke sistem baru.
Tahapan perawatan (maintenance) dilakukan ketika sistem
informasi sudah dioperasikan. Pada tahapan ini dilakukan
monitoring proses, evaluasi dan perubahan (perbaikan)
bila diperlukan.

Terdapat kekurangan dan kelebihan pada model ini, antara


lain :
Kelebihan
Bisa digunakan jika suatu persyaratan untuk
membuat suatu software sudah dipahami dengan
baik dan sudah lengkap semua persyaratan yang
ada.
Kekurangan
Terjadinya pembagian proyek menjadi tahap-tahap
yang tidak fleksibel, karena komitmen harus
dilakukan pada tahap awal proses.
Hal ini mengakibatkan sulitnya untuk merespon
perubahan kebutuhan pengguna (user).
Model air terjun harus digunakan hanya ketika
persyaratan dipahami dengan baik.

b.)

Prototyping Model
Prototyping adalah salah satu pendekatan dalam
rekayasa
perangkat
lunak
yang
secara
langsung
mendemonstrasikan bagaimana sebuah perangkat lunak atau
komponen-komponen perangkat lunak akan bekerja dalam
lingkungannya sebelum tahapan konstruksi aktual dilakukan

(Howard, 1997).
Klasifikasi prototyping model (Harris, 2003)

Reusable
prototype
: Prototype yang akan
ditransformasikan menjadi produk final.
Throwaway prototype : Prototype yang akan dibuang
begitu selesai menjalankan maksudnya.
Input/output prototype : Prototype yang terbatas
pada antar muka pengguna (user interface).
Processing prototype : Prototype yang meliputi
perawatan file dasar dan proses-proses transaksi.
System prototype : Prototype yang berupa model
lengkap dari perangkat lunak.

Tahap-tahap dalam prototyping boleh dikata merupakan


tahap-tahap yang dipercepat. Strategi utama dalam prototyping
adalah kerjakan yang mudah terlebih dahulu dan sampaikan
hasil kepada pengguna sesegera mungkin. Harris (2003)
membagi prototyping dalam enam tahapan sebagai berikut :

Tahapan-tahapan prototyping model (Harris, 2003)


Identifikasi kandidat prototyping. Kandidat dalam
kasus ini meliputi user interface (menu, dialog, input
dan output), file-file transaksi utama, dan fungsifungsi pemrosesan sederhana.
Rancang bangun prototype dengan bantuan software
seperti word processor, spreadsheet, database,
pengolah grafik, dan software CASE (Computer-Aided
System Engineering).
Uji prototype untuk memastikan prototype dapat
dengan mudah dijalankan untuk tujuan demonstrasi.
Siapkan prototype USD (Users System Diagram)
untuk mengidentifikasi bagian-bagian dari perangkat
lunak yang di-prototype-kan.
Evaluasi dengan pengguna untuk mengevaluasi
prototype dan melakukan perubahan jika diperlukan.
Transformasikan prototype menjadi perangkat lunak
yang
beroperasi
penuh
dengan
melakukan
penghilangan kode-kode yang tidak dibutuhkan,
penambahan
program-program
yang
memang
dibutuhkan dan perbaikan dan pengujian perangkat
lunak secara berulang.
Adapun Jenis-Jenis Prototyping sebagai berikut :
Feasibility prototyping digunakan untuk menguji
kelayakan dari teknologi yang akan digunakan untuk
system informasi yang akan disusun.
Requirement
prototyping
digunakan
untuk
mengetahui kebutuhan aktivitas bisnis user.
Desain Prototyping digunakan untuk mendorong
perancangan system informasi yang akan digunakan.
Implementation prototyping merupakan lanjutan dari
rancangan protipe, prototype ini langsung disusun
sebagai suatu system informasi yang akan
digunakan.
Adapun keunggulan
prototype:

dan

kelemahan

dalam

Keunggulan Prototyping:

User dapat berpartisipasi aktif


Penentuan kebutuhan lebih mudah diwujudkan

model

Mempersingkat waktu pengembangan SI

Kelemahan Prototyping :

c.)

Proses analisis dan perancangan terlalu singkat


Mengesampingkan alternatif pemecahan masalah
Bisanya kurang fleksible dalam mengahadapi
perubahan
Prototype yang dihasilkan tidak selamanya mudah
dirubah
Prototype terlalu cepat selesai

RAD Model
Rapid application development (RAD) atau rapid
prototyping adalah model proses pembangunan perangkat lunak
yang tergolong dalam teknik incremental (bertingkat). Model ini
hampir mirip dengan model Air Terjun namun siklus
pembangunannya lebih pendek, lebih singkat dan cepat. Untuk
metodenya itu sendiri menggunakan metode iteratif (berulang)
dalam mengembangkan sistem dimana working model (model
bekerja) sistem dikonstruksikan di awal tahap pengembangan
dengan tujuan menetapkan kebutuhan (requirement) user dan
selanjutnya disingkirkan.

Business
modelling
:
berfungsi
menjawab
pertanyaan-pertanyaan seperti informasi apa yang
mengendalikan proses bisnis? Informasi apa yang
dihasilkan? Siapa yang menghasilkan informasi?
Kemana informasi itu diberikan? Siapa yang
mengolah informasi?
Data modelling: aliran informasi yang sudah
didefinisikan, disusun menjadi sekumpulan objek
data. karakteristik/atribut dan hubungan antar objekobjek tersebut analisis kebutuhan dan data
Process Modelling : objek data yang sudah
didefinisikan diubah menjadi aliran informasi yang
diperlukan untukmenjalankan fungsi-fungsi bisnis.
Application
Generation:
RAD
menggunakan
component program yang sudah ada atau membuat
component yang bisa digunakan lagi, selama
diperlukan.
Testing
and
Turnover:
karena
menggunakan
component yang sudah ada, maka kebanyakan

component sudah melalui uji atau testing. Namun


component baru dan interface harus tetap diuji.
Kelemahan model RAD:
Sangat Tidak cocok untuk proyek skala besar
Proyek bisa gagal karena waktu yang disepakati tidak
dipenuhi
Kelebihan model RAD:
Lebih efektif dari pendekatan air terjun dalam
menghasilkan sistem yang memenuhi kebutuhan
langsung dari pelanggan.
Cocok untuk proyek yang memerlukan waktu yang
singkat

d.)

Spiral Model
Spiral model ini adalah salah satu dari model revolusioner,
model spiral merangkai sifat interatif yaitu sifat yang ditandai
yang memungkinkan untuk mengembangkan versi dari suatu
perangkat lunak secara bertahap untuk menghasilkan perangkat
lunak yang lebih lengkap atau lebih sempurna dan terkontrol.
Model ini cukup baru ditemukan, yaitu tahun 1988 oleh
Barry Boehm. Spiral adalah salah satu bentuk evolusi yang
menggunakan metode iterasi natural yang dimiliki oleh model
prototyping dan digabungkan dengan aspek sistematis yang
dikembangkan model waterfall

Customer communication. Aktivitas yang dibutuhkan


untuk membangun komunikasi yang efektif antara
developer dengan user / customer terutama mengenai
kebutuhan dari customer.
Planning. Aktivitas perencanaan ini dibutuhkan untuk
menentukan sumberdaya, perkiraan waktu pengerjaan,
dan
informasi
lainnya
yang
dibutuhkan
untuk
pengembangan software.
Analysis risk. Aktivitas analisis resiko ini dijalankan untuk
menganalisis baik resiko secara teknikal maupun secara
manajerial. Tahap inilah yang mungkin tidak ada pada
model proses yang juga menggunakan metode iterasi,
tetapi hanya dilakukan pada spiral model.
Engineering.
Aktivitas
yang
dibutuhkan
untuk
membangun 1 atau lebih representasi dari aplikasi secara
teknikal.
Construction & Release. Aktivitas yang dibutuhkan untuk
develop software, testing, instalasi dan penyediaan user /
costumer support seperti training penggunaan software
serta dokumentasi seperti buku manual penggunaan
software.
Customer evaluation. Aktivitas yang dibutuhkan untuk
mendapatkan feedback dari user / customer berdasarkan

evaluasi mereka selama representasi software pada tahap


engineering maupun pada implementasi selama instalasi
software pada tahap construction and release.
Kelebihan model Spiral :
Dapat disesuaikan agar perangkat lunak bisa dipakai
selama hidup perangkat lunak komputer.
Lebih cocok untuk pengembangan sistem dan perangkat
lunak skala besar
Pengembang dan pemakai dapat lebih mudah memahami
dan bereaksi terhadap resiko setiap tingkat evolusi karena
perangkat lunak terus bekerja selama proses .
Kelemahan model Spiral :
Sulit untuk menyakinkan pelanggan bahwa pendekatan
evolusioner ini bisa dikontrol.
Memerlukan penaksiran resiko yang masuk akal dan akan
menjadi masalah yang serius jika resiko mayor tidak
ditemukan dan diatur.
Butuh waktu lama untuk menerapkan paradigma ini
menuju kepastian yang absolute

Anda mungkin juga menyukai