2. Rekayasa Sistem
Rekayasa perangkat lunak terjadi sebagai konsekuensi dari
suatu proses yang disebut rekayasa sistem.
Rekayasa sistem memfokuskan diri pada berbagai elemen,
analisis, perancangan, dan pengorganisasian elemen-elemen
tersebut ke dalam suatu sistem yang dapat menjadi sebuah
produk, jasa, atau teknologi untuk mentransformasi informasi
atau kontrol.
Proses rekayasa sistem disebut rekayasa informasi bila konteks
kerja rekayasa berfokus pada perusahaan bisnis. Pada saat
produk akan dibuat, proses itu disebut rekayasa produk.
3. Rekayasa Sistem (2)
• Rekayasa informasi bertujuan menentukan arsitektur yang
memungkinkan suatu bisnis menggunakan informasi secara
efektif.
• Rekayasa informasi menghasilkan suatu rencana menyeluruh
guna mengimplementasikan arsitektur- arsitektur berikut :
¤ arsitektur data
¤ arsitektur aplikasi
¤ infrastruktur teknologi,
menyangkut HW dan SW untuk mendukung
aplikasi dan data
4. Rekayasa Sistem (3)
• Rekayasa produk dimaksudkan untuk
menterjemahkan keinginan pelanggan
dengan serangkaian kemampuan yang
terbatas ke dalam produk yang dapat bekerja
(operasional).
5. 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
6. Rekayasa Perangkat Lunak.. Apa sih
??
• Inti yang akan dipelajari di RPL adalah
Mempelajari teknik-teknik dan tools yang
digunakan dalam pembangunan perangkat lunak
Mata kuliah yang mendasari penguatan
pemahaman dalam belajar RPL :
– IMK
– Konsep pemrograman
– Algoritma pemrograman
– Basisdata
7. 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.
• Terjemahan bebasnya:
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.
8. 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
9. 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
10. 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)
11. 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 reaksi
nuklir,dll
12. 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
13. 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
14. 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
15. 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
16. Jenis-jenis Aplikasi PL (6)
• Perangkat lunak kecerdasan
Perangkat lunak yang menggunakan algoritma
untuk memecahkan masalah kompleks yang
tidak sesuai untuk perhitungan atau analisis
secara langsung
Misal: sistem pakar, game strategi, jaringan
saraf tiruan, dll
17. 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
18. 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
19. 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
20. 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
21. 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
22. 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
23. Era V (2000 – sekarang)
- Muncul teknik-teknik baru:
- Pemrograman terstruktur
- Pemrograman berientasi objek
- Perangkat bantu pengembangan (CASE
tools)
- Standarisasi PL
- Metode UML