2. Jenis Software
• Sistem Software
• Operating system : program
yang
• mengelola hardware dan
• menyediakan user interface
• Programming Languages
• System Utility : mendukung
sistem
Application Software
custom-made,
packaged software
wordprocessor,
desktop publishing,
spreadsheet,
dbms,
graphics, etc
4. Produk SE
• Generik – dibuat untuk dijual ke suatu kumpulan
pengguna yang berbeda
• Bespoke (custom) – dibuat untuk suatu pengguna tunggal
sesuai dengan spesifikasinya
5. Pembuatan PL
• Program baru
• konfigurasi sistem PL
• gunakan lagi (reuse) program yang sudah ada.
Rekayasa Perangkat Lunak (Software Engineering)
6. Definisi Perangkat Lunak
IEEE-Standar Glossary of Software Engineering Terminology, 1990:
(Institute of Electrical and Electronic Engineering )
• Computer programs, procedures, and possibly associated documentation and
data pertaining to the operation of a computer system.
(Perangkat lunak merupakan kumpulan dari berbagai
item (program, prosedur, dan dokumen data yang
saling terkait) yang merepresentasikan masalah di
dunia nyata yang dikonfigurasikan dalam satu bentuk
aplikasi yang harus dikerjakan komputer)
7. Produk Perangkat Lunak (1)
• Perangkat lunak tidak sama dengan produk perangkat
keras
• Produk perangkat lunak dikembangkan (developed) atau
direkayasa (engineered) Tidak dipabrikkan seperti pabrik
perangkat keras, misal komputer, mobil.
• Perangkat lunak secara pemakaian tidak pernah aus/usang
layaknya suku cadang perangkat keras
8. Produk Perangkat Lunak (2)
• Perangkat lunak sebagian besar dikembangkan/dibangun
berdasarkan pemesanan hanya sebagian kecil yang dibuat
secara paket
Bentuk produk perangkat lunak
• Umum/generik
Dibuat untuk keperluan yang luas dan tidak berdasarkan pada
permintaan pihak tertentu.
• Pesanan/custome/by tailor
Dibuat spesifik sesuai sistem yang dibutuhkan oleh pemesan
9. Produk Perangkat Lunak (3)
• Karakteristik perangkat lunak yang
baik:
- Mempunyai daya guna yang tinggi (usability)
- Mempunyai kinerja sesuai fungsi yang dibutuhkan pemakai
- Mampu diandalkan (be reliable)
- Mudah dirawat/diperbaiki (maintenability)
- Lebih efisien
- Mempunyai antarmuka yang menarik (eye cathcing user
interface)
- Mempunyai siklus hidup yang cukup lama (long life time)
10. Jenis-jenis Aplikasi PL (1)
• Perangkat lunak sistem
Sekumpulan program yang ditulis untuk melayani program-program
lain
Misal: sistem operasi, driver, kompilator, interpreter, utility, dll
• Perangkat lunak waktu nyata (realtime)
Perangkat lunak yang berfungsi untuk memonitor, menganalisis,
mengontrol dan memberikan laporan tentang kejadian dunia nyata
dan meresponnya dalam waktu kurang dari 1 menit.
Misal: pengontrol arus udara, pengontrol keasaman tabung reaksi
(pressman punya), pengontrol reaksi nuklir,dll
11. Jenis-jenis Aplikasi PL (2)
• Perangkat lunak teknik dan ilmu
pengetahuan
(scientific & engineering software)
Perangkat lunak yang menangani bidang teknik dan ilmu pengetahuan secara
rinci
Misal: simulasi, astronomi, vulkanologi, analisis otomatif, dinamika orbit
pesawat ruang angkasa, biologi molekuler, otomasi pabrik, dll
• Embeded system
Perangkat lunak yg ditempelkan/dilekatkan pada perangkat lainnya (lunak/keras).
Misal: pada kamera digital, GPS, automobil, microwave, kulkas cerdas, dll
12. Jenis-jenis Aplikasi PL (3)
• Perangkat lunak pengolah data (data
processing)
Perangkat lunak yang khusus digunakan untuk mengolah data dan
menghasilkan suatu keputusan tertentu.
Misal: billing telepon, pengolah statistik
• Perangkat lunak sistem informasi
(information system)
Perangkat lunak yang mampu memberi informasi dari suatu sistem
secara lebih detail.
Misal: web site, perpustakaan digital, dll
13. Jenis-jenis Aplikasi PL (4)
• Perangkat lunak sensor
Perangkat lunak yang mampu mengukur dan mengatur suatu
keadaan khusus, kadang digolongkan dalam embedded system
juga.
Misal: pengatur cuaca, pengatur suhu ruangan, dll
• Perangkat lunak komunikasi
(communication software)
Perangkat lunak yang berfungsi untuk menghubungkan atau
mengkomunikasikan suatu objek satu dengan lainnya.
Misal: router, handphone, dll
14. Jenis-jenis Aplikasi PL (5)
• Perangkat lunak kantor (offices)
Perangkat lunak yang dirancang untuk membantu tugas-tugas
perkantoran.
Misal: word processing, spreedsheet processing, video conferences,
dll
• Perangkat lunak pengolah grafis
Perangkat lunak yang digunakan untuk melakukan perancangan
grafis
Misal: pembuatan film, pembuatan poster
15. Jenis-jenis Aplikasi PL (6)
• Perangkat lunak kecerdasan
Perangkat lunak yang menggunakan algoritma no-
numeris untuk memecahkan masalah kompleks yang
tidak sesuai untuk perhitungan atau analisis secara
langsung
Misal: sistem pakar, pembuktian teorema, game strategi,
jaringan saraf tiruan, dll
16. Evolusi Perangkat Lunak (1)
• Perangkat lunak telah semakin berkembang sejak pertama
kali diciptakan tahun 1945
• Fokus utama pembuatannya
Untuk mengembangkan praktik dan teknologi dalam
meningkatkan produktivitas para praktisi pengembang PL
dan kualitas aplikasi yg dapat digunakan oleh pemakai
• Evolusi dipicu adanya tuntutan bisnis dan lingkungan
kerja yang berkembang sangat dinamis
17. Evolusi Perangkat Lunak (2)
• Era I (1945 – 1960):
- Munculnya teknologi perangkat keras di tahap awal
- Penggunaan perangkat lunak yg berorientasi batch
- Distribusi perangkat lunak masih terbatas
- Didominasi perangkat lunak model custome
- Munculnya istilah software engineering (akhir 1950-
an/awal 1960-an)
- Belum didefinisikan secara jelas tentang aspek
software engineering
18. Evolusi Perangkat Lunak (3)
• Era II (1960 – 1970)
- Disebut era krisis perangkat lunak (software crisis).
- Penggunaan perangkat lunak sudah meluas
- Telah hadir perusahaan yang membangun software (software house)
- Perangkat lunak sdh mengenal multiprogram, multiuser, real-time, dan penggunaan
database.
- Banyak project PL yg gagal:
- Over budget/anggaran
- Meledaknya Roket Ariane àkesalahan perintah dlm PL
Dua konferensi tentang software engineering:
- Disponsori Komite Sains NATO
- Tahun 1968 dan 1969
- Profesi resmi bidang software engineering
19. Evolusi Perangkat Lunak (4)
• Era III (1975 – 1985)
- Pengembangan sistem mengarah ke konsep sistem
terdistribusi.
- Penerapan sistem embeded intelligence
- Harga perangkat keras sudah jauh lebih murah sehingga
pemakaian meluas
- Pemanfaatan jaringan global dan lokal serta sudah
diperkenalkan komunikasi digital
20. Evolusi Perangkat Lunak (5)
• Era IV (1985 – 2000)
- Kemampuan PC sudah setara dengan komputer mainframe
- Penerapan teknologi yang berorientasi pada objek
- Implementasi sistem pakar,
- Jaringan saraf tiruan
- Komputasi paralel
- Jaringan komputer sudah semakin canggih
21. Evolusi Perangkat Lunak (6)
• Era V (2000 – sekarang)
- Penggunaan media digital
- Media web berkembang pesat
- Wireless sudah meluas
- Teknologi meluas hingga di mobile computing,
mobile programming
- Perangkat keras sudah semakin kecil namun
powerfull
- Dilakukan berbagai penelitian yang menghasilkan
model proses/paradigma pengembangan PL utk
mengatasi krisis PL
22. Era V (2000 – sekarang)
- Muncul teknik-teknik baru:
- Pemrograman terstruktur
- Pemrograman berientasi objek
- Perangkat bantu pengembangan (CASE tools)
- Standarisasi PL
- Metode UML
23.
24. RPL Vs Ilmu Komputer
• Ilmu komputer berkaitan
dengan teori dan
konsep-konsep dasar;
• RPL berkaitan dengan
praktek pembangunan
PL.
Teori ilmu komputer masih kurang
sebagai penyangga RPL.k
25. RPL Vs Rekayasa Sistem
• Rekayasa sistem
berkaitan dengan semua
aspek dalam
pembangunan sistem
berbasis komputer
termasuk hardware,
rekayasa PL dan proses.
• RPL adalah bagian dari
rekayasa sistem yang
meliputi pembangunan
PL, infrasktruktur,
kontrol, aplikasi dan
database pada sistem.
Para ahli sistem (system engineers) terlibat dalam spesifikasi
sistem, desain arsitektural, integrasi dan peluncurannya
32. Lingkup Proyek
Perangkat Lunak
¤ Pengembangan perangkat lunak
¤ Pengembangan perangkat lunak, dan pengadaan
perangkat keras
¤ Pembenahan sistem prosedur, dan pengembangan
perangkat lunak
¤ Pembenahan sistem prosedur, pengembangan
perangkat lunak dan pengadaan perangkat keras
33. Ada 3 fokus manajemen
proyek perangkat lunak (PL) :
• 1. People (manusia)
• 2. Problem (masalah)
• 3. Process (proses)
34. • Manusia : mempertinggi kesiapan
organisasi PL untuk mengerjakan aplikasi
yang semakin kompleks
• Masalah : Objektifitas dan ruang
lingkupnya harus ditetapkan, pemecahan
alternatifnya harus dipertimbangkan,
teknik dan batasanpun harus didefinisikan
• Proses : memberikan suatu kerangka kerja
dimana rencana komprehensif bagi
pengembangan perangkat lunak.
35. MANAJEMEN PROYEK PERANGKAT LUNAK
Adalah aktifitas dalam memanajemen rekayasa perangkat
lunak, dimulai sebelum aktifitas teknis di inisialisasi dan
berlanjut pada keseluruhan batasan, perkembangan dan
pemeliharaan perangkat lunak komputer.
Masalah terbagi menjadi 2 bagian :
1. Ruang Lingkup : - Konteks
- Tujuan / informasi
- Fungsi / unjuk kerja
2. Dekomposisi Masalah :
- Fungsionalitas
36. Para pemain
Manajer Senior : Menentukan isu-isu bisnis
Manajer (Teknik) Proyek : Memimpin pembuatan
proyek PL
Pelaksana : Menyampaikan ketrampilan teknik
yang diperlukan untuk mengembangkan
Perangkat Lunak.
Pelanggan : Menentukan jenis kebutuhan bagi
perangkat lunak.
Pemakai Akhir : Yang menggunakan / berinteraksi
dengan PL.
37. Struktur tim “terbaik” tergantung pada gaya manejemen sebuah
organisasi. Ada 3 organisasi tim yang umum :
1. Demokratis Desentralisasi
Pemimpin tidak permanen, tugasnya pendek, koordinator berganti,
keputusan dibuat oleh konsensus kelompok, komunikasi bersifat
horisontal.
2. Terkontrol Desentralisasi
Pemimpin primer mengkoordinasi tugas khusus dan pemimoin
sekunder bertanggung jawab atas sub-sub masalah. Komunikasi
horisontal tapi kontrol dilakukan vertikal.
3. Terkontrol Sentralisasi
Koordinasi pemecahan masalah dilakukan di pimpinan puncak dan
dibentuk tim internal, komunikasi secara vertikal.
38. Pemimpin harus memiliki kemampuan :
Motivasi, Organisasi, Inovatif
Pilihan-pilihan yang dapat diambil untuk menerapkan sumber daya manusia kepada
sebuah proyek, dimana n manusia.
1. n manusia mengerjakan tugas-tugas fungsional yang berbeda
sebanyak m dengan sedikit kombinasi kerja.
2. m < n , dimana m tugas dan n manusia sehingga tim informal terbentuk.
3. n orang diatur dalam t tim dimana setiap tim bertugas mengerjakan satu tugas
fungsional atau lebih
42. 4. SPIRAL
Model proses PL yang evalusioner, yang merangkai sifat
interatif dari prototipe dengan cara kontrol dan aspek
sistematis dari model sekuensial linear.
43. Pengukuran Perangkat Lunak
1. Pengukuran langsung à biaya & usaha yang diaplikasikan
• Listing program
• Kecepatan eksekusi
• Ukuran memori
• Error pada sejumlah periode waktu.
44. 2. Pengukuran tidak langsung :
Fungsionalitas dan kualitas, kompleksitas,
efisiensi, maintenance (kemampuan
pemeliharaan), reliabilitas (keandalan).