PRODUK DAN PROSES - WordPress.com

32 downloads 517 Views 1MB Size Report
Perangkat lunak : program komputer, prosedur, aturan, dan dokumentasi yang ... Instruksi (program komputer) yang bila dieksekusi dapat menjalankan fungsi.
PRODUK DAN PROSES Aprilia Sulistyohati, S.Kom

Jurusan Teknik Informatika Universitas Islam Indonesia

Your Logo

PENGANTAR

Apa yang dimaksud dengan PERANGKAT LUNAK ? Apa yang dimaksud dengan REKAYASA PERANGKAT LUNAK?

Page 2

REKAYASA PERANGKAT LUNAK  DEFINISI REKAYASA Engineering = rekayasa 􀂾 Pemakaian „science‟ untuk menyelesaikan „masalah praktis‟ 􀂾 Dari tidak ada menjadi ada

 Definisi Perangkat Lunak

• Software = Perangkat lunak 􀂾 Kumpulan program komputer dengan fungsi tertentu • Perangkat lunak : program komputer, prosedur, aturan, dan dokumentasi yang berkaitan dengan data, dan berhubungan dengan operasi suatu sistem komputer (IEEE, 1993).

Page 3

REKAYASA PERANGKAT LUNAK Perangkat lunak adalah 1. Instruksi (program komputer) yang bila dieksekusi dapat menjalankan fungsi tertentu,

2. Struktur data yang dapat membuat program memanipulasi informasi 3. Dokumen yang menjelaskan operasi dan penggunaan program (Pressman, 1997).

Page 4

Karakteristik Perangkat Lunak 1. Perangkat lunak dapat dikembangkan 2. Produk yang unik (tidak ada seri produksi). 3. Perangkat lunak tidak pernah rusak/aus karena selalu diperbaharui 4. Tidak terlihat (invisible). 5. Perangkat lunak pada umumnya dibangun sesuai keinginan, jadi tidak dibentuk dari komponen yang sudah ada. 6. Fleksibel, sehingga mudah dimodifikasi. 7. Dihubungkan (linked) dengan sistem komputer.

Page 5

Rekayasa perangkat lunak (software engineering)  Rekayasa perangkat lunak (software engineering) : suatu proses rancang bangun.

 Penerapan pendekatan yang sistematis, disiplin, dan terukur untuk pengembangan, operasi, dan pemeliharaan perangkat lunak (IEEE, 1993).

 Pembentukan dan penggunaan prinsip rekayasa (engineering) untuk mendapatkan perangkat lunak secara ekonomis namun handal dan dapat bekerja secara efesien pada komputer (Fritz Bauer, 1968).

Page 6

Rekayasa perangkat lunak (software engineering)  Merupakan aplikasi dari prinsip-prinsip sains untuk - Mengurutkan transformasi masalah menjadi solusi yang dapat bekerja dengan baik - Urutan pemeliharaan perangkat lunak sampai tidak dapat digunakan lagi (Alan M. Davis)

 Suatu disiplin yang mengintegrasikan proses/prosedur, metode, dan perangkat tools untuk pembangunan perangkat lunak komputer (Pressman, 97).

Page 7

TUJUAN RPL  Menghasilkan sebuah perangkat lunak yang berkualitas .  Menghasilkan perangkat lunak dengan biaya yang efisien.  Menghasilkan perangkat lunak tepat pada waktunya.

Page 8

Mengapa Rekayasa Perangkat Lunak ? Adanya krisis perangkat lunak (NATO conference, 1968) :  Perangkat

lunak

lebih

banyak

menyebabkan

masalah

daripada

menyelesaikannya.

 Peningkatan ukuran perangkat lunak tanpa pengorganisasian.  Perbaikan suatu kesalahan menyebabkan timbulnya kesalahan lainnya.  Tidak ada kendali pemeliharaan.

Page 9

Masalah-masalah perangkat lunak :  Perangkat lunak telah diselesaikan dan diserahkan (delivered) tetapi tidak pernah digunakan (47%).  Pemakai (user) sudah membayar untuk perangkat lunak tetapi tidak pernah jadi dan diserahkan (29,7%).  Perangkat lunak digunakan setelah dilakukan modifikasi (3%).  Perangkat lunak digunakan sebagaimana mestinya (2%).

Page 10

FAKTOR PENDUKUNG ADANYA RPL  Ketidakmampuan untuk memprediksi waktu, usaha dan biaya pada pengembangan perangkat lunak.  Kualitas perangkat lunak yang kurang baik.  Perubahan perbandingan (rasio) harga perangkat keras dan perangkat lunak.  Kemajuan teknologi perangkat keras.  Kemajuan teknik perangkat lunak.  Kebutuhan yang meningkat terhadap perangkat lunak.  Kebutuhan akan perangkat lunak yang lebih besar dan kompleks.

