REKAYASA PERANGKAT
LUNAK (RPL)
USNATUL FITRIYAH
▪ Pensyarah baru jurusan TI STKIP YAPIS DOMPU
▪ +6285338964526
▪ Usnatulfitriyah30@gmail.com
TOPIK PEMBAHASAN
Software adalah sesuatu yang menghasilkan sebuah produk (luaran) yang berupa informasi.
Informasi ini bisa berupa teks, angka, gambar, audio , video gerakan dan masih banyak lagi.
SIFAT ALAMI PERANGKAT LUNAK
❑ System software – seperangkat program yang ditulis untuk melayani sebuah program
lainnya. (Contoh : compilers, komponen operating system, drivers)
❑ Aplication Software – program yang berdiri sendiri (stand alone program) dan dibuat
untuk menyelesaikan sebuah kebutuhan yang spesifik (con: Microsoft Office)
❑ Engineering/scientific software – beragam program pengolah angka untuk kebutuhan
teknik dan ilmiah. (Con: IBM SPSS Statistic, Astronomy Software)
❑ Embedded Software – software yang berada didalam suatu produk atau sistem
(ditanam). (Con: Smart TV, Smart home system, software pada kendaraan)
PENGELOMPOKKAN SOFTWARE
❑ Product-line software – produk software yang dirancang memiliki fitur spesifik yang
dapat digunakan oleh banyak pelanggan berbeda. (Con: inventory control system,
Human Resource System, software pembukuan/akuntansi)
❑ Web/Mobile Aplication - software yang terhubung didalam jaringan dan dapat
diakses baik melalui web browser ataupun aplikasi yang dipasang pada perangkat
bergerak. (Con: Facebook, Twitter, Instagram)
❑ Artifical Intellegence Software - software yang menggunakan algoritma non-numeric
untuk memecahkan masalah kompleks yang sulit dilakukan oleh komputasi atau
analisis secara langsung. (Con: Robotic system, business intelligence)
LEGACY SOFTWARE
Legacy Software System biasanya memiliki design yang sulit dikembangkan lagi, kode program
yang rumit, dokumentasi yang buruk atau bahkan tidak ada sama sekali, dan catatan
perubahannya tidak dikelola dengan baik.
Sebuah Legacy Software System, harus direkayasa ulang (reengineered) untuk dapat bertahan
dimasa depan. Biasanya ditemukan di corporation atau perusahaan yang sudah berdiri sejak lama.
(Con: perbankan)
KATEGORI PERANGKAT LUNAK
Ada 4 kategori software yang berkembang pesat mendominasi industri perangkat lunak saat ini.
1. WebApss – sudah berubah banyak sejak kemunculannya, dari aplikasi penyedia informasi biasa menjadi
aplikasi yang sudah terhubung dengan database korporasi, bahkan menjadi aplikasi kunci untuk sebuah
perusahaan. Perkembangan WebApss dipengaruhi oleh perkembangan teknologi internet dan juga
perangkat bergerak. (Con: GMAIL, WEB BISNIS, WEBSITE AMAZON)
2. Mobile Application – sebuah mobile app sekarang dapat mengakses langsung suatu hardware yang
spesifik. (Con: Accelerometer atau GPS Location)
3. Cloud Computing- mencakup infrastruktur atau “ekosistem” yang memungkinkan setiap pengguna, dimana
saja, menggunakan perangkat komputasi untuk berbagi sumber daya komputasi dalam skala luas. (Con:
Google Drive, Medsos, DropBox, One Drive)
4. Product Line Software – software yang dibuat dengan fitur-fitur untuk memenuhi kebutuhan pasar pada
suatu segmen tertentu. (Con: Sistem kasir , sistem accounting dalam perusahaan)
B. RPL (REKAYASA PERANGKAT LUNAK)
RPL (REKAYASA PERANGKAT LUNAK)
Rekaysa Perangkat Lunak dapat diuraikan dalam beberapa lapisan, yaitu: sasaran
kualitas, proses , metode, alat bantu (tools).
LAPISAN REKAYASA PERANGKAT LUNAK
1. Communication – Melakukan komunikasi dengan stakeholders untuk menyepakati tujuan, kebutuhan yang harus
dipenuhi, serta fitur atau fungsi yang diharapkan
2. Planning – Membuat rencana pekerjaan apa saja yang harus dilakukan ( software project plan) dengan
mendefinisikan tugas-tugas teknis, sumber daya yang diperlukan, luaran (output), dan juga resiko yang mungkin
ditemukan.
3. Modeling – Membuat berbagai model perangkat lunak untuk dapat menjelaskan kebutuhan ( requirement) dengan
baik dan juga rancangan yang bisa memenuhinya.
4. Contruction – Membangun software sesuai rancangan, termasuk coding dan testing.
5. Deployment – Menyerahkan software kepada user untuk digunakan.
Lima proses tersebut harus dilakukan berurutan, aktivitas disetiap proses tersebut dinamakan framework activity.
2. UMBRELLA ACTIVITY
Umbrella Activity merujuk pada setiap aktivitas pelengkap dari aktivitas di dalam
proses RPL secara keseluruhan, dengan tujuan untuk mengelola kemajuan, kualitas,
perubahan dan juga resiko.
Pekerjaan aktual yang harus diselesaikan pada setiap aktifitas framework. Task Set ditentukan
setelah menentukan alur proses yang akan digunakan, dan juga mendefinisikan framework activity
pada setiap proses tersebut.
Jumlah dan tingkat kesulitan task set tergantung dari ukuran software yang dikembangkan.
Jika semua task set sudah dilakukan, maka seharusnya tujuan dari proyek perangkat lunak-nya
tercapai.
CONTOH TASK SET
Setiap framework activity memiliki sekumpulan task set atau tugas-tugas yang harus dilakukan.
Contoh task set pada aktivitas requirement gathering (teknik pengumpulan data):
1. Membuat daftar stakeholders (indiv, kelompok manusia yang memiliki hubungan dalam prusahaan)
2. Mengundang para steckholders untuk meeting
3. Menanyakan fitur dan fungsi apa saja yang dibutuhkan kepada stackholders
4. Mendiskusikan requirements yang terkumpul dan membuat daftar requirement final
5. Memberikan prioritas terhadap requirements
6. Mencatat semua hal yang perlu diperjelas kembali.
REQUIREMENT
▪ Requirement adalah gambaran dari layanan (services) dan batasan bagi sistem
yang akan dibangun.
• Requirement adalah pernyataan/gambaran pelayanan yang disediakan oleh
sistem, batasan-batasan dari sistem dan bisa juga berupa definisi matematis
fungsi-fungsi sistem.
• stackholders adalah setiap individu, orang, komunitas, kelompok masyarakat yang
memiliki kepentingan terhadap organisasi atau perusahaan ttg permasalahan yang
sedang dibahas. bisa juga dikatakan sebagai seorang pemangku kepentingan
D. ALUR PROSES SOFTWARE
Proses –proses pada kerangka RPL harus dilakukan secara sistematis, namun alur proses
(Proses flow) tersebut bisa dilakukan berbagai bentuk.
ALUR PROSES SOFTWARE
ALUR PROSES SOFTWARE
E. PRESCRIPTIVE PROCESS MODEL
Model proses “prescriptive” merupakan model yang sudah mendefinisikan dengan jelas aturan, aktivitas,
tugas, luaran dan berbagai elemen lain dalam proses rekayasa perangkat lunak.
Model proses ini mengutamakan proses yang terstruktur, berurutan, dan mengikuti suatu panduan dalam
setiap aktivitasnya.
▪ Waterfall model merupakan pendekatan yang rapi dan terstruktur, tapi pendekatan ini bukan tanpa
permasalahan.
▪ Beberapa masalah yang muncul ketika menggunakan Waterfall Model adalah :
a. proyek pengembangan software didunia nyata jarang mengikuti alur proses yang berurutan dan satu arah
b. Seringkali, pengguna merasakan kesulitan untuk mendiskripsikan semua requirement secara eksplisit di
awal proses.
c. pengguna atau pelanggan harus bersabar karena software baru dapat “terlihat” pada tahap akhir project.
• Model ini untuk sekarang sangat jarang digunakan umtuk pengembangan perangkat lunak.
❑ PROTOTYPING PROCESS MODEL
▪ Seringkali, pelanggan hanya menjabarkan
kebutuhan secara umum saja, tanpa
penjelasan rinci terkait fungsi atau fitur
software.
▪ Dalam situasi seperti ini, paradigma
prototyping bisa menjadi pendekatan yang
sesuai.
▪ Idealnya, prototype ini adalah sebagai alat
untuk mengidentifikasi software
requirements.
❑ PERMASALAHAN PROTOTYPING MODEL
a. Stackholders sering menganggap prototype software sebagai versi yang sudah berjalan (final) dan tidak
menyadari bahwa kualitasnya secara keseluruhan belum terjamin
b. Sebagai software engineer, kita sering mengimplementasi software yang mengabaikan banyak aspek
(missal kualitas dan keamanan) demi menghasilkan prototype yang cepat.
Kuncinya adalah dengan membuat kesepakatan diawal, dan semua stockholders harus setuju bahwa prototype
software dibuat untuk mendapatkan requirement software versi akhirnya nanti.
❑ EVOLUTIONARY / SPIRAL MODEL
▪ Software dikembangkan dengan rangkaian versi rilis yang
bersifat evolutionary. Setiap versi rilis mengikuti aktivitas
kerangka kerja yang ditentukan oleh tim pengembang.
▪ Pada iterasi awal, software yang dirilis mungkin saja masih
berbentuk model atau prototype. Kemudian berkembang pada
iterasi selanjutnya hingga versi terbaik software didapatkan.
▪ Spiral model adalah pendekatan yang realistis untuk
mengembangkan sistem dan software berskala besar.
▪ Pernmasalahan pada Spiral Model – sulit meyakinkan
pelangganm (pengguna) bahwa pendekatan ini dapat terukur
dan terkendali.
❑ UNIFIED PROCESS MODEL
▪ Unified Process mengakui pentingnya komunikasi dengan pengguna,
dan memilih metode yang disederhanakan untuk menjelaskan sistem
dari sudut pandang pengguna
• Fase-fase dalam Unified Process Model:
Waterfall • Mudah untuk dipahami dan direncanakan • Sulit menghadapi perubahan requirement testing
• Efektif untuk proyek kecil yang mudah dipahami dilakukan ditahap akhir proyek
kebutuhannya • Persetujuan pengguna hanya diakhir
• Proses analisis dan testing mudah dilakukan
Unified Process • Kualitas dari dolumentasi diperhatikan • User case yang dibuat tidak selalu sesuai
• Ada keterlibatan pengguna secara berkelanjutan • Cukup sulit mengintegrasikan software increment
• Merespon perubahan requirement dengan baik • Tahap yang tumpang tindih bias jadi masalah
• Efektif untuk proyek yang bersifat maintenance • Membutuhkan tim pengembang yang sudah ahli.
MODEL PROSES AGILE
Agile Software Process menggunakan asumsi-asumsi kunci terkait kondisi proyek perangkat lunak yang….
1. Susah untuk memprediksi di awal kebutuhan software mana yang bertahan atau akan berubah
nantinya
2. Banyak tipe software yang proses perancangan dan konstruksinya dilakukan secara berpasangan
(unterleaved).
3. Analisis, perancangan,konstruksi, dan pengujian tidak dapat diprediksi (dari perspektif perencanaan)
1. Prioritas utama adalah memuaskan pelanggan dengan menunjukkan software diawal dan
berkelanjutan
2. Menerima perubahan-perubahan kebutuhan software, bahkan diakhir-akhir
pengembangannya.
3. Secara rutin memberikan hasil serupa berupa software yang berjalan
4. Pelaku bisnis dan pengembang software harus bekerja sama setiap hari sepanjang
proyek perangkat lunak dilaksanakan
5. Proyek dikembangkan di sekitar individu-individu dengan motivasi yang tinggi
6. Percakapan tatap muka (face to face)
12 PRINSIP MODEL PROSES AGILE
The Agile Alliance mendefinisikan 12 prinsip untuk mendapatkan agility:
❖ Waterfall Model
❖ Prototyping Model
❖ Rapid Application Development (RAD) Model
❖ Evolutionary Software Process Model
❖ Agile Model
❖ Model Rational Unified Process
❖ Model Build & Fix Method
❖ Metode Pengembangan Extreme Programming
❖ The V- Model
PRINSIP UTAMA RPL