Anda di halaman 1dari 55

Rekayasa Perangkat

Lunak
(RPL)

Program Studi Teknik Informatika


Powerpoint Templates Fakultas Ilmu Komputer
Universitas Putra Indonesia YPTK Padang
Software Engineering
FAQ Mengenai Rekayasa
Perangkat Lunak

Manajemen Proyek

Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak


• Apakah Perangkat Lunak itu ?
• Apakah Rekayasa Perangkat Lunak
itu ?
• Apa yang Dimaksud dengan Proses
Perangkat Lunak ?
• Apa yang Dimaksud dengan Model
Proses Perangkat Lunak
• Berapa Biaya Rekayasa Perangkat
Lunak
• Apa Saja Atribut-atribut Perangkat
Lunak ?
• Apakah Tantangan Kunci yang
• Apakah Perangkat Lunak itu ?
Software (Perangkat lunak) Adalah program komputer
yang berfungsi sebagai sarana interaksi antara
pengguna dan hardware (perangkat keras).
Software (Perangkat lunak) Dapat juga dikatakan
sebagai 'penterjemah' perintah-perintah yang
dijalankan pengguna komputer untuk diteruskan ke atau
diproses oleh hardware (perangkat keras).
Software (Perangkat lunak) Program komputer yang
terasosiasi dengan dokumentasi perangkat lunak seperti
dokumentasi kebutuhan, model desain, dan cara
penggunaan.
Software (Perangkat lunak) Tidak hanya mencakup
program, tetapi juga semua dokumentasi dan
konfigurasi data yang berhubungan, yang diperlukan
untuk membuat agar program dapat beroperasi dengan
benar.
Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak
Karakter Perangkat Lunak adalah :
• Perangkat lunak dibangun dengan rekayasa
(Software Engineering) bukan diproduksi
secara manufaktur atau pabrikan
• Perangkat lunak tidak pernah usang, karna
kecacatan dalam perangkat lunak dapat
diperbaiki
• Barang produksi pabrikan biasanya komponen
barunya akan terus diproduksi, sedangkan
perangkat lunak biasanya terus diperbaiki
seiring bertambahnya kebutuhan

Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak


Aplikasi dari Perangkat Lunak adalah :
• Perangkat Lunak Sistem
Suatu jenis perangkat lunak komputer yang mengatur
dan mengontrol perangkat keras sehingga perangkat
lunak aplikasi dapat melakukan tugasnya.
• Perangkat Lunak Watu Nyata
Perangkat lunak yang memonitor, menganalisis,
mengontrol sesuatu secara waktu nyata.
• Perangkat Lunak Bisnis
Perangkat lunak pengelola informasi bisnis
(akuntansi, penjualan, pembayaran dan penyimpanan)
• Perangkat Lunak Berbasis Web
Merupakan perangkat lunak yang dapat diakses
dengan menggunakan browser.

Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak


• Perangkat Lunak Rekayasa dan Keilmuan
Perangkat lunak yang mengimplementasikan algoritma
yang terkait dengan keilmuan ataupun perangkat
lunak yang membantu keilmuan.
• Perangkat Lunak Komputer Personal
Perangkat lunak untuk PC misalnya perangkat lunak
pemproses teks, DBMS, banyak dgunakan pada
aplikasi yang bersifat perorangan.
• Perangkat Lunak Iinteligensia Buatan
Perangkat Lunak yang dibuat dengan teknik algoritma
non numerik untuk memecahkan masalah yang
kompleks yang digunakan dalam bidang aplikasi
kecerdasan buatan.

Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak


