Slide IST203 Software Software Engineering

Pertemuan #1:
Software & Software Engineering
Rekayasa Perangkat Lunak – SIF317
Software Engineering: A Practitioner’s Approach, 7/e, Roger S. Pressman
Software Engineering 9/e, Ian Sommerville

Marcello Singadji

Rekayasa Perangkat Lunak (RPL) – SIF317

Perangkat Lunak
• Perangkat lunak adalah (1) petunjuk (program
komputer) yang ketika dijalankan menyediakan fitur
yang diinginkan, fungsi, dan kinerja; (2) struktur data
yang memungkinkan program untuk memanipulasi
data/informasi dan (3) dokumentasi yang
menggambarkan operasi dan penggunaan program.

Rekayasa Perangkat Lunak (RPL) – SIF317

Perangkat Lunak

Produk Perangkat lunak berdasarkan pemakai dibagi menjadi 2
macam sebagai berikut :
 Produk Generik, yaitu sistem stand-alone standar yg diproduksi oleh
organisasi pengembang dan dijual ke pasar terbuka ke siapapun yg
membelinya. Biasa disebut sebagai software shrink-wrapped.
 Contoh : pengolah kata,Dll.

 Produk Spesifik, yang dibuat dan dijual sesuai pesanan dari pemakai.
Produk pesanan (yang disesuaikan). Sistem yg dipesan oleh pelanggan
tertentu.
Dikembangkan khusus bagi pelanggan oleh kontraktor
perangkat lunak.
 Contoh : Sistem untuk mendukung proses bisnis tertentu dan sistem kontrol
lalu lintas udara.

Rekayasa Perangkat Lunak (RPL) – SIF317

Perangkat Lunak
Produk Perangkat lunak berdasarkan fungsional dibagi menjadi 4 macam,
sebagai berikut :

 Interfacing : Perangkat lunak ini menghubungkan suatu perangkat keras
tertentu, seperti hardware driver, interfaces dengan perangkat keras lain.
 Contoh : Driver untuk Kamera, Handphone atau perangkat keras lainnya,
Program interface seperti Sensor Suhu dengan LM555, PPI 8255, Komunikasi
Serial RS232.

 Operating System : Perangkat lunak yang menjalankan sistem komputer
dan merupakan interface dari sistem komputer dan program aplikasi yang
berjalan diatasnya.
 Beberapa OS yang dikenal secara luas : Microsoft Windows, Linux dan variansnya seperti Redhat, SuSE, Mandrake, Debian, dsb. Unix, FreeBSD,Macintosh
(Apple)

Rekayasa Perangkat Lunak (RPL) – SIF317

Perangkat Lunak
 Program Aplikasi : program ini digunakan untuk keperluan tertentu, yang
tujuannya membantu pekerjaan manusia menjadi lebih mudah. Program ini
yang banyak dibahas dalam pembuatan perangkat lunak.
 Program Aplikasi ini tergantung pada kebutuhan dari program itu sendiri, seperti:
Program Office, Program Graphics Design, Program Multimedia dan lain-lain


 CASE (Computer-Aided Software Engineering) adalah berbagai macam
program yang digunakan untuk mendukung semua kegiatan perangkat lunak
seperti analisis persyaratan, permodelan sistem, debugging, dan pengujian.
 CASE bisa terdiri dari : Editor untuk notasi yang digunakan, Modul analisis untuk
memeriksa model sistem dan membuat dokumentasinya. CASE bisa mencakup
generator kode,CASE yang hanya terdiri dari editor dinamakan Lower-CASE

Rekayasa Perangkat Lunak (RPL) – SIF317

Karakteristik Perangkat Lunak
 Perangkat lunak tidak akan susut atau aus, serta tidak
memerlukan suku cadang.
 Perangkat lunak diperoleh melalui proses pengembangan/
rekayasa, bukan melalui fabrikasi dalam artian sebenarnya.
 Dikembangkan
melalui
tahapan
Perencanaan,
Analisis,

Perancangan, Penulisan Program, Pengujian dan Pemeliharaan
(Software Life Cycle)
 Rancangan yang buruk berakibat pada peningkatan biaya
pemeliharaan perangkat lunak.
 Kegagalan pada perangkat lunak disebabkan oleh kesalahan pada
rancangan dan implementasi, bukan karena susut atau aus.

Rekayasa Perangkat Lunak (RPL) – SIF317

Kelompok Software berdasarkan Fungsi
 System Software, yaitu sekumpulan program yang dibuat untuk
melayani program lainnya. Misalnya : compiler, dan program manajemen
utilities.
 Real Time Software, yaitu Program yang memonitor atau menganalisa
atau mengontrol aktifitas sehari-hari secara real time.
 Business Software, yaitu software yang digunakan dalam aplikasi bisnis
dimana software ini mampu mengakses satu atau beberapa database yang
berisi informasi bisnis untuk membantu manajemen mengambil keputusan
 Enginering and Scientific Software yaitu software yang digunakan
