produk dan proses - · pdf fileproduk dan proses aprilia sulistyohati, ... (tidak ada seri...
Post on 06-Feb-2018
224 Views
Preview:
TRANSCRIPT
Your Logo
PRODUK DAN PROSESAprilia Sulistyohati SKom
Jurusan Teknik Informatika
Universitas Islam Indonesia
Page 2
PENGANTAR
Apa yang dimaksud dengan PERANGKAT
LUNAK
Apa yang dimaksud dengan REKAYASA
PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
DEFINISI REKAYASA
Engineering = rekayasa
1048766 Pemakaian bdquoscience‟ untuk menyelesaikan bdquomasalah praktis‟
1048766 Dari tidak ada menjadi ada
Definisi Perangkat Lunak
bull Software = Perangkat lunak
1048766 Kumpulan program komputer dengan fungsi tertentu
bull 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 rusakaus 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 prosesprosedur 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 (297)
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
Perangkat lunak aplikasi
PL Sistem (Sistem Software)
PL Waktu Nyata (Real Time Software)
PL Bisnis (Business Software)
PL Rekayasa dan Sains (Engineering and Scientific
Software)
PL Komputer Pribadi (Personal Computer Software)
PL Intelegensia Buatan (Artificial Intelligent Software)
Embedded Software
Page 13
APLIKASI
FUNGSI
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
Page 2
PENGANTAR
Apa yang dimaksud dengan PERANGKAT
LUNAK
Apa yang dimaksud dengan REKAYASA
PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
DEFINISI REKAYASA
Engineering = rekayasa
1048766 Pemakaian bdquoscience‟ untuk menyelesaikan bdquomasalah praktis‟
1048766 Dari tidak ada menjadi ada
Definisi Perangkat Lunak
bull Software = Perangkat lunak
1048766 Kumpulan program komputer dengan fungsi tertentu
bull 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 rusakaus 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 prosesprosedur 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 (297)
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
Perangkat lunak aplikasi
PL Sistem (Sistem Software)
PL Waktu Nyata (Real Time Software)
PL Bisnis (Business Software)
PL Rekayasa dan Sains (Engineering and Scientific
Software)
PL Komputer Pribadi (Personal Computer Software)
PL Intelegensia Buatan (Artificial Intelligent Software)
Embedded Software
Page 13
APLIKASI
FUNGSI
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
REKAYASA PERANGKAT LUNAK
DEFINISI REKAYASA
Engineering = rekayasa
1048766 Pemakaian bdquoscience‟ untuk menyelesaikan bdquomasalah praktis‟
1048766 Dari tidak ada menjadi ada
Definisi Perangkat Lunak
bull Software = Perangkat lunak
1048766 Kumpulan program komputer dengan fungsi tertentu
bull 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 rusakaus 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 prosesprosedur 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 (297)
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
Perangkat lunak aplikasi
PL Sistem (Sistem Software)
PL Waktu Nyata (Real Time Software)
PL Bisnis (Business Software)
PL Rekayasa dan Sains (Engineering and Scientific
Software)
PL Komputer Pribadi (Personal Computer Software)
PL Intelegensia Buatan (Artificial Intelligent Software)
Embedded Software
Page 13
APLIKASI
FUNGSI
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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 rusakaus 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 prosesprosedur 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 (297)
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
Perangkat lunak aplikasi
PL Sistem (Sistem Software)
PL Waktu Nyata (Real Time Software)
PL Bisnis (Business Software)
PL Rekayasa dan Sains (Engineering and Scientific
Software)
PL Komputer Pribadi (Personal Computer Software)
PL Intelegensia Buatan (Artificial Intelligent Software)
Embedded Software
Page 13
APLIKASI
FUNGSI
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
Karakteristik Perangkat Lunak
1 Perangkat lunak dapat dikembangkan
2 Produk yang unik (tidak ada seri produksi)
3 Perangkat lunak tidak pernah rusakaus 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 prosesprosedur 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 (297)
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
Perangkat lunak aplikasi
PL Sistem (Sistem Software)
PL Waktu Nyata (Real Time Software)
PL Bisnis (Business Software)
PL Rekayasa dan Sains (Engineering and Scientific
Software)
PL Komputer Pribadi (Personal Computer Software)
PL Intelegensia Buatan (Artificial Intelligent Software)
Embedded Software
Page 13
APLIKASI
FUNGSI
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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 prosesprosedur 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 (297)
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
Perangkat lunak aplikasi
PL Sistem (Sistem Software)
PL Waktu Nyata (Real Time Software)
PL Bisnis (Business Software)
PL Rekayasa dan Sains (Engineering and Scientific
Software)
PL Komputer Pribadi (Personal Computer Software)
PL Intelegensia Buatan (Artificial Intelligent Software)
Embedded Software
Page 13
APLIKASI
FUNGSI
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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 prosesprosedur 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 (297)
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
Perangkat lunak aplikasi
PL Sistem (Sistem Software)
PL Waktu Nyata (Real Time Software)
PL Bisnis (Business Software)
PL Rekayasa dan Sains (Engineering and Scientific
Software)
PL Komputer Pribadi (Personal Computer Software)
PL Intelegensia Buatan (Artificial Intelligent Software)
Embedded Software
Page 13
APLIKASI
FUNGSI
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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 (297)
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
Perangkat lunak aplikasi
PL Sistem (Sistem Software)
PL Waktu Nyata (Real Time Software)
PL Bisnis (Business Software)
PL Rekayasa dan Sains (Engineering and Scientific
Software)
PL Komputer Pribadi (Personal Computer Software)
PL Intelegensia Buatan (Artificial Intelligent Software)
Embedded Software
Page 13
APLIKASI
FUNGSI
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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 (297)
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
Perangkat lunak aplikasi
PL Sistem (Sistem Software)
PL Waktu Nyata (Real Time Software)
PL Bisnis (Business Software)
PL Rekayasa dan Sains (Engineering and Scientific
Software)
PL Komputer Pribadi (Personal Computer Software)
PL Intelegensia Buatan (Artificial Intelligent Software)
Embedded Software
Page 13
APLIKASI
FUNGSI
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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 (297)
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
Perangkat lunak aplikasi
PL Sistem (Sistem Software)
PL Waktu Nyata (Real Time Software)
PL Bisnis (Business Software)
PL Rekayasa dan Sains (Engineering and Scientific
Software)
PL Komputer Pribadi (Personal Computer Software)
PL Intelegensia Buatan (Artificial Intelligent Software)
Embedded Software
Page 13
APLIKASI
FUNGSI
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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
Perangkat lunak aplikasi
PL Sistem (Sistem Software)
PL Waktu Nyata (Real Time Software)
PL Bisnis (Business Software)
PL Rekayasa dan Sains (Engineering and Scientific
Software)
PL Komputer Pribadi (Personal Computer Software)
PL Intelegensia Buatan (Artificial Intelligent Software)
Embedded Software
Page 13
APLIKASI
FUNGSI
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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
Perangkat lunak aplikasi
PL Sistem (Sistem Software)
PL Waktu Nyata (Real Time Software)
PL Bisnis (Business Software)
PL Rekayasa dan Sains (Engineering and Scientific
Software)
PL Komputer Pribadi (Personal Computer Software)
PL Intelegensia Buatan (Artificial Intelligent Software)
Embedded Software
Page 13
APLIKASI
FUNGSI
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
JENIS PERANGKAT LUNAK
Perangkat lunak sistem
Perangkat lunak aplikasi
PL Sistem (Sistem Software)
PL Waktu Nyata (Real Time Software)
PL Bisnis (Business Software)
PL Rekayasa dan Sains (Engineering and Scientific
Software)
PL Komputer Pribadi (Personal Computer Software)
PL Intelegensia Buatan (Artificial Intelligent Software)
Embedded Software
Page 13
APLIKASI
FUNGSI
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
EVOLUSI PERANGKAT LUNAK
Page 14
1950 1960 1970 1980 1990 2000
Era awal
Era kedua
Era ketiga
Era keempat
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
PERKEMBANGAN SOFTWARE
Era Awal
Orientasi batch
Distribusi terbatas
Perangkat lunak customisasi
Era Kedua
Multiuser
Real-time
Database
Perangkat lunak produk
Era Ketiga
Sistem terdistribusi
Embedded intelligence
Perangkat keras biaya
rendah
Era Keempat
Sistem desktop
Teknologi berorientasi
objek
Sistem Pakar
Jaringan saraf tiruan
Komputasi paralel
Komputer jaringan
Page 15
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
BERDASARKAN FUNGSI
1 Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan
untuk operasional komputer
- sistem operasi
- penerjemah bahasa pemrograman (compilerinterpreter)
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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 mengukurmenganalisis
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
Kegagalan Perangkat Lunak
Masalah yang biasa terjadi
bull Syaratkebutuhan yang lemah
bull Penjadwalan yang tidak realistis
bull Kurangnya pengujian
bull Tidak menarik
bull Kesalahpahaman (antara tim amp konsumen antar tim)
Standish Group laporan CHAOS pada tahun
2000
bull Jumlah perangkat lunak yang berhasil rarr 26
bull 74 rarr FAILED
Page 21
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
Kurva kegagalan perangkat keras (hardware)
Page 22
Waktu
Tin
gkat kegagala
n
ldquoKematian
segerardquousang
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
Kurva kegagalan perangkat lunak
Page 23
Pada tingkat yang
sama sampai usang
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
Kurva kegagalan aktual untuk perangkat lunak
Page 24
Waktu
kurva ideal
kurva aktual
Laju
kegagala
n
perubahan
laju kegagalan meningkat
sehubungan dengan
efek sampingan
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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 amp quality yang
tinggi
Kemampuan membangun program baru tidak dapat memenuhi
permintaan program-program baru sebanding 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)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
Penyelesaian Masalah (Problem Solving)
Page 26
COMPUTER SCIENCE
CUSTOMER
SOFTWAREENGINEERING
TeoriFungsi
computer Problem
Tools dan Teknik untuk
MenyelesaikanProblem
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
Lapisan Rekayasa Perangkat Lunak
Page 27
fokus kualitas
proses
metode
tools
Rekayasa perangkat lunak merupakan sebuah teknologi yang
mencakup keseluruhan dari gambar di atas
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
FASE REKAYASA PERANGKAT LUNAK
1) Fase definisi (Definition Phase) Fokus pada ldquoapawhatrdquo
Informasi apa yang akan diproses
Fungsi-fungsi apa saja yang dibutuhkan
Interface seperti apa yg akan dibangun
2) Fase pengembangan (Development Phase ) Fokus pada
ldquobagaimanahowrdquo
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
ldquoperubahanchangerdquo
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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 PENGEMBANGAN1) Koreksi
2) Adaptasi
3) Perkembangan (Enhancement)
4) 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
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
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
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
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
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
Page 35
top related