1. Rekayasa PerangkatLunak
(Software Engineering)
1
Mengetahui arti, karakteristik, dan jenis‐jenis
perangkat lunak sebagai produk rekayasa
perangkat lunak.
Memahami arti, latar belakang, dan tujuan
penggunaanrekayasa perangkat lunak.
Mengetahui ruang lingkup rekayasa perangkat
lunak.
Memahami perbedaan antara rekayasa perangkat
lunak (RPL) dengan sistem informasi (SI).
2
Rekayasa perangkat lunak berasal dari 2 kata
yaitu Software (Perangkat Lunak) dan
Engineering (Rekayasa).
3
Engineering atau Rekayasa adalah aplikasi
terhadap pendekatan sistematis yang
berdasar atas ilmu pengetahuan dan
matematis serta aplikasi tentang produksi
terhadap struktur, mesin, produk, proses atau
sistem.
4
1
Materi 2
2. PerangkatLunak (Software) <> Program Komputer.
Perangkat lunak tidak hanya mencakup
program, tetapi juga semua dokumentasi dan
konfigurasi data yang berhubungan, yang
diperlukan untuk membuat agar program
beroperasi denganbenar.
5
Ada beberapa definisi atau pengertian tentang perangkat lunak.
Menurut Pressman (2001) perangkat lunak adalah:
“1) Instruksi (program komputer) yang bila dieksekusi dapat
menjalankan fungsi tertentu; 2) Struktur data yang dapat
membuat program memanipulasi informasi; dan 3) Dokumen
yang menjelaskan operasi dan penggunaan program.”
Sementara The Institute of Electrical and Electronics Engineers
(IEEE) [1993] mendefinisikan perangkat lunak sebagai:
“Program komputer, prosedur, aturan, dan dokumentasi yang
berkaitan dengannya serta data yang berkaitan dengan operasi
suatu sistemkomputer.”
6
Kesimpulannya perangkatlunak adalah:
ProgramKomputer
Kumpulan instruksi yang apabila dieksekusi oleh sistem
komputer akan menjalankanproses atau fungsi tertentu.
Data
Struktur dataatau basis datayang memungkinkandatayang
tersimpanpadanya dimanipulasioleh program.
Dokumen
bagaimana
Dokumentasi
pengembangan,
yang menjelaskan
cara instalasi, penggunaan, dan
pemeliharaan program.
7
1. Perangkat lunak merupakan produk
pengembangan atau rekayasa, dan tidak diproduksi
dalam pengertianklasik.
2. Perangkatlunak tidak akan pernah rusak atau aus.
3. Perangkat lunak pada umumnya dibangun sesuai
keinginan, jadi tidak dibentuk dari komponen yang
sudah ada.
8
2
3. 1. Merupakan produk yang unik (tidak
produksi).
2. Tidak terlihat(invisible).
3. Fleksibel,sehinggamudah dimodifikasi.
4. Terhubung dengan perangkat keras.
ada seri
9
Dilihat dari sisi sebagai produk:
ProdukGenerik
Produk yangdijual
ProdukPemesanan
Dibuat karena ada pemesanan
10
Dilihat darifungsinya:
1. Perangkat lunak sistem Perangkat lunak yang kegunaannya lebih
banyak ditujukan untuk operasional komputer atau perangkat lunak lain.
Contoh:
sistem operasi
penerjemahbahasa pemrograman (compiler/interpreter)
utilitysoftware
2. Perangkat lunak aplikasi Perangkat lunak yang kegunaannya lebih
banyak ditujukan untuk membantu menyelesaikan masalah‐masalah
yang dihadapi oleh pemakai. Perangkat lunak aplikasi dapat dibedakan
menjadi:
program paketyang sudah jadi(packageprogram)
programaplikasi buatansendiri (tailormade)
11
Dilihat dari bentukaplikasinya:
1. Perangkat lunak sistem (system software) sistem operasi,
compiler/interpreter,dll.
2. Perangkat lunak waktu nyata (real‐time software) ATCS (Automatic Traffic
Control System), ticketonline.
3. Perangkat lunak bisnis (business software) aplikasi untuk sistem informasi
(sistem persediaan, akuntansi, produksi, dll), sistem pendukung keputusan,
ERP.
4. Perangkat lunak rekayasa dan ilmu pengetahuan (engineering and scientific
software) SPSS, Math Lab, AutoCAD ,dll.
5. Embedded Software permainan (game) pada mobilephone, aplikasi
programmable logiccircuit(PLC).
6. Perangkat lunak pribadi (personal software) aplikasi keuangan pribadi,
lembar kerjaelektronik (spreadsheet).
7. Perangkat lunak intelegensia buatan (artificial inteligent software) sistem
pakar(expertsystem),permainan catur, dll.
12
3
4. Pada hakikatnya rekayasa perangkat
(software engineering) mempunyai prinsip
sama dengan rekayasa‐rekayasa lain,
lunak
yang
yaitu
membuat sesuatu bekerja(make thingswork).
13
Pembentukan dan penggunaan prinsip rekayasa (engineering)
untuk mendapatkan perangkat lunak secara ekonomis namun
andal dan dapat bekerja secara efisien pada komputer (Bauer,
1968).
Suatu disiplin yang mengintegrasikan proses, metode, dan alat
(tools) untuk pembangunan perangkat lunak komputer
(Pressman, 2001).
Suatu teknologi berlapis, yaitu proses, metode dan alat, dengan
kualitas sebagai dasar utamanya (Pressman,2001).
Penerapan pendekatan yang sistematis, disiplin dan terukur untuk
pengembangan, operasi, dan pemeliharaan perangkat lunak
(IEEE, 1993).
14
Kesimpulannya:
Rekayasa perangkat lunak merupakan suatu proses rancang
bangun perangkat lunak yang menggunakan kaidah‐kaidah
ilmu, seperti prinsip, konsep, dan metode sehingga
dihasilkan perangkat lunak yang berkualitas (dapat
digunakan dan beroperasi dengan benar, bermanfaat, serta
sesuai dengan kebutuhanyang diinginkan).
15
Hasil konferensiNATO diGarmisch‐Partenkirchentahun 1968:
Perangkat lunak lebih banyak menyebabkan masalah
daripadamenyelesaikannya.
Peningkatan ukuran perangkat lunak dilakukan tanpa
dibarengidengan suatu pengorganisasian.
Perbaikan satu kesalahan mengakibatkan timbulnya
kesalahanlainnya.
Tidak adakendali pemeliharaan.
Akibatnya
16
4
5. Software
deliveredbut
never used
47%
Softwareused
after
modifications
3%
Software
used, but
criticizedor
dropped
19%
Software
deliveredand
used as it is
2%
Softwarepaidfor
butnever
delivered
29%
17
Ketidakmampuan organisasi untuk memprediksi waktu,
usaha dan biaya pada pengembangan perangkat lunak.
Kualitasperangkatlunakyang diproduksi tidak baik(buruk).
Perubahan perbandingan harga perangkat keras dan
perangkatlunak.
Meningkatnya peran penting dari pemeliharaan.
Kemajuanteknologi perangkat keras.
Kemajuanteknikperangkat lunak.
Kebutuhan yang meningkat terhadap perangkat lunak.
Kebutuhan akan perangkat lunak yang lebih besar dan
kompleks.
18
Tujuan utama yang menjadi fokus dari rekayasa perangkat lunak
adalah kualitas,maksudnya:
Perangkat lunak yang dihasilkan sesuai dengan kebutuhan yang
diinginkan.
Dapat digunakan dan beroperasi dengan benar di lingkungan
sebenarnya.
Memberikan manfaat bagi pemakaiyang menggunakannya.
Biaya yang dikeluarkan untuk membuatnya rendah, dalam arti
efektif dan sesuai dengan anggaran yang telah ditetapkan.
Tepat waktu, baik saat pembuatan, penyerahan ke
pemakai, maupuninstalasinya.
Setiaptahap pekerjaan terjamin kualitasnya, terdokumentasi, dan
dapat dipertanggungjawabkan kebenarannya (ada proses
verifikasi danvalidasi).
19
Maintainability Perangkat lunak harus memungkinkan untuk
dikembangkansesuai dengan perubahan kebutuhan pemakai.
Dependability Berkaitan dengan keandalan, keamanan, dan
keselamatan. Perangkat lunak harus tidak menyebabkan
kerusakan fisis dan ekonomis saat sistem mengalami
kegagalan.
Efficiency Perangkat lunak harus efisien dalam penggunaan
sumber daya seperti memory dan siklus pemroses.
Usability Perangkat lunak harus mempunyai antarmuka
pengguna yang tepat dan dokumentasi yang memadai.
20
5
6. Terdapat 3 pihak (minimal) yang mempengaruhi mutu
Perangkat Lunakyaitu:
21
Rekayasa perangkat lunak dapat dibicarakan dalam
konteks:
1. Proses perangkatlunak.
2. Ranah (domain)kajian.
3. Teknologi.
4. Metode dan alat bantu.
22
1. Software Specification apa yang harus dilakukan oleh
perangkat lunak dan batasan/kendala
pengembangannya.
2. Software Development proses memproduksi sistem
perangkat lunak(implementasi).
3. Software Validation pengujian perangkat lunak
terhadap keinginanpengguna.
4. Software Evolution perubahan
berdasarkan perubahan
perangkat lunak
keinginan
(pemeliharaan/maintain).
23
1. Sistem dan Jaringan Komputer
2. SistemInformasi
3. KomputerGrafik
4. PengolahanCitra
5. IntelegensiaBuatan
6. Basis Data
7. Matematika
24
6
7. Teknik komputasi client/server
Bahasa pemrograman
Teknik analisiskuantitatif
Konsep protokol nirkabel(wireless)
Dll.
25
Metode Cara atau teknis bagaimana mengembangkan
perangkat lunak,meliputi:
Analisis kebutuhan, perancangan, konstruksi program,
danpengujian.
Alat Bantu Perangkat bantu atau kakas otomatis dan
semi‐otomatis yang akan digunakan untuk mendukung
proses dan metode, seperti:
Diagram‐diagram untuk memodelkan hasil setiap tahap
pengembangan.
Perangkat lunak untuk membantu pelaksanaan analisis,
perancangan, pembuatan program, atau pengelolaan
proyek.
26
Konteks Rekayasa PerangkatLunak Sistem Informasi
Wujud/Bentuk
Fisik
Bentuk rekayasa perangkat
lunak adalah kaidah, aturan,
atau disiplin yang
menyediakan kerangkakerja
untuk semua proses yang
digunakan saat pembuatan
perangkatlunak.
Wujudsistem informasisecara fisik
adalah perangkat keras, perangkat
lunak, data, prosedur, dan
manusia. Kelimanyaditatadengan
cara tertentu di lingkungan
organisasi, berinteraksi sesuai
proses tertentu,dan menghasilkan
layanan dan informasi tertentu
sesuai yangdiinginkan.
Proses
Pengembanga
n
Pengembanganperangkat
lunak adalah proses
transformasi persoalan
menjadi perangkatlunak
Pengembangansisteminformasi
adalah proses merencanakan,
membangun, dan
mengimplementasikan sistem
informasi.
27
Konteks Rekayasa PerangkatLunak Sistem Informasi
Kajian
keilmua
n
Mempelajari carabagaimana
membuat perangkat lunak
untuk kegunaan tertentu
pada bidang ilmu apa saja
dengan menggunakan
pendekatanrekayasa.
Mempelajari cara bagaimana membangun
sistem, mengakuisisi teknologi informasi
yang tepat untuk sistem tersebut, dan
mengimplementasikannya di lingkungan
organisasi untuk memberikan layanan
pada organisasi dalam mencapai
tujuannya.
28
7
8. Bidang atauKajianKeilmuan
29
Perangkat lunak dibentuk oleh program, data, dan dokumen. Masing‐
masing item tersebut terdiri dari suatu konfigurasi yang dibuat
sebagai bagian dariproses rekayasa perangkat lunak.
RPL adalah suatu kaidah, aturan, atau disiplin yang menyediakan
kerangka kerja untuk semua proses pembuatan perangkat lunak.
Tujuan dari rekayasa perangkat lunak adalah menghasilkan perangkat
lunak berkualitas, dalam arti sesuai kebutuhan, ekonomis, dan benar
proses pengerjaannya.
Ruang lingkup RPL adalah cakupan dimana prinsip‐prinsip rekayasa
perangkat lunak dapat diterapkan, seperti proses, ranah kajian, serta
teknologi danalat bantu.
Perbedaan antara RPL dengan SI dapat dilihat dari sudut pandang
bidang atau kajian keilmuan, wujud atau bentuk fisik, dan proses
pengembangan.
30
Proses Pengembangan Perangkat Lunak
31
8