Rekayasa Perangkat Lunak
Boldson Herdianto Situmorang, Skom., MMSI
1Rekayasa Perangkat Lunak
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 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
2Rekayasa Perangkat Lunak
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.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
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 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
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 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,
dllRekayasa Perangkat Lunak 5
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
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.tinggi secara ekonomis dan handal.
� Tujuan RPL:
1. Biaya produksi rendah.
Rekayasa Perangkat Lunak 7
Analisis & Desain 1/3
1/6 Coding
Testing
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 lainnyajenis komputer ke komputer lainnya
4. Biaya perawatan yang rendah.
5. Menghasilkan output yang berdaya guna bagi pemakai
dan tepat waktu.
Rekayasa Perangkat Lunak 8
Paradigma RPL
� Pengembangan PL meliputi teknologi yang
menggabungkan metode-metode teknis, alat-alat bantu
otomatis, dan prosedur-prosedur.
1. Metode1. 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
Perencanaan
Analisis
Perancangan
Implementasi
Uji Coba
Rekayasa Perangkat Lunak 10
Siklus Hidup Pengembangan Sistem
Sistem
diterima
?
Penggunaan
Y
T
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)• 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
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 kualitas dan perubahan koordinasi, dan
mendefinisikan keluaran.
� Mendefinisikan “milestone” yang memungkinkan
manager memperkirakan kemajuan.
Rekayasa Perangkat Lunak 12
� 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 waterfall3. Pendekatan waterfall
4. Pendekatan evolusioner
5. Spiral Boehm
Rekayasa Perangkat Lunak 13
Requirement
Analysis and
Definition
System and
Software
Design
Implementation
and Unit Testing
Rekayasa Perangkat Lunak 14
and Unit Testing
Integration
and System
Testing
Operation and
MaintenanceSiklus Hidup dengan Model Waterfall
Prototyping
� Prototype adalah implementasi dari PL yang fungsinya
dibatasi, reliabilitas rendah, tampilannya sederhana,
dan kurang ketegasan.
� Prototype memberikan ide bagi pembuat dan pemakai � Prototype memberikan ide bagi pembuat dan pemakai
tentang cara sistem berfungsi dalam bentuk
lengkapnya.
� Proses menghasilkan sebuah prototype disebut
prototyping.
Rekayasa Perangkat Lunak 15
� 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:� 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
� 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.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
Top Related