• Apakah Rekayasa Perangkat
• Lunak
Rekayasaitu ?
perangkat lunak Merupakan Pembangunan
dengan menggunakan prinsip atau konsep rekayasa
dengan tujuan menghasilkan perangkat lunak yang
bernilai ekonomi yang dipercaya dan bekerja secara
efisien menggunakan mesin.
• Rekayasa perangkat lunak Lebih fokus pada praktek
pengembangan perangkat lunak dan mengirimkan
perangkat lunak yang bermanfaat kepada pelanggan
• Rekayasa Perangkat Lunak Adalah Disiplin ilmu yang
membahas semua aspek produksi perangkat lunak, mulai
dari tahap awal spesifikasi sistem sampai pemeliharaan
sistem setelah digunakan.
• Rekayasa Perangkat Lunak Adalah Teknologi yang harus
digunakan oleh setiap orang yang akan membangun software,
dengan
Terimelalui serangkaian
Ade Putra, proses,
S. Kom, M. Kom – menggunakan sekumpulan
Rekayasa Perangkat Lunak
metode dan alat bantu (tools
Rekayasa perangkat lunak lebih fokus kepada kriteria
sebagai berikut :
• Dapat terus dipelihara setelah perangkat lunak
selesai dibuat seiring dengan perkembangan
teknologi (Maintainability)
• Dapat diandalkan dengan proses bisnis yang
dijalankan dan perubahan yang terjadi
(Dependability dan Robush)
• Efisien dari segi sumber daya dan penggunaan.
• Kemampuan untuk dipakai sesuai dengan kebutuhan
(Usability)

Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak


Jadi perangkat lunak yang baik itu adalah
perangkat lunak yang memenuhi kebutuhan
pelanggan atau user atau beroriensasi pada
pelanggan atau pemakai perangkat lunak, bukan
berorientasi pada pembuat atau pengembang
perangkat lunak.

Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak


• Apa yang Dimaksud dengan Proses Perangkat
Lunak
Proses perangkat lunak adalah serangkaian kegiatan dan
hasil-hasil relevannya yang menghasilkan perangkat lunak.
Ada 4 kegiatan proses dasar yang umum bagi seluruh
kegiatan proses perangkat lunak :
1. SpesifikasiPerangkat Lunak
Fungsionalitas perangkat lunak dan batasan
kemampuan operasinya harus didefinisikan
2. Pengembangan Perangkat Lunak
Perangkat lunak yang memenuhi spesifikasi tersebut
harus diproduksi
3. Validasi Perangkat Lunak
Perangkat lunak harus divalidasi untuk menjamin
bahwa perangkat lunak melakukan apa yang diinginkan
oleh pelanggan
4. Evolusi Perangkat Lunak
Perangkatlunak harus berkembang sesuai dengan
kebutuhan pelanggan
Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak
• Apa yang Dimaksud dengan Model
Perangkat Lunak ?

Model proses perangkat lunak merupakan deskripsi


yang disederhanakan dari proses perangkat lunak
yang direpresentaskan dengan sudut pandang
tertentu
Model , sesuai dengan sifatnya yaitu penyederhanaan
yaitu mencakup kegiatan yang merupakan bagian dari
proses perangkat lunak, produk perangkat lunak, dan
peran orang yang terlibat pada rekayasa perangkat
lunak, beberapa contoh dari model proses perangkat
lunak yang dapat dihasilkan adalah :
• Model Aliran Kerja (Work Flow)
• Model Peran/Aksi

Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak


1. Model Aliran Kerja
Urutan kegiatan pada proses Input-Output-
KetergantungannyaModel ini adalah
representasi pekerjaan manusia.
2. Model Peran/Aksi
Melibatkan peran orang yang terlibat pada proses
perangkat lunak

Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak


 Mahasiswa baru membeli formulir di bagian penmaru
 Setelah calon mahasiswa mengisi formulir dengan
lengkap dengan persyaratan yang sudah ditentukan
 Petugas penmaru membuat nomer tes
 Petugas penmaru menentukan ruangan tes
 Petugas memberikan nomer tes peserta kepada calon
mahasiswa
 Pelaksanaan tes
 Mengumumkan hasil test di dalam website stikom
atau dapat dillihat dipapan pengumuman stikom
 Lalu melakukan registerasi kepada bagian penmaru
 Dosen memberitahukan atau mengkonfirmasi kepada
AAK tentang mata kuliah dan kelas yang akan
digantikan
 Dosen dan petugas AAK melakukan pengecekan
dengan aplikasi apakah ada mata kuliah yang kres
atau tidak.
 Maka dilakukan penjadwalan mata kuliah
 Penjadwalan yang sudah diganti akan berubah status
 Dosen Ijin = sudah memberitahukan sebelumnya
 Dosen Alpa = tidak masuk apabila tidak ada
konfirmasi kedatangan selama 24 jam dari mata
kuliah
 Mata kuliah pengganti akan muncul di SIIS.
 Mahasiswa baru membeli formulir di bagian penmaru
 Setelah calon mahasiswa mengisi formulir dengan
lengkap dengan persyaratan yang sudah ditentukan
 Petugas penmaru membuat nomer tes
 Petugas penmaru menentukan ruangan tes
 Petugas memberikan nomer tes peserta kepada calon
mahasiswa
 Pelaksanaan tes
 Mengumumkan hasil test di dalam website stikom
atau dapat dillihat dipapan pengumuman stikom
 Lalu melakukan registerasi kepada bagian penmaru
Ada sejumlah model atau paradigma umum pada
pengembangan perangkat lunak :
1. Pendekatan Air Terjun (Waterfall)
2. Pengembangan Evolusioner
3. Transformasi Formal
4. Perakitan (Asembling)  Sistem dari komponen-
komponen yang dapat dipakai ulang.

Teri Ade Putra, S. Kom, M. Kom – Rekayasa Perangkat Lunak


Suatu proses model adalah suatu
representasi abstrak suatu model.
Proses model menampilkan suatu
deskripsi suatu proses dari beberapa
perspektif tertentu,
1. Spesifikasi – apa yang dilakukan sistem dan
batasan pembangunan
2. Pembangunan – Produksi dari Sistem
perangkat lunak
3. Validasi – Pemeriksaan apakah PL sesuai
dengan pemesanan
4. Evolusi – Pengubahan PL sesuai dengan
perubahan permintaan dan kebutuhab
zaman.
 Proses PL merupakan aktifitas yang saling
terkait (koheren) untuk menspesifikasikan,
merancang, implementasi dan pengujian
sistem perangkat lunak
 Model ini adalah model klasik yang bersifat
sistematis, berurutan dalam membangun
software.
 Model Air terjun (Water fall)
◦ Memisahkan dan membedakan antara spesifikasi
dan pengembangan
 Pengembangan yang berevolusi
◦ Spesifikasi dan pengembangan saling bergantian
 Pengembangan sistem Formal
◦ Menggunakan suatu model sistem matematika
yang ditransformasikan ke implementasi,
 Pengembangan berbasis Re-use
(penggunaan ulang) Sistem dibangun dari
komponen yang sudah ada.
 Menurut R Pressman
 Menurut I Soumenville
1. Incremental
2. Spiral
 Pengembangan sistem berdasarkan model
sistem yang dipecah sehingga model
pengembangannya secara
increament/bertahap
 Kebutuhan pengguna diprioritaskan dan
priritas tertinggi dimasukkan dalam awal
increment
 Setelah pengembangan suatu increment
dimulai, kebutuhan dibekukan dulu hingga
increment berikutnya dimulai
 Nilai penggunan dapat ditentukan pada
setiap increament sehingga fungsionalitas
sistem disediakan lebih awal,
 Increment awal berupa prototype untuk
membantu memahami kebutuhan pada
increment berikutnya,
 Memiliki risiko lebih rendah terhadap
keseluruhan pengembagan sistem,
 Prioritas tertinggi pd pelayanan sistem
adalah yang paling diuji. Keuntungan
 Proses direpresentasikan sebagai model
spiral (bukan berupa barisan aktfitas yang
dapat ditrack mundur)
 Setiap loop dalam model spiral menyatakan
fase proses,
 Tidak terdapat fase tertentu seperti
spesifikasi atau perancangan, tetapi loop
dalam spiral ditentukan pada apa yang
dibutuhkan
Determine objectives
Evaluate alternatives
alternatives and identify, resolve risks
constraints Risk
analysis
Risk
analysis
Risk
analysis Opera-
Prototype 3 tional
Prototype 2 protoype
Risk
REVIEW analysis Proto-
type 1
Requirements plan Simulations, models, benchmarks
Life-cycle plan Concept of
Operation S/W
requirements Product
design Detailed
Requirement design
Development
plan validation Code
Design Unit test
Integration
and test plan V&V Integr ation
Plan next phase test
Acceptance
Service test Develop, verify
next-level product
 Loop paling dalam berfokus pada kelayakan
dari sistem,
 Loop selanjutnya tentang definisi dari
kebutuhan,
 loop berikutnya berkaitan dengan desain
sistem dan seterusnya.
 Setiap Loop dibagi menjadi beberapa sektor
 Pada model spiral, resiko sangat dipertimbangkan.
 Resiko adalah sesuatu yang mungkin
mengakibatkan kesalahan.
 Model spiral merupakan pendekatan yang realistik
untuk PL berskala besar.
 Pengguna dan pembangun bisa memahami dengan
baik software yang dibangun
 karena setiap kemajuan yang dicapai selama
proses dapat diamati dengan baik.
 Namun demikian, waktu yang cukup panjang
mungkin bukan pilihan bagi pengguna, karena
waktu yang lama sama dengan biaya yang lebih
besar.
 RAD adalah model proses pembangunan PL yang
incremental.
 RAD menekankan pada siklus pembangunan yang
pendek/singkat.
 RAD mengadopsi model waterfall dan
pembangunan dalam waktu singkat dicapai dengan
menerapkan component based construction. Waktu
yang singkat adalah batasan yang penting untuk
model ini.
 Jika kebutuhan lengkap dan jelas maka waktu yang
dibutuhkan untuk menyelesaikan secara komplit
software yang dibuat adalah misalnya 60 sampai
90 hari.
1. tidak cocok untuk proyek skala besar
2. proyek bisa gagal karena waktu yang
disepakati tidak dipenuhi
3. sistem yang tidak bisa dimodularisasi tidak
cocok untuk model ini
4. resiko teknis yang tinggi juga kurang cocok
untuk model ini
Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan dalam
waktu yang hampir bersamaan dalam batasan waktu yang sudah
ditentukan.
1. Business modelling : menjawab pertanyaan-pertanyaan: informasi
apa yang mengendalikan proses bisnis? Informasi apa yang
dihasilkan? Siapa yang menghasilkan informasi? Kemana informasi
itu diberikan? Siapa yang mengolah informasi? kebutuhan dari
sistem
2. Data modelling: aliran informasi yang sudah didefinisikan, disusun
menjadi sekumpulan objek data. Ditentukan karakteristik/atribut
dan hubungan antar objek-objek tersebut analisis kebutuhan dan
data
3. Process Modelling : objek data yang sudah didefinisikan diubah
menjadi aliran informasi yang diperlukan untukmenjalankan fungsi-
fungsi bisnis.
4. Application Generation: RAD menggunakan component program
yang sudah ada atau membuat component yang bisa digunakan lagi,
selama diperlukan.
5. Testing and Turnover: karena menggunakan component yang sudah
ada, maka kebanyakan component sudah melalui uji atau testing.
Namun component baru dan interface harus tetap diuji.
Dari model-model di atas dan model-model
yang akan dibahas kemudian, tidak
ada satupun model yang cocok untuk semua
jenis proyek pembuatan software.
Penggunaan lebih dari satu model sangatlah
dimungkinkan. Misalnya dalam
model spiral dan model incremental dalam fase
tertentu menggunakan model lain
untuk mendapatkan hasil yang baik.
1. Apakah Perangkat Lunak dan Rekayasa Perangkat Lunak?
2. Apa yang Dimaksud dengan Proses Perangkat Lunak ?
3. Jelaskanlah Apa itu Waterfall Model dan Evolutionary
Software Model!
4. Apa Saja Atribut-atribut Perangkat Lunak ?
5. Apakah Tantangan Kunci yang Dihadapi Rekayasa
Perangkat Lunak ?
6. Jelaskan apa yang saudara ketahui tentang Activity
Diagram dan buatkan simbol-simbol apa saja yang
digunakan dalam Activity Diagram tersebut!

Anda mungkin juga menyukai