Anda di halaman 1dari 34

REKAYASA PERANGKAT LUNAK

(SOFTWARE ENGINNERING)
Harjono Padmono Putro, ST, MKom
Semester Genap 2013/2014

GRADUATION
2
Absensi: 10%
syarat mengikuti UAS = 75% dari kehadiran
Tugas 2x: 20%
Tugas 1 (10%)
Tugas 2 (10%)
UTS: 30%
UAS: 40% materi dari awal kuliah

BUKU

Software Engineering: A Practitioner's Approach
Pengarang : Roger S. Pressman
Penerbit: Fourth Edition, McGraw-Hill, 1997

Sommerville I. (2001)
Software Engineering
6
th
Edition, Addison-Wesley, Harlow, Essex, UK

Stevens P. with Pooley, R. (2000)
Using UML: Software Engineering with Objects and
Components,
Addison-Wesley, Harlow, Essex, UK
3
TUJUAN
4
Mahasiswa mengetahui konsep RPL dan
memahami berbagai jenis proses dalam RPL
Mahasiswa mengerti dan mampu membuat DFD,
ERD, STD dan Kamus Data.
Mahasiswa mengerti konsep pengembangan OO
dan mampu membuat berbagai Diagram dalam
UML.
Mahasiswa mengerti konsep pengujian sistem.
MATERI PERKULIAHAN #1
Pertemuan ke-1 : Pengantar RPL
Pertemuan ke-2 : Analisa Sistem 1
Pertemuan ke-3 : Analisa Sistem 2
Pertemuan ke-4 : Model Analisa 1
Pertemuan ke-5 : Model Analisa 2
Pertemuan ke-6 : Quis 1
Pertemuan ke-7 : Perancangan Sistem

Ujian Tengah Semester
5
MATERI PERKULIAHAN #2
Pertemuan ke-8 : OOAD
Pertemuan ke-9 : UML 1
Pertemuan ke-10 : UML 2
Pertemuan ke-11 : Pengujian Sistem
Pertemuan ke-12 : Perawatan Sistem
Pertemuan ke-13 : Quis 2
Pertemuan ke-14 : Model Pengembangan Multimedia

Ujian Akhir Semester
6
PENGANTAR RPL
Pertemuan 1 7
PENYELESAIAN MASALAH
(PROBLEM SOLVING)
8
COMPUTER
SCIENCE
CUSTOMER
SOFTWARE
ENGINEERING
Teori
Fungsi
Computer

Problem
Tools dan
Teknik utk
Menyelesaikan
Problem
MITOS DALAM SOFTWARE ENGINEERING
The only deliverable for a successful project is a
working program
9
Plan Requirements Design
Data Structures
Test Specs
Working
Program
Listings
10
Grab the tail and it feels like a rope.
Grab a leg and it seems like a tree.
Grab its trunk and it feels like a hose.
MENGAPA PERLU SOFTWARE ENGINEERING
Masalahnya adalah kompleksitas

Banyak dibutuhkan sumber-sumber, tetapi
kuncinya adalah ukuran (size):
UNIX berisi 4 juta lines of code
Windows 2000 berisi 10
8
lines of code dikerjakan
oleh Tim dengan 1400 orang



