Anda di halaman 1dari 12

PENGANTAR RPL

( REKAYASA PERANGKAT LUNAK)



1.1Definisi RPL ( REKAYASA PERANGKAT LUNAK)
Istilah Reakayasa Perangkat Lunak (RPL) secara umum disepakati
sebagai terjemahan dari istilah SoItware engineering. Istilah SoItware
Engineering mulai dipopulerkan pada tahun 1968 pada soItware engineering
ConIerence yang diselenggarakan oleh NATO. Sebagian orang mengartikan
RPL hanya sebatas pada bagaimana membuat program komputer. Padahal ada
perbedaan yang mendasar antara perangkat lunak (soItware) dan program
komputer.
Perangkat lunak adalah seluruh perintah yang digunakan untuk
memproses inIormasi. 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
inIormasi (O`Brien, 1999).
Pengertian RPL sendiri adalah suatu disiplin ilmu yang membahas
semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa
kebutuhan pengguna, menentukan spesiIikasi dari kebutuhan pengguna,
disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan.
Dari pengertian ini jelaslah bahwa RPL tidak hanya berhubungan dengan cara
pembuatan program komputer. Pernyataan semua aspek produksi pada
pengertian di atas, mempunyai arti semnua hal yang berhubungan dengan
proses produksi seperti manajemen proyek, penentuan personil, anggaran
biaya, metode, jadwal, kualitas sampai dengan pelatihan pengguna merupakan
bagian dari RPL.
1.2Latar Belakang Penggunaan RPL
1.3Evolusi Software

Pada masa awal era komputer perangkat keras dengan tujuan umum
menjadi hal yang biasa, sementara perangkat lunak dirancang secara khusus
untuk aplikasi tertentu saja dan hanya memiliki areal distribusi yang terbatas.
Produk perangkat lunak (program yang dikembangkan untuk dijual kepada
satu pelanggan atau lebih) masih langka. Kebanyakan perangkat lunak
dikembangkan dan digunakan oleh orang atau organisasi yang sama. Pada era
ini tidak ada pendokumentasian.
Era kedua evolusi sistem komputer melingkupi dekade pertengahan
tahun 1960 dan 1970-an (Gambar 1.1.). Sistem multiprogram dan multiuser
memperkenalkan konsep baru interaksi manusia dengan mesin. Teknik
interaktiI membuka sebuah dunia aplikasi yang baru serta tingkat kecanggihan
perangkat lunak dan perangkat keras yang baru pula. Sistem real time dapat
mengumpulkan, menganalisis, serta mengubah data dari banyak sumber
sehingga proses pengontrolan dan penghasilan output tidak lagi berada di
dalam skala menit, melainkan detik. Kemajuan dalam penyimpanan on-line
membawa ke generasi pertama sistem manajemen database.
Era kedua juga ditandai dengan penggunaan produk perangkat lunak
serta kehadiran soItware houses.
Era ketiga evolusi sistem komputer dimulai pada pertengahan tahun
1970-an dan berlangsung lebih dari satu dekade penuh. Sistem terdistribusi
multi komputer, yang masing-masing melakukan Iungsi secara konkuren dan
berkomunikasi satu dengan yang lain. Kesimpulan dari era ketiga ditandai
dengan kehadiran dan penyebaran pemakaian mikroprosesor.
Evolusi sistem komputer era keempat menjauhkan kita dari komputer
individual dan program komputer dan menuju pengaruh kolektiI dari
komputer dan perangkat lunak. Mesin desktop yang kuat yang dikontrol oleh
sistem operasi yang canggih, jaringan lokal dan global, serta digabung dengan
aplikasi perangkat lunak yang maju, menjadi sebuah aturan. Teknologi yang
berorientasi pada objek dengan cepat menggantikan pendekatan
pengembangan perangkat lunak yang lebih konvensional dalam berbagai area
aplikasi. Perangkat lunak sistem pakar dan kecerdasan buatan pada akhirnya
bergerak dari laboratorium ke penerapan praktis untuk berbagai masalah
dengan dengan jangkauan luas di dunia nyata.
Tetapi selama era evolusi sistem berbasis komputer, serangkaian
masalah yang berhubungan dengan perangkat lunak masih muncul, dan
intensitas masalah-masalah tersebut terus bertambah.
1. Kemajuan perangkat keras terus berlanjut, melampaui kemampuan kita
untuk membangun perangkat lunak yang sesuai dengan perangkat keras
yang ada.
2. Kemampuan kita untuk membangun program baru tidak dapat memenuhi
kebutuhan akan program baru, juga tidak dapat membangun program yang
cukup cepat untuk memenuhi kebutuhan bisnis dan pasar.
3. Pemakaian komputer yang tersebar luas membuat masyarakat semakin
tergantung pada operasi perangkat lunak yang reliabel. Kerusakan
ekonomis yang besar dan potensi penderitaan manusia dapat muncul bila
terjadi kegagalan perangkat lunak.
4. Kita berjuang untuk membangun perangkat lunak komputer dengan
reliabilitas dan kualitas yang sangat tinggi.
5. Kemampuan kita untuk mendukung program yang ada terhambat oleh
buruknya desain serta sumber daya yang tidak memadai.
1.4Fase-fase Pembangunan Software
Pembangunan soItware, sering disebut REKAYASA PERANGKAT
LUNAK atau SoItware Engineering. Dalam pembangunannya, ada beberapa
tahapan yang pasti dilakukan :
1. Fase Perencanaan (Planning) :
a) Rencana soItware
- Pengalokasian sumber / resource
- Estimasi biaya
- Penetapan tugas pekerjaan dan jadual.
b) Analisa kebutuhan soItware
Analisa kebutuhan menetapkan peranan dari setiap elemen dalam
sistem berbasis komputer, terutama mengalokasikan peranan soItware.
c) Analisa cost banefit (Salah satu bagian dari studi kelayakan)
Penetapan lingkup untuk soItware memberikan petunjuk / arah.
Namun deIinisi yang lebih rinci dari inIormasi dan Iungsi soItware
diperlukan sebelum pekerjaan dimulai.
2. Fase Pengembangan (Development) :
Fase pengembangan berIokus pada 'ow. Selama pengembangan,
developer soItware berusaha menjelaskan :
- Bagaimana struktur data dan arsitektur soItware yang didesain
- Bagaimana rincian prosedur diimplementasikan ( diterapkan )
- Bagaimana desain diterjemahkan ke dalam bahasa pemrograman atau
bahasa non prosedur, dan
- Bagaimana pengetesan akan dilaksanakan.
a) Desain soItware ( SoItware Design )
Desain menterjemahkan kebutuhan-kebutuhan soItware ke dalam
sekumpulan representasi (graIik, tabel, diagram, atau bahasa yang
menjelaskan struktur data, arsitektur soItware dan prosedur algoritma).
b) Coding
Representasi desain harus diterjemahkan ke dalam bahasa tiruan /
artiIicial language yang menghasilkan perintah-perintah yang dapat
dieksekusi oleh komputer.
c) Testing
Segera sesudah soItware diimplementasikan dalam bentuk yang dapat
dieksekusi oleh mesin, soItware perlu ditest untuk menemukan
kesalahan ( merupakan Iungsi logika dan implementasi ).
Macam-macam test program :
i. Unit test (Test per modul)
ii. Integreated test (Test penggabungan dari modul-modul yang
telah diuji)
iii. Validated test (Diuji dengan data sebenarnya)
iv. System test (Test dilakukan dengan lingkungan sebenarnya)
v. Topdown test (Test gabungan dari atas ke bawah)
vi. Bottom up test (Test gabungan dari bawah ke atas)
3. Fase Pemeliharaan (Maintenance) :
a. Perubahan karena soItware error ( Corective Maintenance )
b. Perubahan karena soItware disesuaikan / diadaptasi dengan lingkunga
external, misalnya munculnya CPU baru, sistem operasi baru (
Adaptive Maintenance )
c. Perubahan soItware yang disebabkan customer / user meminta Iungsi
tambahan, misalnya Iungsi graIik,Iungsi matematik, dll ( PerIective
Maintenance ).

1.5Penerapan (Aplikasi) Software
1. Sistem SoItware
Adalah sekumpulan program yang ditulis untuk melayani atau menunjang
program lainnya. Beberapa system soItware seperti compiler, editor,
komponen-komponen sistem operasi, driver, utilitas pengatur Iile dan prosesor
telekomunikasi. Memproses struktur-struktur inIormasi yang lengkap namun
tetap. Perangkat lunak sistem ditandai dengan eratnya interaksi dengan
perangkat keras komputer.
2. Real Time soItware
Adalah soItware yang mengawasi/menganalisa/ mengatur kejadian yang
sesungguhnya terjadi di dunia. Elemen-elemen real time soItware terdiri
dari :
a. Komponen pengumpul data
Yang mengumpulkan dan menyusun inIormasi dari lingkungan
external.
b. Komponen analisis
Yang mentransIormasikan inIormasi yang diperlukan oleh aplikasi
c. Komponen kontrol
Yang memberikan respon kepada lingkungan external
d. Komponen monitor
Yang mengkoordinasi semua komponen-komponen lainnya, sehingga
respons real time yang berkisar 1 milisecond sampai 1 menit dapat
dipertahankan. Perlu dicatat bahwa istilah real time berbeda dari istilah
interactive atau time sharing. Sistem real time harus memberikan
respons pada waktu yang ditentukan, sedangkan pada sistem
interactive atau time sharing respons time biasanya melebihi batas
waktu yang ditentukan tanpa merusak hasil.
3. Business soItware
Setiap bisnis, besar atau kecil, memproses sejumlah data yang
besar dalam operasi hariannya. Data diperoleh dari payroll, Iaktur
customer dan rekening keuangan, inventaris manajemen, dan rekening
biaya customer yang semuanya harus dikalkulasi, disimpan,
diklasiIikasikan, disortir, diretriev, diproses kembali, dilaporkan,
dikomunikasi dan disebarkan pada suatu waktu. Pemrosesan data seperti
itu dikenal sebagai Business Data Processing atau Data Processing (DP).
Jika pemrosesan ini dilakukan dengan komputer, hal ini dikenal dengan
Electronic Data Processing (EDP).
Komputer juga dapat digunakan secara eIektiv dalam bisnis
management. Melalui komputerisasi data base management system
(DBMS) dan SIM, seorang manajer atau eksekutive perusahaan dapat
dibantu dalam membuat keputusan tentang seluruh operasi bisnisnya dan
dapat memberikan bimbingan dan instruksi kepada bawahannya lainnya.
Beberapa contoh system software diantaranya : compiler, editor, dan file
management utilities, jenis lainnya adalah OS, component, drivers dan
telecommunications processors. Dari kesemuanya, area system soItware
dapat ditandai dengan interaksi yang kuat dengan hardware komputer,
penggunaan yang banyak oleh banyak user, operasi konkuren yang
memerlukan penjadwalan, penggunaan bersama sumberdaya yang ada,
manajemen proses yang baik, struktur data yang rumit, dan interIace
eksternal yang banyak.
Sistem diskrit (contohnya payroll, account receivable/payable,
inventory) telah mengembangkan perangkat lunak sistem inIormasi
manajemen (MIS) yang mengakses satu atau lebih database besar yang
berisi inIormasi bisnis. Aplikasi perangkat lunak bisnis juga meliputi
penghitungan klien/server serta penghitungan interaktiI (misal pemrosesan
transaksi point-of-sale).
SoItware yang paling banyak digunakan dalam bidang aplikasi
soItware. SoItware ini digunakan oleh manajemen untuk mengambil
keputusan ( Decision Making ) dalam bidang bisnis. Contoh :
4 DAC EASY ACCOUNTING
4 FINANCE MANAJER
4. Engineering and sciencetiIic soItware
Engineering and sciencetiIic soItware ditandai algoritma number
crunching. Perangkat lunak ini memiliki jangkauan aplikasi mulai dari
astronomi sampai vulkanologi, dari analisis otomotiI sampai dinamika
orbit pesawat ruang angkasa, dan dari biologi molekuler sampai pabrik
yang sudah diotomatisasi, computer-aided design, simulasi sistem, dan
aplikasi interaktiI yang lain, sudah mulai memakai ciri-ciri perangkat
lunak sistem genap dan real-time.

5. Emdebed SoItware
mbedded software ada dalam read-only memory dan dipakai
untuk mengontrol hasil serta sistem untuk keperluan konsumen dan pasar
industri. mbedded software dapat melakukan Iungsi yang terbatas serta
Iungsi esoterik (misal key pad control untuk microwave) atau memberikan
kemampuan kontrol dan Iungsi yang penting (contohnya Iungsi digital
dalam sebuah automobil seperti kontrol bahan bakar, penampilan dash-
board, sistem rem, dll).
6. PC SoItware (Personal Computer)
PC soItware merepresentasikan rancangan interIace manusia-komputer
yang paling inovatiI.
SoItware yang banyak digunakan di komputer pribadi (PC). Contoh :
O ord Processing : S, P
O Spreadsheet : Lotus, Supercalc
O Computer Graphics : Printshop, Print Magic
O Games : Paoman, Load Runner
O DBMS : Dbase III, Foxbase, Clipper
O Network : LAN, Novell
7. ArtiIicial Intelegence soItware
Perangkat lunak kecerdasan buatan (rtificial Inteligent /AI)
menggunakan algoritma non-numeris untuk memecahkan masalah
kompleks yang tidak sesuai untuk perhitungan atau analisis secara
langsung contohnya adalah expert system atau knowledge based system.
Perangkat lunak kecerdasan buatan adalah pengenalan pola (image dan
voice), pembuktian teorema, dan permainan game. Di tahun-tahun
terakhir, cabang perangkat lunak kecerdasan buatan yang baru, yang
disebut artificial neural network, telah berkembang. Jaringan syaraI
mensimulasi struktur proses-proses otak dan kemudian membawanya
kepada perangkat lunak kelas baru yang dapat mengenali pola-pola yang
kompleks serta belajar dari pengalaman-pengalaman masa lalu. Perangkat
lunak dapat diaplikasikan ke berbagai situasi di mana serangkaian langkah
prosedural (seperti algoritma) telah dideIinisikan. Kandungan inIormasi
dan determinasi merupakan Iaktor penting dalam menentukan siIat
aplikasi perangkat lunak. Content mengarah kepada arti dan bentuk dari
inIormasi yang masuk dan keluar.
Memang sulit untuk menentukan kategori umum untuk aplikasi
perangkat lunak. Ketika kompleksitas perangkat lunak mulai muncul,
maka penggolongan yang rapi menjadi hilang. Area perangkat lunak
berikut menunjukkan luasnya aplikasi potensial.

Anda mungkin juga menyukai