Dokumen tersebut membahas tentang rekayasa perangkat lunak, yang merupakan proses pengembangan perangkat lunak dengan prinsip rekayasa untuk menghasilkan perangkat lunak berkualitas tinggi secara ekonomis. Dokumen tersebut juga membahas metode pengembangan perangkat lunak seperti siklus hidup dan prototyping.
2. Perangkat Lunak
Perangkat lunak (software) adalah sekumpulan
program atau instruksi yang dibuat untuk menjalankan
fungsi tertentu.
2 kategori software:
1. System Software : sekumpulan program yang ditulis
untuk melayani program-program yang lain. Jenis-
jenis system software:
a. Sistem operasi: software yang berfungsi untuk
mengkonfigurasikan komputer agar dapat
menerima berbagai perintah dasar yang
diberikan sebagai masukan.
Contoh: DOS, Windows, Linux, Unix, dsb
Rekayasa Perangkat Lunak 2
3. b. Program utility: software yang berfungsi untuk
mengisi kekurangan/ kelemahan dari sistem operasi.
Contoh: Norton Utility, Scandisk, PC Tools, dsb.
2. Application Software: program siap pakai yang digunakan
untuk membantu user agar dapat bekerja lebih efektif
dan efisien.
Contoh: Ms. Excel, Ms. Word, Ms. Power Point, MYOB,
SPSS, Adobe Photoshop, dsb.
3. Programming Language: software bahasa komputer yang
digunakan dengan cara merancang, atau membuat
program sesuai dengan struktur dan metode yang
dimiliki oleh bahasa program itu sendiri.
Contoh: C, C++, Java, Cobol, Fortran, Delphi, Visual Basic,
dsb
Rekayasa Perangkat Lunak 3
4. Jenis-jenis aplikasi perangkat lunak (application software):
1. Perangkat lunak real-time (real time software)
Program-program yang memonitor/ menganalisis/
mengontrol kejadian-kejadian sesungguhnya (sedang
berlangsung) di dunia.
2. Perangkat lunak bisnis (business software)
Aplikasi perangkat lunak yang memproses informasi
bisnis, seperti Payroll, Account Receivable, Account
Payable, Inventory, dll.
3. Perangkat lunak teknik dan ilmu pengetahuan
(engineering and scientific software)
Aplikasi perangkat lunak yang menggunakan
algoritma number crunching.
Rekayasa Perangkat Lunak 4
5. Contoh: Computer Aided Design (CAD), System
Simulasi, dll.
4. Perangkat lunak embedded (embedded software)
Aplikasi perangkat lunak yang dipakai untuk
mengontrol hasil serta sistem untuk keperluan
konsumen dan pasar industri.
Contoh: key pad control untuk microwave, fungsi
digital pada sebuah automobil untuk kontrol bahan
bakar, penampilan dashboard, sistem rem, dll.
5. Perangkat lunak komputer personal (personal
computer software)
Contoh: pengolahan kata, spreadsheet, grafik
komputer, multimedia, hiburan, manajemen database,
dll
Rekayasa Perangkat Lunak 5
6. 6. Perangkat lunak kecerdasan buatan (artificial
intelligence software)
Aplikasi perangkat lunak yang menggunakan
algoritma non-numeris untuk memecahkan masalah
kompleks yang tidak sesuai untuk perhitungan atau
analisis secara langsung.
Contoh: artificial neural network
Rekayasa Perangkat Lunak 6
7. Rekayasa Perangkat Lunak
(Software Engineering)
Rekayasa perangkat lunak adalah proses mengubah
perangkat lunak untuk dikembangkan, dipelihara, dan
dibangun kembali melalui prinsip rekayasa untuk
menghasilkan perangkat lunak baru yang berkualitas
tinggi secara ekonomis dan handal.
Tujuan RPL:
1. Biaya produksi rendah.
Analisis &
Desain
1/3
Testing
1/6 Coding
Rekayasa Perangkat Lunak 7
8. 2. Kinerja program yang tinggi.
Kinerja program akan dipengaruhi oleh keandalan
perangkat keras, dan kebutuhan penggunanya yang
ingin lebih baik.
3. Portabilitas yang tinggi.
Portabilitas: kemampuan mentransfer PL dari suatu
jenis komputer ke komputer lainnya
4. Biaya perawatan yang rendah.
5. Menghasilkan output yang berdaya guna bagi pemakai
dan tepat waktu.
Rekayasa Perangkat Lunak 8
9. Paradigma RPL
Pengembangan PL meliputi teknologi yang
menggabungkan metode-metode teknis, alat-alat bantu
otomatis, dan prosedur-prosedur.
1. Metode
Menyediakan cara bagaimana secara teknis
membangun PL. Metode yang dapat digunakan dalam
membangun PL adalah dengan mengikuti tahapan-
tahapan dari Siklus Hidup Pengembangan Sistem/ PL
(System Development Life Cycle).
Rekayasa Perangkat Lunak 9
10. Perencanaan
Analisis
Perancangan
Implementasi
Uji Coba
Sistem
T diterima
?
Y
Penggunaan
Siklus Hidup Pengembangan Sistem
Rekayasa Perangkat Lunak 10
11. 2. Alat Bantu
Alat bantu RPL yang otomatis dikelompokkan ke
dalam Computer Aided Software Engineering (CASE),
meliputi:
• Data Flow Diagram (DFD)
• Entity Relationship Diagram (ERD)
• Entity Relationship for Windows (ERWIN)
CASE berfungsi untuk mengkombinasikan/
menggabungkan software, hardware, & database RPL
untuk menciptakan lingkungan RPL yang analog
dengan CAD/CAE (Computer Aided Design/ Computer
Aided Engineering) untuk perangkat keras.
Rekayasa Perangkat Lunak 11
12. 3. Prosedur
Merupakan penggabungan antara metode dengan
alat bantu.
Mendefinisikan urutan (sequence) metode yang
akan digunakan oleh seorang engineer.
Mendefinisikan kontrol yang membantu keyakinan
kualitas dan perubahan koordinasi, dan
mendefinisikan keluaran.
Mendefinisikan “milestone” yang memungkinkan
manager memperkirakan kemajuan.
Rekayasa Perangkat Lunak 12
13. Paradigma RPL dipilih berdasarkan sifat dari proyek
dan aplikasi, metode dan alat bantu yang digunakan,
serta kontrol dan keluaran yang dibutuhkan.
Jenis-jenis metodologi proyek PL :
1. Siklus hidup (life cycle)
2. Model spiral
3. Pendekatan waterfall
4. Pendekatan evolusioner
5. Spiral Boehm
Rekayasa Perangkat Lunak 13
14. Requirement
Analysis and
Definition
System and
Software
Design
Implementation
and Unit Testing
Integration
and System
Testing
Operation and
Maintenance
Siklus Hidup dengan Model Waterfall
Rekayasa Perangkat Lunak 14
15. Prototyping
Prototype adalah implementasi dari PL yang fungsinya
dibatasi, reliabilitas rendah, tampilannya sederhana,
dan kurang ketegasan.
Prototype memberikan ide bagi pembuat dan pemakai
tentang cara sistem berfungsi dalam bentuk
lengkapnya.
Proses menghasilkan sebuah prototype disebut
prototyping.
Rekayasa Perangkat Lunak 15
16. Tujuan prototyping:
a. Membantu pengembangan persyaratan, jika tidak dapat
ditentukan dengan mudah.
b. Mengesahkan persyaratan, khususnya dengan customer
dan user yang potensial.
c. Menyajikan sebagian tempat pengembangan, jika
menggunakan strategi pengembangan evolusi prototype.
Keuntungan prototyping bagi engineer:
a. Kesalahpahaman antara system developer dan system
user dapat diidentifikasi dan dibetulkan.
b. Prototype yang sedang bekerja mungkin berguna dalam
pembuktian manajemen dimana suatu proyek adalah
feasibel sehingga menjamin kelangsungan dukungan.
Rekayasa Perangkat Lunak 16
17. Alasan-alasan perlunya prototyping:
a. Komunikasi antara analis sistem dan pemakai membaik.
b. Analis dapat bekerja dengan lebih baik dalam
menentukan kebutuhan pemakai.
c. Pemakai berperan lebih aktif dalam pengembangan
sistem.
d. Spesialis informasi dan pemakai menghabiskan lebih
sedikit waktu dan usaha dalam mengembangkan sistem.
e. Penerapan menjadi lebih mudah karena pemakai
mengetahui apa yang diharapkannya.
f. Menghemat biaya pengembangan dan meningkatkan
kepuasan pemakai dengan sistem yang dihasilkan.
Rekayasa Perangkat Lunak 17