Software engineering adalah bagaimana mengelola
kompleksitas tersebut dan dapat bekerja dalam
satu Tim Work. 11
SAMPLE : TEAM SIZE
12
Product Dev Team Size Test Team Size
NT 3.1 200 140
NT 3.5 300 230
NT 3.51 450 325
NT 4.0 800 700
Win2000 1400 1700
PERTANYAAN MENDASAR
Apa yang dimaksud dengan Perangkat
Lunak (Software) ?
13
PERANGKAT LUNAK
Menurut Terminologi IEEE :
Software adalah koleksi dari program-program
komputer, prosedur-prosedur, aturan-aturan serta data
dan dokumentasi yang terhimpun didalamnya
14
(SOFTWARE)
KATEGORI PERANGKAT LUNAK (SOFTWARE)
Produk perangkat lunak dapat dikembangkan
untuk pemakaian khusus atau dikembangkan
untuk suatu keperluan umum.
Generik : dikembangkan untuk dijual kepada
sejumlah pemakaia yang berbeda-beda.
Custom : dikembangkan untuk pemakai
tunggal sesuai spesifikasi yang diinginkan.
15
PERANGKAT LUNAK
16
Perangkat
Lunak
Instruksi-
instruksi
Prosedur-
prosedur
Data-data
terstruktur
Dokumen-
dokumen
PERANGKAT LUNAK DAPAT BERUPA:
Instruksi-instruksi (program komputer) yang jika
dieksekusi memberikan fungsi dan keandalan
yang diinginkan.
Prosedur-prosedur yang menggambarkan
tahapan-tahapan pelaksanaan program, keluaran
dari tiap tahap, kendali jaminan kualitas dan mile-
stones kemajuan
Data-data terstruktur yang memungkinkan
program dapat memanipulasi informasi.
Dokumen-dokumen yang menggambarkan operasi
dan penggunaan program.
17
EVOLUSI
PERANGKAT
LUNAK
1950



1960



1970



1980



1990



2000
18
Tahun-tahun Awal
Batch orientation
Limited distribution
Custom software
Era Kedua
Multiuser
Real-time
Database
Product software
Era Ketiga
Distributed systems
Embedded intelligence
Low-cost hardware
Consumer impact
Era Ke-empat
Powerful desk-top systems
Object-oriented technologies
Expert systems
Soft computing (ANN, Fuzzy Logic)
Parallel computer
PERTANYAAN
Apa yang dimaksud dengan software engineering
(rekayasa perangkat lunak) ?
19
REKAYASA PERANGKAT LUNAK
Definisi Klasik (1969)
20
The establishment and use of sound engineering principles in
order to obtain economically software that is reliable and works
efficiently on real machines.
Penerapan prinsip engineering untuk memperoleh software yang
ekonomis, reliable dan bekerja efisien pada komputer
Definisi IEEE (1993)
Software Engineering: (1) The application of a systematic, disciplines,
quantifiable approach to the development, operation, and maintenance of
software; that is the application of engineering to software. (2) The
study of approaches as in (1).
RPL : (1) Penerapan secara sistematis, disiplin, pendekatan terukur pada
pengembangan, pengoperasian dan pemeliharaan software. (2) Studi
terhadap (1)
DEFINISI
Menurut Fritz Bauer (1969)
Software Engineering adalah pendekatan sistematik untuk
pengembangan, pengoperasian, perawatan suatu
perangkat lunak yaitu dengan menerapkan prinsip rekayasa
dalam usaha memperoleh perangkat lunak yang ekonomis,
dapat bekerja secara andal dan efisien pada mesin
sebenarnya.
21
Menurut Boehm (1986)
Software Engineering adalah aplikasi dari sains dan
matematika yang membuat peralatan komputer menjadi
bermanfaat bagi manusia melalui program komputer,
prosedur dan dokumentasi yang berhubungan dengannya.
DEFINISI
22
Menurut Richard Fairly (1985)

Software Engineering adalah disiplin yang secara
teknologi dan manajerial berhubungan dengan produksi
dan perawatan suatu perangkat lunak, yang
dikembangkan dan dimodifikasi menurut fungsi waktu
dan dengan perkiraan biaya didalamnya.
TIGA ELEMEN KUNCI PADA REKAYASA PL
23
Software
Engineering
Metodologi
Perangkat
Bantu
Prosedur
1. Metodologi
Merupakan sekumpulan teknik atau metoda untuk
membangun suatu perangkat lunak melalui
beberapa tahap pengembangan.
2. Perangkat pembantu (Tools)
Perkakas untuk dipergunakan pada proses
pengembangan.
Misal: CASE, data flow diagram, decision table,
program design language (PDL), dll.
3. Prosedur
Pengelolaan kegiatan pengembangan (manajemen).
Misal: Mendefinisikan tahapan-tahapan untuk
penerapan metoda, keluaran dari tiap tahap
(dokumen, laporan, formulir), kendali jaminan
kualitas dan mile-stones kemajuan proyek.
24
Software engineering adalah suatu disiplin
rekayasa yang berhubungan dengan seluruh
aspek produksi perangkat lunak.

