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