Pertemuan ke 1 (perangkat lunak)

17
Rekayasa Perangkat Lunak Boldson Herdianto Situmorang, Skom., MMSI 1 Rekayasa Perangkat Lunak

Transcript of Pertemuan ke 1 (perangkat lunak)

Page 1: Pertemuan ke 1 (perangkat lunak)

Rekayasa Perangkat Lunak

Boldson Herdianto Situmorang, Skom., MMSI

1Rekayasa Perangkat Lunak

Page 2: Pertemuan ke 1 (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

Page 3: Pertemuan ke 1 (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

Page 4: Pertemuan ke 1 (perangkat lunak)

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

Page 5: Pertemuan ke 1 (perangkat lunak)

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

Page 6: Pertemuan ke 1 (perangkat lunak)

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

Page 7: Pertemuan ke 1 (perangkat lunak)

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

Page 8: Pertemuan ke 1 (perangkat lunak)

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

Page 9: Pertemuan ke 1 (perangkat lunak)

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

Page 10: Pertemuan ke 1 (perangkat lunak)

Perencanaan

Analisis

Perancangan

Implementasi

Uji Coba

Rekayasa Perangkat Lunak 10

Siklus Hidup Pengembangan Sistem

Sistem

diterima

?

Penggunaan

Y

T

Page 11: Pertemuan ke 1 (perangkat lunak)

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

Page 12: Pertemuan ke 1 (perangkat lunak)

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

Page 13: Pertemuan ke 1 (perangkat lunak)

� 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

Page 14: Pertemuan ke 1 (perangkat lunak)

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

Page 15: Pertemuan ke 1 (perangkat lunak)

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

Page 16: Pertemuan ke 1 (perangkat lunak)

� 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

Page 17: Pertemuan ke 1 (perangkat lunak)

� 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