Perekayasa perangkat lunak harus:
Menerapkan pendekatan sistematik dan
terorganisasi kedalam pekerjaan mereka.
Menggunakan perangkat dan teknik tertentu
yang tergantung pada:
Masalah yang harus dipecahkan;
Keterbatasan-keterbatasan untuk
pengembangan;
Sumber-sumber yang tersedia.
25
Tujuan pokok dari software engineering adalah
membuat pengembangan perangkat lunak lebih dekat ke
sains dan jauh dari suatu karya seni

Tujuan Dasar dari suatu software engineering adalah
untuk menghasilkan suatu perangkat lunak berkualitas,
tepat waktu dan ekonomis.
Ekonomis sebab rancangan yang buruk berakibat pada
peningkatan biaya pemeliharaan.
26
TUJUAN RPL
TUJUAN RPL
Menciptakan suatu program untuk dapat
memecahkan masalah secara fungsional.
Menjamin kualitas karakteristik seperti reliability dan
performance.
Membuat dokumentasi yang baik, mudah dimengerti
dan mudah dimodifikasi.
27
(Menurut Bill Gates)
JADI SOFTWARE ENGINEERING TERUTAMA
UNTUK MENJAWAB MASALAH:
Kualitas Perangkat Lunak
Menentukan kehandalan sistem komputer.
Mempengaruhi unjuk kerja sistem.
Menentukan apakah perangkat lunak mudah
dipelihara dan dikembangkan.
Pemeliharaan Perangkat Lunak
Memperbaiki kesalahan (bugs) pada perangkat
lunak.
Menyesuaikan dengan perubahan perangkat keras
dan sistem perangkat lunak.
Menyesuaikan dengan perkembangan dunia usaha
dan organisasi.
28
PERTANYAAN
Apa perbedaan antara software engineering
(rekayasa perangkat lunak) dengan computer
science (ilmu komputer) ?
29
PERBEDAAN ANTARA SOFTWARE ENGINEERING
DENGAN COMPUTER SCIENCE
30
Computer Science Software Engineering
Berhubungan dengan:
Teori-teori

Dasar-dasar Ilmu
Komputer
Pengetahuan praktis
untuk pengembangan
Untuk menghasilkan
perangkat lunak yang
berguna.
PERBEDAAN ANTARA SOFTWARE ENGINEERING
DENGAN COMPUTER SCIENCE
Computer science terkait dengan teori-teori dan
dasar-dasar dari ilmu komputer, sedangkan
software engineering terkait pada pengetahuan
praktis mengenai pengembangan dan penyerahan
perangkat lunak yang berguna.
Teori-teori Ilmu Komputer biasanya tidak cukup
digunakan sebagai pendukung yang lengkap dari
software engineering.
31
SOFTWARE ENGINEERING
Software engineering berhubungan dengan teori-teori,
metoda-metoda dan alat-alat (tools) untuk pengembang
perangkat lunak profesional.
Tools dan prosedur digunakan untuk membantu
mengelola ukuran, kompleksitas dan jaminan kualitas
dari produk perangkat lunak yang dihasilkan.
32
IEEE STANDARD 1074-1991 FOR DEVELOPING OF
SOFTWARE LIFE CYCLE PROCESSES.
Stardar IEEE untuk Pengembangan Proses Siklus
Hidup Perangkat Lunak.
Standar ini meliputi proses-proses pada
pengembangan perangkat lunak dan
perawatannya.
Standard ini diikuti oleh ISO/IEC 12207 untuk
Software Life Cycle Processes yang dipublikasikan
pada 1 Agustus 1995.
33
THE END
&
QUESTION ANSWERS
34

Anda mungkin juga menyukai