dalam aplikasi teknik, batasan aplikasinya mulai dari astronomi sampai

vulkanologi, dari otomotif sampai pesawat ruang angkasa, dari molekul
biologi sampai automated manufacturing.

Rekayasa Perangkat Lunak (RPL) – SIF317

Kelompok Software berdasarkan Fungsi
 Embeded Software yaitu software yang digunakan untuk mengontrol
proses dalam pabrik & biasanya disimpan didalam ROM (Read Only
Memory). Misalnya: key pad untuk mengontrol microwave oven.
 Personal Computer Software yaitu software untuk aplikasi komputer
untuk
membantu pekerjaan sehari-hari. Misal:
Wordprocessing,
spreadsheet, computer graphic, multimedia, entertaintment, database
management, personal and business financial application, akses
database atau jaringan external, dan lain-lain.
 Artificial Intelligent Software yaitu software untuk kecerdasan
buatan yang menggunakan algoritma non numerik untuk menyelesaikan
permasalahan yang komplek. Areal AI yang aktif dikenal dengan expert
system atau knowledge based system.


Rekayasa Perangkat Lunak (RPL) – SIF317

Permasalahan yang dihadapi pemakai perangkat
lunak
 Kompleksitas permasalahan yang dihadapi meningkat,
sejalan dengan perkembangan usaha dan organisasi
 Banyaknya alternatif solusi yang ditawarkan pada
pemakai.
 Teknologi sistem komputer yang berkembang dengan
cepat, terutama perangkat keras, berakibat masa pakai
semakin singkat.
 Perangkat lunak aplikasi harus terwujud dalam waktu
relatif singkat, pemakai tidak dapat menunggu terlalu
lama.
 Pemakai tidak dapat atau sukar untuk merumuskan

Rekayasa Perangkat Lunak (RPL) – SIF317

Software Aplikasi

• system software
• application software
• engineering/scientific software
• embedded software
• product-line software
• WebApps (Web applications)
• AI software

Rekayasa Perangkat Lunak (RPL) – SIF317

Hal Yang Menjadi Perhatian
 Biaya Pengembangan, setiap rupiah yang dikeluarkan untuk mengembangkan
perangkat lunak harus jelas manfaat langsung dan tidak langsung dari perangkat
lunak yang dihasilkan.
 Produktivitas Pengembangan, Perangkat lunak harus dihasilkan dalam waktu
yang pendek, karena pengguna memerlukan solusi yang cepat. Sangat sukar bagi
pemakai dalam menentukan spesifikasi perangkat lunak aplikasi yang diperlukan.
 Kualitas Perangkat Lunak, Menentukan kehandalan sistem komputer.
Mempengaruhi unjuk kerja sistem. Menentukan apakah perangkat lunak mudah
untuk dipelihara dan dikembangkan.

 Pemeliharaan Perangkat Lunak, Fine Tuning. Memperbaiki, karena ada
kesalahan (bugs) pada perangkat lunak. Menyesuaikan dengan perubahan
perangkat keras dan system software. Penyesuaian terhadap perkembangan dunia
usaha dan organisasi.

Rekayasa Perangkat Lunak (RPL) – SIF317

Software—New Categories
• Open world computing—dimana-mana, terdistribusi
• Ubiquitous computing—jaringan nirkabel
• Netsourcing—web sebagai mesin komputasi
• Open source—”free” terbuka untuk dikembangkan
• Dan lain-lain:
▫ Data mining
▫ Grid computing
▫ Cognitive machines
▫ Software for nanotechnologies

Rekayasa Perangkat Lunak (RPL) – SIF317


Legacy Software
Mengapa harus berubah?
▫ Software harus disesuaikan untuk memenuhi kebutuhan
dan teknologi baru.
▫ Software harus dirancang ulang agar layak dalam
lingkungan jaringan.
▫ Software harus ditingkatkan agar ketika
diimplementasikan dapat dioperasikan dengan sistem lain
yang lebih modern dan penggunaan database.

Rekayasa Perangkat Lunak (RPL) – SIF317

Framework Proses
• Komunikasi
• Perencanaan
• Modeling

▫ Analisis kebutuhan
▫ Desain


• Konstruksi
▫ Coding
▫ Testing

• Deployment

Rekayasa Perangkat Lunak (RPL) – SIF317

Payung Aktifitas
• Manajemen proyek perangkat lunak
• Tinjauan teknis Formal
• Jaminan kualitas perangkat lunak
• Mengatur konfigurasi perangkat lunak
• Persiapan dan produksi
• Mengatur penggunaan
• Pengukuran
• Manajemen risiko

Rekayasa Perangkat Lunak (RPL) – SIF317


Rekayasa Perangkat Lunak (RPL) – SIF317

Referensi
• Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill
2009), Roger Pressman

Rekayasa Perangkat Lunak (RPL) – SIF317