Page 11

PERANAN PERANGKAT LUNAK  Suatu Produk - PL Mengantarkan penghitungan yang dibangun oleh perangkat lunak komputer.

 Kendaraan untuk membangun suatu produk, yaitu sebagai - Dasar untuk kontrol komputer (sistem operasi) - Komunikasi informasi (jaringan) - Penciptaan serta kontrol dari program-program lain (piranti dan lingkungan perangkat lunak)

Page 12

JENIS PERANGKAT LUNAK Perangkat lunak sistem FUNGSI

Perangkat lunak aplikasi PL Sistem (Sistem Software) PL Waktu Nyata (Real Time Software) PL Bisnis (Business Software) PL Rekayasa dan Sains (Engineering and Scientific

APLIKASI

Software) PL Komputer Pribadi (Personal Computer Software) PL Intelegensia Buatan (Artificial Intelligent Software) Embedded Software

Page 13

EVOLUSI PERANGKAT LUNAK

1950

1960

1970

1980

Era awal Era kedua Era ketiga Era keempat

Page 14

1990

2000

PERKEMBANGAN SOFTWARE  Era

 Era

Awal

 Orientasi

batch  Distribusi terbatas 

Perangkat lunak customisasi

 Era

Kedua

terdistribusi  Embedded intelligence  Perangkat keras biaya rendah

Keempat

 Sistem

 Real-time

 Database  Perangkat

 Sistem

 Era

 Multiuser

Ketiga

lunak produk

Page 15

desktop  Teknologi berorientasi objek  Sistem Pakar  Jaringan saraf tiruan  Komputasi paralel  Komputer jaringan

BERDASARKAN FUNGSI 1. Perangkat lunak sistem  Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk operasional komputer. - sistem operasi - penerjemah bahasa pemrograman (compiler/interpreter)

2. Perangkat lunak aplikasi  Perangkat lunak yang kegunaannya lebih banyak untuk membantu menyelesaikan masalah-masalah yang dihadapi oleh pemakai. - program paket yang sudah jadi - program aplikasi buatan sendiri Page 16

BERDASARKAN APLIKASI 

Perangkat Lunak Sistem (Sistem Software) Sekumpulan program yang ditulis untuk kepentingan program lain

ex: Kompiler, editor, utilitas pengatur file, komponen SO, driver



Perangkat Lunak Waktu Nyata (Real Time Software)

Perangkat lunak yang digunakan untuk mengukur/menganalisis proses pemasukan data dari lingkungan luar sampai menghasilkan laporan yang diinginkan ex: komponen pengumpulan data, komponen analisis , komponen monitoring

Page 17

BERDASARKAN APLIKASI 

Perangkat Lunak Bisnis (Business Software)

Perangkat lunak yang memberikan fasilitas operasi untuk bisnis atau fasilitas pengambilan keputusan manajemen. Ex: sistem akuntansi, inventory, ORACLE, SAP, payroll/ penggajian

Perangat Lunak Rekayasa dan Sains (Engineering and Scientific Software) Perangkat lunak yang digunakan di dalam bidang aplikasi teknik

dan kerekayasaan . Ex: komputasi data numerik, CAD (Computer Aided Design), simulasi sistem, aplikasi interaktif

Page 18

BERDASARKAN APLIKASI Embedded Software Perangkat lunak yang digunakan untuk mengontrol suatu produk dan sistem dimana perangkat lunak tersebut disimpan. Biasanya

ditempatkan di ROM. Ex: keypad pada Microwave Oven

Perangkat Lunak Komputer Pribadi (Personal Computer Software) Banyak digunakan pada aplikasi yang bersifat perorangan, Ex: pengolah kata, multimedia, hiburan, DBMS

Page 19

BERDASARKAN APLIKASI Perangkat Lunak Intelegensia Buatan (Artificial Intelligent Software) Dibuat

dengan

menggunakan

teknik

algoritma

non-numerik

untuk

memecahkan masalah yang kompleks, digunakan dalam bidang aplikasi kecerdasan buatan. Ex: game, expert sistem / pakar, neural network, Turbo Prolog, jaringan syaraf tiruan.

Page 20

Kegagalan Perangkat Lunak

Masalah yang biasa terjadi : • Syarat/kebutuhan yang lemah • Penjadwalan yang tidak realistis • Kurangnya pengujian • Tidak menarik • Kesalahpahaman (antara tim & konsumen, antar tim)

