MAKALAH
REKAYASA
PERANGKAT LUNAK
Disusun oleh :
SLAMET ARDIANSYAH
NIM : 2113R0680
STMIK HIMSYA SEMARANG
2016
BAB 1
PENDAHULUAN
A. Pengertian Rekayasa Perangkat Lunak
Istilah Rekayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari istilah Software Engineering. Istilah Software Engineering
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.
Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat
lunak dapat berupa program atau prosedur. Program adalah kumpulan perintah yang dimengerti
oleh komputer sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses
informasi (O’Brien, 1999). Pengertian RPL sendiri adalah sebagai
berikut:
Suatu di siplin 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 memelihara system setelah di gunakan
Jelaslah bahwa RPL tidak hanya berhubungan dengan cara pembuatan
program komputer. Pernyataan “semua aspek produksi” pada pengertian
di atas, mempunyai arti semua hal yang berhubungan dengan proses produksi seperti
manajemen proyek, penentuan personil, anggaran biaya,
metode, jadwal, kualitas sampai
dengan pelatihan pengguna
merupakan bagian dari RPL.
B. Tujuan
Rekayasa Perangkat Lunak
Secara umum tujuan RPL tidak berbeda dengan bidang rekayasa yang
lain. Mari kita perhatikan Gambar
1. berikut ini.
Kinerja
Biaya Waktu
Gambar 1. Tujuan RPL
Dari Gambar 1 dapat
diartikan
bahwa bidang rekayasa akan selalu
berusaha menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu
penyelesaian yang tepat.
Secara lebih khusus kita dapat menyatakan tujuan RPL adalah :
a.
Memperoleh biaya produksi
perangkat lunak yang rendah.
b. Menghasilkan perangkat
lunak yang kinerjanya tinggi, andal dan tepat
waktu
c.
Menghasilkan perangkat
lunak yang dapat bekerja pada berbagai jenis
Platform.
d.
Menghasilkan perangkat lunak yang biaya
perawatannya rendah.
C. Ruang Lingkup Rekayasa Perangkat Lunak
Sesuai definisi yang telah disampaikan sebelumnya, maka ruang lingkup
RPL dapat digambarkan sebagai berikut.
Gambar 2![](file:///C:/Users/masdaB/AppData/Local/Temp/msohtmlclip1/01/clip_image007.gif)
![](file:///C:/Users/masdaB/AppData/Local/Temp/msohtmlclip1/01/clip_image008.gif)
![](file:///C:/Users/masdaB/AppData/Local/Temp/msohtmlclip1/01/clip_image009.gif)
![](file:///C:/Users/masdaB/AppData/Local/Temp/msohtmlclip1/01/clip_image010.gif)
![](file:///C:/Users/masdaB/AppData/Local/Temp/msohtmlclip1/01/clip_image011.gif)
![](file:///C:/Users/masdaB/AppData/Local/Temp/msohtmlclip1/01/clip_image012.gif)
![](file:///C:/Users/masdaB/AppData/Local/Temp/msohtmlclip1/01/clip_image013.gif)
![](file:///C:/Users/masdaB/AppData/Local/Temp/msohtmlclip1/01/clip_image010.gif)
![](file:///C:/Users/masdaB/AppData/Local/Temp/msohtmlclip1/01/clip_image014.gif)
![](file:///C:/Users/masdaB/AppData/Local/Temp/msohtmlclip1/01/clip_image013.gif)
![](file:///C:/Users/masdaB/AppData/Local/Temp/msohtmlclip1/01/clip_image015.gif)
Ruang Lingkup
RPL
- 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.
D. Rekayasa Perangkat Lunak dan Disiplin Ilmu
Komputer
Disiplin ilmu computer (Computer Science)
lahir pada awal-awal tahun 1940-an yang merupakan integrasi dari teori
algoritma, logika matematika dan ditemukannya cara
penyimpanan program secara
elektronik pada komputer.Sejak itu ilmu komputer mengalami
perkembangan yang terus menerus sehingga cakupannya menjadi semakin
meluas.Cakupan pengetahuan dalam
ilmu komputer seringkali
didiskripsikan sebagai suatu studi sistematis pada proses-proses
algoritma yang menjelaskan dan mentransformasikan informasi (Denning, 2000). Termasuk
di sini adalah teori, analisis,
disain, efisiensi penerapan dan aplikasinya.
Ada beberapa model pengelompokkan sub-bidang ilmu dalam disiplin ilmu
komputer
Berdasarkan pengelompokkan Denning (2000) dan
Wikipedia (2007), RPL merupakan sub-bidang ilmu komputer yang setara dengan
sub-bidang lainnya Sedangkan
menurut ACM (Association for
Computing Machinery), RPL merupakan bagian dari Section D
(Perangkat Lunak). Meskipun terlihat
terpisah- pisah, namun dalam penerapannya, sub-bidang
RPL selalu membutuhkan dukungan dari sub-bidang lain,
terutama sub-bidang Algoritma dan Struktur Data, Bahasa
Pemrograman, Basis Data,
Sistem Operasi dan
Jaringan, dan Sistem Informasi.
E. Rekayasa Perangkat Lunak dan Disiplin
Ilmu Lain
Cakupan ruang lingkup yang cukup luas, membuat RPL
sangat terkait dengan disiplin bidang ilmu lain. Tidak saja dengan sub-bidang dalam disiplin
ilmu komputer namun dengan beberapa disiplin ilmu lain di luar ilmu komputer. Hubungan
keterkaitan RPL dengan ilmu lain dapat dilihat pada Gambar 6.
·
Bidang ilmu
manajemen meliputi akutansi,
finansial, pemasaran, manajemen
operasi, ekonomi, analisis kuantitatif, manajemen sumber daya manusia,
kebijakan dan strategi bisnis.
·
Bidang
ilmu matematika meliputi aljabar linier, kalkulus, peluang, statistik, analisis
numerik dan matematika diskrit.
·
Bidang
ilmu manajemen proyek meliputi semua hal yang berkaitan dengan proyek, seperti ruang lingkup proyek, anggaran,
tenaga kerja, kualitas, manajemen resiko, dan penjadwalan proyek.
·
Bidang
ilmu manajemen kualitas meliputi
pengembangan sistem kualitas, manajemen
resiko dan keandalan, perbaikan kualitas, dan metode-metode kuantitatif.
·
Bidang
ilmu ergonomika menyangkut hubungan (interaksi) antara manusia dengan
komponen-komponen lain dalam sistem komputer.
·
Bidang ilmu
rekayasa sistem meliputi
teori sistem, analisis
biaya- keuntungan, pemodelan, simulasi, proses dan operasi bisnis.
F. Profesi dan Sertifikasi
Profesi
sebagai seorang Software Engineering mungkin
masih terasa asing ditelinga
orang
Indonesia. Sebagian besar orang Indonesia mungkin
lebih familiar dengan sebutan Ahli
Teknologi Informasi, Analis
Sistem Informasi, Programmer,
Operator atau sebutan profesi lainnya.
Hal ini karena adanya kerancuan tentang istilah RPL seperti telah
disebutkan di awal bab.
Namun di negara-negara yang maju\ dalam bidang
teknologi informasi, sebutan Software Engineer telah mulai banyak
digunakan. Sertifikasi kompetensi dalam
bidang RPL, saat
ini masih menjadi perdebatan di kalangan ahli dan penyedia perangkat lunak. Sebagian besar sertifikasi dalam industri perangkat
lunak biasanya sangat
spesifik untuk perangkat lunak
tertentu. Sebagai contoh, perusahaan
perangkat lunak seperti Redhat Linux Inc., Adobe Inc., Oracle, atau Microsoft, memberikan sertifikasi. diproduksinya.
ACM (Association for Computing
Machinery) pernah menyelenggarakan sertifikasi
untuk program Software
Engineer pada tahun
1980an, namun dihentikan karena
kurangnya peminat.IEEE (Institute
of Electrical and Electronics Engineers)
telah mengeluarkan lebih
dari 500 sertifikat
profesi perangkat lunak.
DiCanada, telah dikeluarkan sebuah sertifikat legal untuk RPL yang
disebut sebagai ISP (Information Systems Profesional). Saat ini, sertifikasi untuk RPL di Indonesia juga belum tersedia, namun
telah disusun Standar
Kompetensi Kerja Nasional
Indonesia untuk Bidang Programmer
Komputer. Meskipun belum memenuhi
cakupan bidang RPL secara keseluruhan, namun
paling tidak dapat
digunakan sebagai pendekatan
sertifikasi bidang RPL.
G. Rekayasa Perangkat
Lunak dan Pemecahan Masalah
Secara
konsep, rekayasa perangkat
lunak memiliki kedekatan
dengan prinsi prinsip pemecahan masalah.
Pemahaman tentang masalah, strategi dan proses pemecahan masalah, serta
pendekatan sistem pada pemecahan masalah akan sangat membantu proses rekayasa
perangkat lunak.
1. Masalah dan Gejala
Masalah
(problem) adalah perbedaan antara kondisi yang terjadi dan
kondisi yang diharapkan atau boleh juga
diartikan sebagai perbedaan antara kondisi sekarang dengan tujuan yang diinginkan. Sebagai contoh seorang siswa berharap
memperoleh nilai di atas 80 untuk ujian mata pelajaran Pemrograman
C++, namun pada kenyataannya dia
hanya memperoleh nilai
60. Adanya perbedaan menunjukkan adanya masalah. antara gejala dan
masalah. Gejala adalah
tanda/petunjuk terjadinya suatu
masalah. Perhatikan seorang yang berprofesi sebagai Seorang dokter
dalam usaha mengobati
penyakit pasien selalu bertanya dulu
tentang gejala-gejala yang dirasakan pasien kemudian menyimpulkan bahwa
pasien menderita penyakit tertentu
dan menentukan obat yang
tepat. Pusing, demam,
batuk, dan pilek merupakan
gejala atau tanda
dari penyakit flu. Apabila dokter
hanya memberi obat sakit kepala, maka
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSxcItH4m6s3y9lX8oJbipavmyN63cY5_LsxSEjsiEZHMkZnVQddKI8FSpF0k0W_RkYVp3BMQ8oxweOG5WpT0uBUsicVqXeXEsNWwXTvqAcId3t6mXBWpbktadZGaizibNJgKPt1i_1e0/s400/3.png)
Mungkin kita bertanya-tanya apa hubungan masalah
dan gejala dengan RPL. Seperti telah disampaikan di awal bab, perangkat lunak
yang merupakan hasil dari RPL merupakan alat bantu yang digunakan untuk
menyelesaikan tugas / masalah tertentu.
Apabila kita tidak mengetahui dengan benar masalahnya mustahil kita
dapat menentukan bagaimana menyelesaikannya.
Dan, untuk mengetahui dengan baik
masalah, maka pengetahuan
tentang gejala dari masalah menjadi sangat penting.
2. Tipe-Tipe Masalah
Gambar 8 Type-type masalah
·
Masalah pemenuhan standar
Tipe masalah dalam
kelompok ini adalah
masalah-masalah yang berhubungan
dengan pencapaian standar yang telah ditentukan dalam sebuah organisasi. Biasanya tujuan seperti ini berlaku dalam jangka yang
relative panjang.
·
Masalah
pemilihan alternative
Masalah dalam kelompok ini
berhubungan dengan bagaimana memilih solusi terbaik dari
berbagai alternative berdasarkan
kriteria-kriteria tertentu. Permasalahan ini seringkali
kita jumpai dalam
kehidupan sehari-hari, seperti bagaimana memilih sekolah
yang tepat, memilih lokasi tempat
tinggal, memilih bidang pekerjaan. Masing-masing alternatif dan
kriteria memiliki bobot yang telah disepakati.
· Masalah pemenuhan kepuasan konsumen
Pada
organisasi-organisasi yang bersifat profit (mencari keuntungan),
masalah-masalah pada kelompok
ini merupakan tipe
yang seringkali muncul. Konsumen
memiliki berbagai macam keinginan yang satu sama lain berbeda. Memenuhi seluruh
keinginan konsumen sangat
tidak mungkin dan sangat memberatkan sebuah organisasi. Oleh karena itu perlu dicari pemecahan
yang sama-sama menguntungkan, baik
bagi konsumen maupun organisasi tersebut.
§
Masalah
pencapaian tujuan
Tipe ini mirip dengan tipe pertama (masalah pemenuhan standar). Yang berbeda adalah, pada tipe ini tujuan
yang ingin dicapai dapat berubah- ubah dan
bersifat jangka pendek.
3. Pemecahan
Masalah
Pemecahan masalah adalah sebuah proses dimana
suatu situasi diamati kemudian bila ditemukan
ada masalah dibuat
penyelesaiannya dengan cara menentukan masalah, mengurangi atau
menghilangkan masalah atau mencegah masalah tersebut terjadi. Ada banyak urutan
proses pemecahan masalah yang diajukan oleh para ahli, salah satunya seperti
terlihat pada Gambar 9.
Gambar 9 Proses Pemecahan Masalah
Pada gambar 9 terlihat serangkaian tahapan proses yang
berbeda yang dapat digunakan dalam
berbagai tingkatan, tergantung
dari tipe dan
sifat masalahnya. Masalah yang
berbeda membutuhkan penggunaan
cara yang berbeda, bahkan mungkin
urutan yang berbeda. Tahapan kritis dari proses pemecahan masalah adalah apabila
masalah tidak cukup jelas didefinisikan
maka tahapan-tahapan berikut sulit untuk dijalankan. Bahkan apabila dipaksakan,
kemungkinan besar penyelesaian yang tepat tidak akan diperoleh.
Secara umum proses
pemecahan masalah dapat
dilakukan dengan empat tahapan
utama yaitu :
§ Memahami
dan mendefinisikan masalah
Bagian ini merupakan bagian yang sangat penting karena menjadi awal dari
seluruh proses pemecahan
masalah. Tujuan pada
bagian ini adalah memahami masalah dengan baik dan menghilangkan bagian-bagian yang dirasa kurang
penting.
§ Membuat rencana untuk pemecahan masalah
Pada bagian ini ada dua kegiatan penting yaitu :
a) mencari berbagai cara
penyelesaian yang mungkin diterapkan b)
membuat rencana pemecahan masalah
Penyelesaian suatu masalah biasanya tidak hanya
satu tapi mungkin bisa beberapa macam.
Sebagai ilustrasi, apabila kita berada di kota Surabaya dan ingin pergi
ke Jakarta, maka banyak cara yang mungkin bisa dilakukan, misalnya kita bisa
menempuh dengan angkutan darat, laut
atau udara. Dengan angkutan darat
kita bisa menggunakan
kereta api, bus
atau angkutan yang lain. Jalurnya pun kita bisa lewat jalur utara,
tengah atau selatan. Jadi banyak sekali
cara penyelesaian yang bisa kita kembangkan. Masing-masing mempunyai
karakteristik sendiri-sendiri. Dari
sekian banyak penyelesaian ini kita
harus memilih satu
yang berdasarkan persyaratan tertentu merupakan
cara yang paling
baik untuk menyelesaikan permasalahan. Setelah
terpilih, maka kita dapat membuat
rencana kasar
(outline) penyelesaian masalah dan membagi masalah
dalam bagian-bagian yang lebih kecil.
Rencana kasar (outline) penyelesaian masalah hanya berisi
tahapan-tahapan utama penyelesaian masalah.
§
Merancang
dan menerapkan rencana untuk memperoleh cara penyelesaian
Pada bagian ini
rencana kasar penyelesaian
masalah diperbaiki dan
diperjelas dengan pembagian dan urutan rinci yang harus ditempuh dalam
penyelesaian masalah
§
Memeriksa
dan menyampaikan hasil dari pemecahan masalah
Bagian ini bertujuan untuk memeriksa apakah akurasi (ketepatan)
hasil dari cara yang dipilih telah
memenuhi tujuan yang diinginkan. Selain
itu juga untuk melihat bagaimana daya guna dari cara yang dipilih yang dipilih.
BAB II
MODEL REKAYASA PERANGKAT LUNAK
A. Model Rekayasa Perangkat Lunak
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 10.
Gambar
10 Sistem Development Life Cycle
Setiap model yang
dikembangkan mempunyai karakteristik sendiri- sendiri.
Namun secara umum ada persamaan dari model-model ini, yaitu:
§ 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 perangka 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
bernilah 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
Ada banyak model pengembangan perangkat lunak, antara lain
The Waterfall Model, Joint Application Development (JAD), Information
Engineering (IE), Rapid Application Development (RAD), Prototyping, Unified Process (UP), Structural
Analysis and Design (SAD) d Framework for the Application of System thinking
(FAST) The Waterfall
Model, Prototyping, Unified Process (UP).
1.
The waterfall model
Model siklus hidup (life cycle model) adalah model
utama dan dasar dari banyak
model.
Salah satu model yang cukup dikenal dalam dunia rekayasa perangkat lunak adalah The
Waterfall Model. Ada 5 tahapan utama dalam
The Waterfall Model seperti terlihat pada Gambar 2.3. di sebut Waterfall ( berarti Air Terjun)
memang diagram tahapan prosesnya mirip dengan air terjun yang bertingkat. Tahapan-tahapan
dalam The Waterfall Model secara ringkas adalah sebagai berikut :
a) 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
b) Tahap analisis bertujuan untuk mencari
kebutuhan pengguna dan organisasi serta menganalisa kondisi yang ada (sebelum
diterapkan sistem informasi yang baru).
c) 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.
d) Tahap
implementasi merupakan tahapan
untuk mendapatkan atau mengembangkan hardware
dan software (pengkodean program), melakukan pengujian, pelatihan
dan perpindahan ke sistem baru.
e) Tahapan perawatan (maintenance) dilakukan
ketika sistem informasi sudah dioperasikan. Pada tahapan ini dilakukan
monitoring proses, evaluasi dan perubahan (perbaikan) bila diperlukan.
Gambar 11 The waterfall Model
|
|
2. 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). Prototyping model
dapat diklasifikasikan menjadi beberapa
tipe seperti terlihat pada gambar 12
Gambar 12. Klasifikasi prototyping model (Harris, 2003)
Prototype yang akan
ditransformasikan menjadi produk final.
Prototype yang akan dibuang
begitu selesai menjalankan maksudnya.
Prototype yang terbatas pada
antar muka pengguna (user interface).
Prototype yang
meliputi perawatan file
dasar dan proses-proses transaksi.
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 seperti terlihat pada gambar 13.
Tahapan-tahapan
secara ringkas dapat dijelaskan sebagai berikut:
- Identifikasi
kandidat prototyping. Kandidat
dalam kasus ini meliputi user interface
(menu, dialog, input dan output), file-file transaksi utama, dan
fungsi-fungsi 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 (User’s 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.
Gambar 13. Tahapan-tahapan prototyping
model (Harris, 2003)
3. Unified
Proces dan Unified Modeling Languange
Unified Process (UP)
atau kadang disebut
sebagai Unified Software Development Process
(USDP) adalah kerangka
proses pengembangan yang bersifat use-case-driven, berpusat pada
arsitektur perangkat lunak, interatif dan tumbuh-kembang (Alhir, 2005).
Kerangka pengembangan ini termasuk baru dalam metodologi
pengembangan perangkat lunak. UP dapat diaplikasikan pada berbagai skala
proyek, mulai dari skala kecil sampai dengan skala besar.
Gambar 14 RUP Life Cycle (Ambler,
2005)
Penjelasan singkat untuk empat tahapan dalam UP adalah sebagai berikut :
§
Inception tahapan ini merupakan tahapan paling awal
dimana aktivitas
penilaian terhadap sebuah
proyek perangkat lunak
dilakukan. Tujuannya
adalah untuk
mendapatkan kesepakatan dari
stakeholder sehubungan dengan tujuan dan dana proyek..
§ Elaboration. Tujuan
dari tahap ini adalah untuk mendapatkan gambaran
umum kebutuhan, persyaratan dan fungsi-fungsi
utama perangkat lunak. Hal ini penting untuk
mengetahui secara lebih baik resiko-resiko proyek, baik meliputi resiko arsitektur perangkat lunak, perencanaan,
maupun implementasi. Pada tahap ini
telah dimulai rancang bangun perangkat lunak
secara iterative melalui
aktivitas-aktivitas seperti business modeling, requirements, analysis
dan design meskipun baru pada tahap awal.
§ Construction. Tujuan dari tahapan ini adalah membangun
perangkat lunak sampai dengan saat perangkat
lunak tersebut siap digunakan. Titik
berat tahapan ini adalah
pada penentuan tingkat
prioritas kebutuhan / persyaratan, melengkapi spesifikasinya, analisis
lebih dalam, disain solusi yang
memenuhi kebutuhan dan persyaratan,
pengkodean dan pengujian perangkat
lunak. Jika dimungkinkan versi
awal dari perangkat lunak
diuji cobakan untuk
mendapatkan masukan dari pengguna.
§ Transition. Tahap ini
difokuskan pada bagaimana
menyampaikan perangkat lunak yang sudah jadi pada pengguna. Perangkat lunak akan secara resmi diuji oleh
baik oleh penguji (tester) yang kompeten maupun oleh pengguna. Beberapa
aktivitas seperti pemindahan pusat data dan pelatihan pengguna dan staf
pendukung harus dilakukan pada tahap ini.
B. Tahap-tahap Rekayasa Perangkat Lunak
Seperti telah disebutkan,
meskipun dalam pendekatan
berbeda-beda, namun
model-model di atas
memiliki kesamaan, yaitu
menggunakan pola tahapa analysis
– design – coding(construction) – testing – maintenance.
.1. Analisis
Analisis
sistem adalah sebuah
teknik pemecahan masalah
yang menguraikan
sebuah sistem menjadi komponen-komponennya dengan tujuan mempelajari seberapa bagus
komponen-komponen tersebut bekerja
dan berinteraksi untuk meraih tujuan mereka.
Analisis mungkin adalah bagian terpenting dari
proses rekayasa perangkat lunak. Karena semua proses
lanjutan akan sangat
bergantung pada baik tidaknya hasil analisis. Tahapan-tahapan dalam analisis rekayasa
perangkat lunak secara ringkas dapat dilihat pada Gambar 15.
Ada satu bagian penting yang biasanya dilakukan dalam tahapan
analisis yaitu
Pemodelan proses bisnis. 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 keluaran pada
suatu proses. Biasanya model ini
digambarkan dalam bentu Diagram Arus Data (Data Flow Diagram / DFD). DFD meyajikan gambaran apa yang manusia,
proses dan prosedur lakukan untuk
mentransformasi data menjadi informasi.
Gambar
15 Tahapan dan aktifitas
dalam analisis.
|
|
BAB III
P E N U T U P
Ø Perangkat lunak adalah
seluruh perintah yang digunakan untuk memproses informasi
Ø Program adalah kumpulan perintah yang
dimengerti oleh komputer
Ø Prosedur adalah perintah yang dibutuhkan
oleh pengguna dalam memproses informasi
Ø RPL
adalah 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.
Ø Tujuan
RPL adalah menghasilkan perangkat
lunak dengan kinerja tinggi, tepat
waktu, berbiaya rendah, dan multiplatform.
Ø RPL
merupakan sub bidang
ilmu komputer yang
dalam penerapannya membutuhkan dukungan baik dari sub bidang ilmu
komputer lainnya maupun bidang-bidang ilmu lain.
Ø Sertifikasi untuk bidang RPL belum
tersedia, namun mengacu pada bidang Programmer
Ø Masalah (problem) adalah perbedaan antara kondisi yang terjadi dan kondisi
yang diharapkan dan Gejala adalah tanda/petunjuk terjadinya suatu masalah.
Ø Model-model rekayasa perangkat lunak pada
umumnya mengacu pada model proses pengembangan sistem
yang disebut System Development Life Cycle (SDLC).
Ø Model pengembangan perangkat lunak yang
sekarang umum digunakan adalah The Waterfall Model, Prototyping, dan Unified
Process (UP).
Ø Tahapan-tahapan utama dalam rekayasa
perangkat lunak meliputi :
analisis, desain, konstruksi,
pengujian dan perawatan.
DAFTAR PUSTAKA
http://www.wikipedia.org
http:// www.google.com
http:// www. Microsoft .com