2. overview
• What is software?
• Software characteristic
• Software Challenges
• What Is Software Engineering?
• Ruang Lingkup Software Engineering
3. What Is Software?
• Software is designed and built by software
engineers.
• Software is used by everyone in society.
• Software engineers have a moral obligation to
build reliable software that does no harm to other
people.
• Software users are only concerned with whether
or not software products meet their expectations
and make their tasks easier to complete.
4. Definisi Perangkat Lunak
• Sekelompok item atau objek yang
membentuk “konfigurasi” dimana di
dalamnya termasuk :
- instruksi program
- dokumen
- struktur data
• Perangkat Lunak adalah Program-program
komputer beserta dokumentasinya, seperti
requirement, model desain dan user
manual.
5. Definisi Perangkat Lunak (2)
1. Instruksi atau program komputer yang
ketika dieksekusi akan memberi fungsi
dan hasil yang diinginkan.
2. Struktur Data yang memungkinkan
program memanipulasi informasi
3. Dokumen yang menggambarkan
operasi dan penggunaan program.
6. Software characteristic
– Pembuatan perangkat lunak berdasarkan logika
(rekayasa/software engineering). Ini
menyebabkan pembuatan perangkat lunak
kompleks dan berbeda antara satu programmer
dengan programmer lainnya.
– software is engineered not manufactured
Perangkat lunak dikembangkan bukan dibuat
oleh pabrik-pabrik tertentu. Hal ini berarti bahwa
perangkat lunak tidak dibuat secara massal,
karena dalam pembuatan perangkat lunak
memerlukan perancangan yang baik.
– software doesn’t wear out, it is like an ‘aging factory’
Perangkat lunak tidak akan pernah usang karena
selalu diperbaharui
7. What Is Software Engineering?
Suatu disiplin ilmu yang membahas
tentang semua aspek produksi perangkat
lunak, mulai dari tahap awal yaitu analisa
kebutuhan pengguna, menentukan
spesifikasi dari kebutuhan pengguna
design, pengkodean, pengujian sampai
pemeliharaan sistem setelah digunakan.
8. • Pernyataan “semua aspek produksi”
pada pengertian di atas, mempunyai
arti semua hal yang berhubungan
dengan proses produksi seperti
manajemen proyek, penentuan
personil, anggaran biaya, metode,
jadwal, kualitas sampai dengan
pelatihan pengguna merupakan bagian
dari RPL.
10. Tahun-tahun Pertama
• Batch Orientation
Suatu orientasi di mana proses dilakukan setelah
data dikumpulkan dalam satuan waktu tertentu,
atau proses dilakukan setelah data terkumpul, lawan
dari batch adalah ONLINE atau Interactive Process.
Keuntungan dari Interactive adalah mendapatkan
data yang selalu up to date.
• Limmited distribution
Suatu penyebaran software yang terbatas pada
perusahaan-perusahaan tertentu.
• Custom software
Software yang dikembangkan berdasarkan keinginan
perusahaan-perusahaan tertentu.
11. Era Kedua
Multi user
Suatu sistem di mana satu komputer digunakan oleh
beberapa user pada saat yang sama.
Real Time
Suatu sistem yang dapat mengumpulkan, menganalisa dan
mentransformasikan data dari berbagai sumber,
mengontrol proses dan menghasilkan output dalam mili
second.
Database
Perkembangan yang pesat dari alat penyimpan data yang
OnLine menyebabkan muncul generasi pertama DBMS
(DataBase Management System).
Product Software
Adalah software yang dikembangkan untuk dijual kepada
masyarakat luas.
12. Era Ketiga
• Distributed system
Suatu sistem yang tidak hanya dipusatkan pada komputer induk
(Host computer), daerah atau bidang lainnya yang juga memiliki
komputer yang ukurannya lebih kecil dari komputer induk. Lawan
dari distributed system adalah Centralized System.
• Embedded Intelegence
Suatu product yang diberi tambahan “Intellegence” dan biasanya
ditambahkan mikroprocessor yang mutakhir. Contohnya adalah
automobil, robot, peralatan diagnostic serum darah.
• Low Cost Hardware
Harga hardware yang semakin rendah, ini dimungkinkan karena
munculnya Personal Computer.
• Consumer Impact
Adanya perkembangan komputer yang murah menyebabkan
banyaknya software yang dikembangkan, software ini memberi
dampak yang besar terhadap masyarakat.
13. Era Keempat
• Expert system
Suatu penerapan A.I. (Artificial Intellegence)
pada bidang-bidang tertentu, misalnya bidang
kedokteran, komunikasi, dll.
• AI Machine
Suatu mesin yang dapat meniru kerja dari
sebagian otak manusia. Misalnya mesin robot,
komputer catur.
• Parallel Architecture
Arsitektur komputer yang memungkinkan
proses kerja LAN paralel, yang dimungkinkan
adanya prosesor berbeda dalam satu
komputer
14. Ruang Lingkup (Abran et.al.,2004)
• Sesuai definisi yang telah disampaikan
sebelumnya, maka ruang lingkup RPL
dapat digambarkan sebagai berikut.
15. • Software requirements berhubungan dengan
spesifikasi kebutuhan dan persyaratan perangkat
lunak.
• Software design mencakup proses penentuan
arsitektur, komponen, antarmuka, dan
karakteristik lain dari perangkat lunak.
• Software construction berhubungan dengan detil
pengembangan perangkat lunak, termasuk
algoritma, pengkodean, pengujian, dan
pencarian kesalahan.
• Software testing meliputi pengujian pada
keseluruhan perilaku perangkat lunak.
16. • Software maintenance mencakup
upaya-upaya perawatan ketika
perangkat lunak telah dioperasikan
• Software configuration management
berhubungan dengan usaha
perubahan konfigurasi perangkat
lunak untuk memenuhi kebutuhan
tertentu.
• Software engineering management
berkaitan dengan pengelolaan dan
pengukuran RPL, termasuk
perencanaan proyek perangkat lunak.
17. • Software engineering tools and methods
mencakup kajian teoritis tentang alat
bantu dan metode RPL.
• Software engineering process
berhubungan dengan definisi,
implementasi, pengukuran, pengelolaan,
perubahan dan perbaikan proses RPL.
• Software quality menitikberatkan pada
kualitas dan daur hidup perangkat lunak.
18. Produk Perangkat Lunak
• Produk perangkat lunak dibuat untuk
pelanggan tertentu ataupun untuk
pasar umum Produk perangkat lunak
ada dua jenis :
– Generik – dibuat untuk dijual ke suatu
kumpulan pengguna yang berbeda atau
pasar umum.
– Bespoke (custom) – dibuat untuk suatu
pengguna tunggal sesuai dengan
spesifikasi yang diinginkan pengguna.
19. Jenis-Jenis Perangkat
Lunak (1)
• System Software - Kumpulan dari beberapa
program yang dibuat untuk memberikan servis
terhadap program lainnya pada setiap level.
Contohnya : compiler, operating sistem
• Real-time Software - Program yang dapat
memonitor/menganalisa/mengontrol kejadian
nyata yang terjadi di dunia ini
• Business Software - Program yang dapat
mengakses, menganalisa dan memproses
informasi bisnis.
• Engineering and Scientific Software
Contoh: Sistem simulation
20. • Embedded Software - Software terletak pada read
only memory dan digunakan untuk mengontrol
produk dan sistem yang akan dikirimkan untuk
konsumen dan industrial markets.
• Artificial Intelligence (AI) Software - program yang
digunakan untuk teknik AI dan metodenya
digunakan untuk memecahkan masalah yang
kompleks. Contohnya : expert sistem, pengenalan
pola, games.
• Internet Software - program yang mensupport
pengaksesan internet. Contohnya : search engine,
browser, e-commerce
• Software Tools and CASE environment - tools dan
program yang dapat membantu pembuatan aplikasi
software dan sistem.
contohnya : test tools dan version control tools.
21. Proses Perangkat Lunak
• Sekumpulan aktifitas yang memiliki tujuan untuk
mengembangkan ataupun mengubah perangkat lunak.
• Secara umum proses perangkat lunak terdiri
dari:
– Spesifikasi (specification) apa yang harus
dilakukan oleh perangkat lunak dan
batasan/kendala pengembangannya
– Pengembangan (development) proses
memproduksi sistem perangkat lunak
– Validasi (validation) pengujian perangkat
lunak terhadap keinginan pengguna
(user/customer)
– Evolusi (evolution) perubahan perangkat
lunak berdasarkan keinginan/kebutuhan
pelanggan (customer).