Standish Group, laporan CHAOS pada tahun 2000 : • Jumlah perangkat lunak yang berhasil → 26%

• 74% → FAILED !!! Page 21

Kurva kegagalan perangkat keras (hardware)

“Kematian segera” Tingkat kegagalan

usang

Waktu

Page 22

Kurva kegagalan perangkat lunak

Pada tingkat yang sama sampai usang

Page 23

Kurva kegagalan aktual untuk perangkat lunak

Laju kegagalan

laju kegagalan meningkat sehubungan dengan efek sampingan

perubahan kurva aktual

kurva ideal Waktu

Page 24

Problem yang selalu ada (Ongoing)  Penyebaran penggunaan computer telah membuat ketergantungan masyarakat terhadap komputer  Kemajuan perangkat keras melebihi kemampuan membuat software  Tantangan untuk membangun software dengan reliability & quality yang tinggi  Kemampuan permintaan

membangun

program

program-program

baru,

baru

tidak

sebanding

dapat

memenuhi

dengan

kecepatan

membangun program tidak dapat mengikuti kebutuhan bisnis dan pasar  Kemampuan dalam meningkatkan program terancam oleh design yang

buruk dan keterbatasan sumberdaya

Page 25

Penyelesaian Masalah (Problem Solving)

COMPUTER SCIENCE

Teori

CUSTOMER

Fungsi computer

SOFTWARE ENGINEERING Tools dan Teknik untuk Menyelesaikan Problem

Page 26

Problem

Lapisan Rekayasa Perangkat Lunak tools metode

proses fokus kualitas  Rekayasa perangkat lunak merupakan sebuah teknologi yang

mencakup keseluruhan dari gambar di atas

Page 27

FASE REKAYASA PERANGKAT LUNAK 1) Fase definisi (Definition Phase) : Fokus pada “apa/what”.   

Informasi apa yang akan diproses? Fungsi-fungsi apa saja yang dibutuhkan? Interface seperti apa yg akan dibangun?

2) Fase pengembangan (Development Phase ) : Fokus pada “bagaimana/how”    

Bagaimana teknisi mendefinisikan data yang harus dibangun? Bagaimana fungsi-fungsi diimplementasikan sebagai arsitektur PL? Bagaimana rancangan akan diterjemahkan ke dalam bahasa pemrograman? Bagaimana pengujian dilakukan ?

3) Fase pemeliharaan (Maintenance Phase) : Fokus pada “perubahan/change”  

Perubahan yanmg dihubungkan dengan koreksi kesalahan Perubahan yang berhubungan dengan perkembangan kebutuhan

Page 28

Aktivitas Pelindung RPL        

Perangkat lunak manajemen proyek Tinjauan teknik formal Jaminan kualitas perangkat lunak Konfigurasi manajemen perangkat lunak Persiapan dan produksi kerja produk Manajemen Reusability Pengukuran Manajemen resiko

TIPE PERUBAHAN PADA FASE PENGEMBANGAN 1) 2) 3) 4)

Koreksi Adaptasi Perkembangan (Enhancement) Pencegahan

Page 29

PROSES PERANGKAT LUNAK

Page 30

Aktivitas Kerangka Kerja 1) Komunikasi 2) Perencanaan 3) Pemodelan a) Analisis kebutuhan b) Desain

4) Konstruksi a) Pembangkitan kode b) Pengujian

5) Penyebaran

Page 31

TINGKAT KEMATANGAN PROSES  Pendekatan Software Engineering Institute [SEI] memberikan sebuah pengukuran terhadap efektivitas global dari sebuah praktek perekayasaan perangkat lunak perusahaan dan membangun lima tingkat kematangan

proses berikut ini : - Level 1 : Initial - Level 2 : Repeatable - Level 3 : Defined - Level 4 : Managed - Level 5 : Optimizing

Page 32

Model model Proses Perangkat Lunak  Model Sekuensial Linier  Model Prototipe  Model Rapid Application Development (RAD)  Model Proses Perangkat Lunak Evolusioner - Model Pertambahan

- Model Spiral - Model Rakitan Komponen - Model Perkembangan Konkuren

 Model Formal

Page 33

TUGAS INDIVIDU  Berikan minimal 3 kasus yang berkaitan dengan kegagalan penggunaan perangkat lunak.

 Ketentuan : - Bahasa Indonesia

- Hardcopy (print) tanpa cover - Kumpul pertemuan kuliah berikutnya - Sertakan daftar referensi yang anda gunakan

Page 34

Page 35