Anda di halaman 1dari 23

Rekayasa Perangkat

Lunak
Dosen: Syafii, ST, MT, Ph.D
Referensi
1. Pressman, Roger S.
Software engineering: a practitioners approach, 5th ed. McGraw-Hill
series in computer science, 2001
2. Rosa A.S dan M. Shalahuddin
Rekayasa Perangkat Lunak, Terstruktur dan berorientasi objek, Penerbit
Informatika, 2013
Rekayasa Perangkat Lunak (Software
engineering)
Rekayasa Perangkat Lunak adalah:
Suatu disiplin ilmu yang membahas semua aspek
produksi perangkat lunak, mulai dari tahap analisa
kebutuhan pengguna, specification (menentukan
spesifikasi dari kebutuhan pengguna), desain, coding,
testing sampai pemeliharaan sistem setelah digunakan.
Program Komputer yang terasosiasi dengan
dokumentasi perangkat lunak seperti dokumentasi
kebutuhan, model desain dan cara penggunaan (user
manual)
Rekayasa Perangkat Lunak (Software
engineering)
1) Instruksi (program komputer) yang bila dieksekusi dapat
menjalankan fungsi tertentu;
2) Struktur data yang dapat membuat program memanipulasi
informasi; dan
3) Dokumen yang menjelaskan operasi dan penggunaan program
(Roger Pressman).

Program komputer, prosedur, aturan, dan dokumentasi yang berkaitan
dengannya serta data yang berkaitan dengan operasi suatu sistem
komputer (IEEE).
ANALISIS
KEBUTUHAN
SPECIFICATION
TESTING
CODING
DESIGN
OPERATION
MAINTANANCE
Tahapan Umum Rekayasa Perangkat Lunak
What is software?
Computer programs and associated documentation such as requirements, design
models and user manuals.
Software products may be developed for a particular customer or may be
developed for a general market.
Software products may be
Generic - developed to be sold to a range of different customers e.g. PC software such as
Excel or Word.
Custom - developed for a single customer according to their specification.
New software can be created by developing new programs, configuring generic
software systems or reusing existing software.
Software costs
Software costs often dominate computer system costs. The costs of
software on a PC are often greater than the hardware cost.
Software costs more to maintain than it does to develop. For systems
with a long life, maintenance costs may be several times development
costs.
Software engineering is concerned with cost-effective software
development.
Jenis Software
SoftWare Sistem Operasi
Program yang digunakan untuk menjalankan HardWare
(mesin), Contoh : DOS, Windows, Linux, dsb
SoftWare Aplikasi
Program yang digunakan untuk menyelesaikan
masalah/aplikasi tertentu, Contoh : Ms Word, MS Excel,
SPSS, MyOB
SoftWare Bahasa
Program yang digunakan untuk menterjemahkan perintah
yang ditulis dalam bahasa pemrograman ke dalam bahasa
mesin, Contoh : Pascal, Basic, C, Java
Berdasarkan aplikasi:
System software. System software is a collection of programs written to
service other programs. Some system software (e.g., compilers, editors,
and le manage-ment utilities) process complex, but determinate,
information structures. Other systems applications (e.g., operating system
components, drivers, telecommunications
Real-time software. Software that monitors/analyzes/controls real-world
events, response (typically ranging from 1 millisecond to 1 second).
Business software. Business information processing is the largest single
software application area. Discrete "systems" (e.g., payroll, accounts
receivable/payable, inventory) have evolved into management information
system (MIS) software that accesses one or more large databases
containing business information.
Engineering and scientic software. Engineering and scientic software
have been characterized by "number crunching" algorithms.

Embedded software. Intelligent products have become commonplace in
nearly every consumer and industrial market. Embedded software resides
in read-only mem-ory and is used to control products and systems for the
consumer and industrial mar-kets.
Personal computer software. The personal computer software market has
bur-geoned over the past two decades. Word processing, spreadsheets,
computer graph-ics, multimedia, entertainment, database management,
personal and business nancial applications, external network, and
database access are only a few of hundreds of applications.
Web-based software. The Web pages retrieved by a browser are software
that incorporates executable instructions (e.g., CGI, HTML, Perl, or Java
Artificial intelligence software. Artificial intelligence (AI) software makes
use of nonnumerical algorithms to solve complex problems that are not
amenable to computation or straightforward analysis.

Proses RPL
Alat bantu pemodelan
Event Model
H method
Alat bantu pengembangan PL
Aplikasi Teknik Elektro
Power System Computation
Basic: Load Flow Calculation
Powerworld simulator
Download software powerworld di http://www.powerworld.com/gloversarmaoverbye

Visual Studio 2010
Develop Own Program
Object Oriented Programming
Visual C++
Parallel Processing
Multi-Core
Multi Threading
Tugas
Buat Aplikasi Program Metnum Menggunakan Visual C++ windows
based.
Interpolasi
Integral Batas
SPL
Contoh Kode program Interpolasi pola
Lagrange

N=3;x[0]=2.0;f[0]=4.0;x[1]=3.0;f[1]=8.0;x[2]=5.0;f[2]=25.0;
cout<<" Masukkan Nilai x = ";
cin>>z;
PNZ=0.0;
for(i=0;i<N;i++){
faktor=1;
for(j=0;j<N;j++){
if(i!=j){
faktor=faktor*((z-x[j])/(x[i]-x[j]));
}
}
PNZ=PNZ+faktor*f[i];
}
cout<<endl<<" Nilai f(x) adalah :"<<PNZ<<endl<<endl;

/* Menghitung nilai integral fungsi dengan menggunakan metode trapesium Fungsi adalah f(x)= x / (
1 + x * x ) Nilai batas atasnya adalah 3.0 Nilai batas bawahnya adalah 1.0, Jumlah selangnya adalah
10 */

float fx,fa,fb,x,trap,h,D;
float a = 1.0 ,b = 3.0;
int i, m = 10;

fa = a / ( 1 + a * a ) ;
fb = b / ( 1 + b * b ) ;
h = ( b - a ) / m;
D = 0;
for ( i = 1 ; i <= m - 1 ; i++){
x = a + i * h;
fx = x / ( 1 + x * x );
D = D + fx;
}
trap = ( fa + 2 * D + fb ) * h / 2;
cout<< Nilai integral adalah: <<trap;

Sistem Persamaan Linear
float A[3][3]={{ 1,2,1},
{ 2,2,3},
{-1,3,0}};
float b[3]={0,3,-4};

Langkah-langkah:
float x[10],l;
int i,j,k,n=3;

/*substitusi mundur untuk menghitung
penyelesaian nilai x */
x[n-1]=b[n-1]/A[n-1][n-1];
for(i=n-2;i>=0;i--) {
x[i]=b[i];
for(j=i+1;j<=n;j++)
x[i]=x[i]-A[i][j]*x[j];
x[i]=x[i]/A[i][i];
}


/*eliminasi maju untuk membuat matrik segitiga atas*/
for(k=1;k<=n-1;k++) {
for(i=0;i<=k-1;i++) {
l=A[k][i]/A[i][i];
A[k][i]=0;
for(j=i+1;j<=n-1;j++)
A[k][j]=A[k][j]-l*A[i][j];
b[k]=b[k]-l*b[i];
}
}