Pengantar 
Rekayasa Perangkat Lunak 
Yushintia Pramitarini
overview 
• What is software? 
• Software characteristic 
• Software Challenges 
• What Is Software Engineering? 
• Ruang Lingkup Software Engineering
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.
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.
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.
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
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.
• 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.
Evolusi Perangkat Lunak
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.
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.
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.
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
Ruang Lingkup (Abran et.al.,2004) 
• Sesuai definisi yang telah disampaikan 
sebelumnya, maka ruang lingkup RPL 
dapat digambarkan sebagai berikut.
• 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.
• 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.
• 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.
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.
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
• 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.
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).

Pengenalan RPL

  • 1.
    Pengantar Rekayasa PerangkatLunak Yushintia Pramitarini
  • 2.
    overview • Whatis 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 SoftwareEngineering? 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 “semuaaspek 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.
  • 9.
  • 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 (Abranet.al.,2004) • Sesuai definisi yang telah disampaikan sebelumnya, maka ruang lingkup RPL dapat digambarkan sebagai berikut.
  • 15.
    • Software requirementsberhubungan 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 maintenancemencakup 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 engineeringtools 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).