Anda di halaman 1dari 27

Pertemuan 1:

Perangkat Lunak dan


Rekayasa Perangkat Lunak
Meuthia Rachmaniah
Departemen Ilmu Komputer, FMIPA IPB

Software Engineering: A Practitioner’s Approach, 9 th Ed., 2020


Roger S. Pressman dan Bruce R. Maxim
Copyright © 2020 McGraw-Hill Education
1-1 Chapter 1
OBJECTIVES/SELF-STUDY OUTLINE

1) Sifat Perangkat Lunak (PL)


2) Defining the Discipline
3) Proses Perangkat Lunak (Software Process)
4) Praktik Rekayasa Perangkat Lunak (RPL)
5) How It All Start
6) Rangkuman

1-2 Chapter 21
QUICK LOOK
WHAT IS IT? WHAT ARE THE STEPS
o PL Komputer adalah work product yang dibangun dan PL dibangun seperti Anda membangun produk yang sukses:
didukung oleh professional PL selama bertahun-tahun. o menerapkan proses yang gesit (agile) dan mudah
o Work product adalah program yang dieksekusi beradaptasi
komputer pada ukuran dan arsitektur komputer yang o mengarah pada hasil berkualitas tinggi
beragam o memenuhi kebutuhan orang-orang yang akan
o RPL mencakup proses, koleksi metode-metode menggunakan produk
(praktik), dan array of tools untuk profesional
membangun PL berkualitas tinggi WHAT IS THE WORK PRODUCT
o Sudut pandang Software Engineers: gugus program-
WHO DOES IT program, konten (data), dan work product lainnya untuk
mendukung PL komputer
o Software Engineers: membangun dan mendukung
PL. Software engineers menerapkan proses RPL o Sudut pandang Users: tool atau produk yang sedemikian
rupa membuat dunia users menjadi lebih baik
o Every Users: setiap orang pada industrialized world

WHY IS IT IMPORTANT? HOW DO I ENSURE THAT


I’VE DONE IT RIGHT
o RPL penting karena memungkinkan kita
o Ikuti terus kuliah dan praktikum RPL, pilih ide-ide yang
membangun sistem yang kompleks secara tepat
dapat diterapkan pada PL yang akan dibangun, dan
waktu dan dengan kualitas tinggi
terapkan/gunakan PL tsb dalam pekerjaan Anda
o Memaksakan disiplin kerja dengan ketat, namun
masih memungkinkan untuk menyesuaikan
pendekatan yang sesuai dengan kebutuhan
1-3 Chapter 31
Tantangan Realita Pengembangan PL yang Dihadapi

Ketergantungan
Aspek dan Minat
pada PL
o PL telah menjadi aspek dari setiap kehidupan o Individu, bisnis, dan pemerintah semakin
o Peningkatan jumlah orang memiliki minat pada bergantung pada PL untuk pengambilan
fitur dan fungsi yang terdapat pada aplikasi PL keputusan strategis dan taktis serta operasi
o Upaya bersama (seperti konser) harus dan control sehari-hari
dilakukan untuk memahami masalah sebelum o Software should exhibit high quality (PL harus
solusi PL dikembangkan menunjukkan kualitas tinggi)

IT Requirements Pertumbuhan Minat


o Persyaratan teknologi informasi yang dituntut
dan Tuntutan
oleh individu, bisnis, dan pemerintah tumbuh o Nilai yang dirasakan dari aplikasi tertentu
semakin kompleks setiap tahun tumbuh, sehingga basis pengguna dan umur
PL juga akan tumbuh
o PL canggih yang pernah diimplementasukan
dalam lingkungan komputasi mandiri yang PL DALAM SEGALA o Seiring bertambahnya basis pengguna dan
dapat diprediksi, sekarang tertanam waktu penggunaan, maka tuntutan untuk
(embedded) di dalam segala hal, mulai dari BENTUKNYA DAN DI adaptasi dan peningkatan juga akan
elektronik konsumen hingga perangkat medis SEMUA DOMAIN bertumbuh
hingga kendaraan otonom o Software should be maintainable (PL harus
o Design has become a pivotal activity (Desain APLIKASINYA dapat dipelihara/maintain)
telah menjadi aktivitas penting) HARUS DIREKAYASA
1-4 Chapter 41
Rekayasa Perangkat Lunak (RPL)

 Some realities:
 Upaya bersama (seperti konser) harus dilakukan untuk
memahami masalah sebelum solusi PL dikembangkan
 Design has become a pivotal activity (Desain telah menjadi
aktivitas penting)
 Software should exhibit high quality (PL harus menunjukkan
kualitas tinggi)
 Software should be maintainable (PL harus dapat
dipelihara/maintain)
 The seminal definition:
 [RPL adalah] penetapan dan penggunaan prinsip-prinsip
rekayasa untuk mendapatkan PL ekonomis yang dapat
diandalkan dan bekerja secara efisien pada mesin nyata
(real machines)
5
1-5 Chapter 1
1) SIFAT PERANGKAT LUNAK

Dua peran PL:


1) Sebagai Vehicle PL sebagai Produk
2) Sebagai Produk
o PL memberikan potensi komputasi yang
diwujudkan oleh hardware komputer atau
oleh jaringan komputer yg dapat diakses
PL sebagai Vehicle oleh hardware lokal
untuk mengirimkan o PL terdapat dalam mobile device, desktop,
produk cloud, computer mainframe, autonomous
machine
o Bertindak sebagai basis
kontrol untuk komputer o PL adalah transformator informasi:
(sistem operasi) menghasilkan, mengelola, memperoleh,
PL Komputer mengalami perubahan memodifikasi, menampilkan, atau
o Mengkomunikasikan signifikan dalam 60 tahun terakhir: mentransmisikan informasi sederhana
informasi (jaringan)  Kinerja hardware, arsitektur komputasi, berupa bit tunggal atau kompleks seperti
o Menciptakan dan peningkatan memory dan storage, variasi representasi augmented reality yang
mengendalikan program- input/output diperoleh dari lusinan sumber independen
program lain (software  Hasil luar biasa jika sukses, namun yang dihamparkan di dunia nyata
tools and environment) menimbulkan masalah besar jika gagal
 Dikembangkan oleh tim spesialis, bukan
lagi oleh lone programmer
1-6 Chapter 61
1.a DEFINISI PERANGKAT LUNAK

2. Struktur Data
Memungkinkan program-
program untuk memanipulasi
informasi secara memadai

Informasi Deskriptif
1. Instruksi (Program- Dalam bentuk hardcopy dan
bentuk virtual yang
program Komputer)
menjelaskan operasi dan
Apabila dieksekusi penggunaan program-
menyediakan fitur-fitur, program
fungsi dan kinerja yang
diinginkan

1-7 Chapter 71
▰ Karakteristik PL
berbeda dari hal-hal
lain yang dibuat
oleh manusia.
▰ PL adalah logik Fig.1.1 Kurva kegagalan hardware Fig.1.1 Kurva kegagalan PL (software)
bukan elemen
sistem fisik.
o Disebut bathtub curve relationship o PL tidak rentan terhadap penyakit lingkungan
o Kegagalan relatif tinggi di awal yang menyebabkan hardware usang
▰ PL memiliki satu (cacat desain/manufaktur), lalu o Secara teori, kurva tingkat kegagalan PL harus
karakteristik dikoreksi, lalu cacat menurun berbentuk “kurva ideal” (idealized curve)
mendasar yang sampai tingkat steady-state o Awal program, cacat akan tinggi, lalu dikoreksi
membuatnya o Seiring waktu, laju gagal sehingga tingkat cacat mendatar
sangat berbeda dari meningkat lagi (efek kumulatif o PL mengalami deteriorate (menurun) sehingga
hardware: “PL debu, vibrasi, penyalagunaan, perlu diubah (change), akan ada tingkat error
temperature ekstrim, dll  WEAR (actual curve), dst.
Tidak “Usang”.
OUT (usang)
1-8 Chapter 81
1.b DOMAIN APLIKASI PERANGKAT LUNAK

7. ARTIFICIAL INTELLIGENCE SOFTWARE 1. SYSTEM SOFTWARE


Koleksi program-program sebagai layanan (service) untuk
o Memanfaatkan heuristik untuk memecahkan problem
program-program lainnya:
kompleks yang tidak dapat dilakukan dengan perhitungan
biasa atau analisis langsung. o Determinate: PL sistem (misalnya, kompiler, editor, dan
utilitas manajemen file) memproses kompleks pada
o Contoh aplikasi: robotika, sistem pengambilan keputusan,
struktur informasi tertentu
pengenalan pola (gambar dan suara), pembelajaran
mesin, pembuktian teorema, dan permainan. o Indeterminate: aplikasi sistem (misalnya, komponen
sistem operasi, driver, perangkat lunak jaringan, prosesor
telekomunikasi) memproses sebagian besar data tak tentu
6. WEB/MOBILE APPLICATION
o Berpusat pada jaringan mencakup beragam
aplikasi dan aplikasi berbasis browser, komputasi 2. APPLICATION SOFTWARE
awan, komputasi berbasis layanan, dan perangkat o Program yang berdiri sendiri yang memecahkan
lunak yang berada di perangkat seluler kebutuhan bisnis tertentu
o Memproses data bisnis atau teknis dengan cara
5. PRODUCT-LINE SOFTWARE yang memfasilitasi operasi bisnis atau
pengambilan keputusan manajemen/teknis
o Terdiri dari komponen yang dapat
digunakan kembali (reusable component)
dan dirancang untuk memberikan
4. EMBEDDED SOFTWARE 3. ENGINEERING/SCIENTIFIC SOFTWARE
kemampuan khusus untuk digunakan oleh o Terdapat di dalam produk atau sistem dan
digunakan untuk mengimplementasikan dan o Serangkaian program "penghitungan angka" atau
banyak pelanggan yang berbeda
mengontrol fitur dan fungsi untuk pengguna akhir data sains yang luas seperti astronomi hingga
o Dapat difokuskan pada pasar yang vulkanologi, dari stress analysis otomotif hingga
dan untuk sistem itu sendiri
terbatas dan esoterik (misalnya, produk dinamika orbital, dari desain berbantuan komputer
pengendalian persediaan/inventory o Dapat melakukan fungsi terbatas dan esoteris hingga kebiasaan belanja konsumen, dan dari
control product) atau mencoba untuk (misalnya, kontrol tombol untuk oven microwave) analisis genetik hingga meteorologi
mengatasi pasar konsumen massal. atau menyediakan fungsi dan kemampuan kontrol
yang signifikan (misalnya, fungsi digital dalam mobil
seperti kontrol bahan bakar, tampilan dasbor, dan
sistem pengereman) 1-9 Chapter 91
PL – Kategori Baru

Netsourcing
Web sebagai engine komputasi
Ubiquitous
Computing Open Source
Source code “gratis” terbuka
Wireless Network (jaringan untuk komunitas komputasi
nirkabel) (berkah, tetapi juga berpotensi
kutukan!)

Open World Software –


Computing New Lainnya:
Komputasi Pervasive, o Data Mining
Terditribusi Categories o Grid Computing
o Cognitive Machines
o PL untuk teknologi Nano

1-10 Chapter101
1.c LEGACY PERANGKAT LUNAK

Left ?? Right ?? o Dikembangkan beberapa dekade yang lalu dan telah


terus dimodifikasi untuk memenuhi perubahan
kebutuhan bisnis dan platform komputasi.

Legacy Software o Proliferasi sistem semacam itu menyebabkan sakit


kepala bagi organisasi besar yang menganggapnya
mahal untuk dipelihara dan berisiko untuk
Systems ? berkembang

o Ratusan ribu program komputer termasuk


dalam salah satu dari tujuh domain aplikasi PL
o Perubahan ini dapat menciptakan efek samping
o What To Do?
o Do Nothing setidaknya sampai
tambahan yang sering ada pada perangkat
sistem warisan harus mengalami
lunak lawas—kualitas buruk.
beberapa perubahan signifikan
o Sistem lama terkadang memiliki desain yang
o Does not need to be fixed jika
tidak dapat diperluas, kode yang berbelit-belit,
memenuhi kebutuhan penggunanya
dokumentasi yang buruk atau tidak ada sama
dan berjalan dengan andal
sekali, kasus pengujian dan hasil yang tidak
pernah diarsipkan, dan riwayat perubahan yang
tidak dikelola dengan baik

1-11 Chapter111
ALASAN LEGACY SYSTEM HARUS BEREVOLUSI

Harus Disesuaikan Harus Diperluas


untuk memenuhi untuk membuatnya
kebutuhan lingkungan bekerja dengan sistem
atau teknologi atau database lain
komputasi baru yang lebih modern

Harus Ditingkatkan Harus Diarsitektur Ulang


untuk menerapkan untuk membuatnya
persyaratan bisnis baru layak dalam
lingkungan komputasi
yang berkembang..
o Merancang metodologi yang didasarkan
pada gagasan evolusi, yaitu:
o Gagasan bahwa system PL baru Tujuan dari
dapat dibangun dari yang lama
RPL modern:
o Semua harus berinteraksi dan
bekerja sama satu sama lain
1-12 Chapter121
Karakteristik WebApps - I

▰ Network Intensiveness. WebApp terdapat dalam network


dan harus melayani kebutuhan komunitas klien yang beragam
▰ Concurrency. Sejumlah bersar user dapat mengakses
WebApp pada satu waktu bersamaan
▰ Unpredictable Load. Jumlah user pada WebApp dapat
bervariasi magnitut besarnya dari hari ke hari
▰ Performance. Jika user WebApp harus menunggu lama
(untuk akases, untuk pemrosesan di sisi server, untuk format dan
display di sisi klien), maka WebApp akan ditinggalkan
▰ Availability. Walau ekspektasi tersedia 100% tidak mungkin
diperoleh, namun user dari WebApp yang popular meminta akses
“24/7/365”
13
1-13 Chapter 1
Karakteristik WebApps - II

▰ Data Driven. Fungsi primer dari ▰ Immediacy (kebutuhan mendesak untuk


WebApp ialah penggunaan meluncurkan PL ke pasar dengan cepat). WebApps
hypermedia untuk tekx, grafik, dan sering menunjukkan waktu untuk memasarkan yang
konten video bisa dalam hitungan beberapa hari atau minggu
▰ Content Sensitive. Kualitas ▰ Security. Karena WebApps tersedia melalui
dan sifat estetika konten merupakan akses jaringan, sulit, jika bukan tidak mungkin, untuk
determinan penting untuk WebApp membatasi populasi pengguna akhir yang dapat
berkualitas mengakses aplikasi
▰ Continuous Evolution. ▰ Aesthetic. Bagian yang tak terbantahkan dari
Aplikasi WebApp berevolusi secara daya tarik WebApp adalah tampilan dan rasanya
konntinyu (the look and feel)

14
1-14 Chapter 1
2) DEFINING THE DISCIPLINE

▰ Definisi RPL menurut IEEE:


1) Penerapan pendekatan yang
sistematis, disiplin, terukur untuk
pengembangan, pengoperasian, dan
pemeliharaan PL; yaitu, penerapan
rekayasa ke PL.
2) Studi tentang pendekatan seperti
pada (1)
1-15 Chapter151
Lapisan-lapisan pada RPL

Fokus pada Kualitas Tools (Perangkat Bantu)


o Komitmen organisasi pada kualitas o Memberikan dukungan otomatis atau
o Total Quality Management (TQM) atau Six Sigma semi-otomatis untuk proses dan metode.
o Ketika tools terintegrasi sehingga
informasi yang dibuat oleh satu tool
Proses dapat digunakan oleh tool lain, sebuah
o Adalah perekat yang menyatukan lapisan teknologi dan memungkinkan sistem untuk mendukung
pengembangan PL komputer yang rasional dan tepat waktu pengembangan PL , yang disebut RPL
o Mendefinisikan kerangka kerja (framework) yang harus ditetapkan untuk berbantuan komputer, dibuat
pengiriman yang efektif dari teknologi RPL
o Membentuk dasar untuk pengendalian manajemen proyek PL dan
menetapkan konteks di mana metode teknis diterapkan, produk kerja/work
product (model, dokumen, data, laporan, formulir, dll.) diproduksi, tonggak
(benchmark) pencapaian ditetapkan, kualitas dipastikan, dan perubahan
dikelola dengan baik
Tools
Metode Metode
o Petunjuk teknis untuk membangun PL.
o Metode mencakup beragam tugas yang mencakup komunikasi, analisis
Proses
persyaratan (requirements), pemodelan desain, konstruksi program,
pengujian, dan dukungan. Fokus Kualitas
o Metode RPLbergantung pada seperangkat prinsip dasar yang mengatur
setiap bidang teknologi dan mencakup aktivitas pemodelan dan teknik
deskriptif lainnya
1-16 Chapter161
3) PROSES PERANGKAT LUNAK
o Proses adalah koleksi aktivitas, aksi (actions), dan tugas (tasks) yang
dilakukan saat suatu produk kerja (work product) diciptakan
 Aktivitas adalah upaya mencapai tujuan luas (mis. Komunikasi dengan
stakeholders) dan menerapkannya (terlepas dari domain aplikasi, ukuran proyek,
kompleksitas upaya, derajat ketelitiannya)
 Aksi/Actions (mis.desain arsitektural) terdiri dari gugus tugas (set of tasks) yang
menghasilkan produk kerja (work product) utama
 Tugas/Tasks berfokus pada tujuan kecil, tetapi terdefinisi dengan baik (mis.
melakukan tes unit) yang menghasilkan hasil yang nyata
Sebuah proses bukanlah resep kaku untuk bagaimana membangun PL
komputer. Sebaliknya, ini adalah pendekatan yang dapat disesuaikan yang
memungkinkan orang yang melakukan pekerjaan (tim PL) untuk memilih dan
memilih rangkaian tindakan dan tugas kerja yang sesuai.
1-17 Chapter171
3.a FRAMEWOK PROSES

o Menetapkan dasar untuk proses RPL yang


lengkap dengan mengidentifikasi sejumlah
kecil framework aktivitas yang berlaku untuk
semua proyek PL, terlepas dari ukuran atau
kompleksitasnya
o Mencakup serangkaian kegiatan payung
(Umbrella Activities) yang berlaku di seluruh
proses PL
o Framework Proses generik untuk RPL
mencakup lima kegiatan: Komunikasi,
Perencanaan, Pemodelan, Konstruksi, dan
Deployment

1-18 Chapter181
Framework Proses Generik

Komunikasi o Komunikasi dan kolaborasi dengan konsumen dan stakeholder


o Tujuan: untuk memahami tujuan stakeholder untuk proyek dan untuk
mengumpulkan persyaratan yang membantu menentukan fitur dan fungsi PL

Perencanaan o Membuat rencana proyek PL— mendefinisikan pekerjaan RPL dengan


menggambarkan tugas teknis yang akan dilakukan, risiko yang mungkin
terjadi, sumber daya yang akan diperlukan, produk kerja yang akan
diproduksi, dan jadwal kerja

Pemodelan o Model: Membuat "sketsa" sesuatu sehingga Anda akan memahami


gambaran besarnya—seperti apa tampilannya secara arsitektur, bagaimana
bagian-bagian penyusunnya cocok, dan banyak karakteristik lainnya.
o RPL: model untuk lebih memahami persyaratan PL dan desain yang akan
mencapai persyaratan tersebut

Konstruksi o Apa yang Anda desain harus dibangun.


o Aktivitas ini menggabungkan pembuatan koding (baik manual atau otomatis)
dan pengujian yang diperlukan untuk mengungkap kesalahan dalam koding

Deployment o PL (sebagai entitas yang lengkap atau sebagai tambahan yang


diselesaikan sebagian) dikirimkan ke pelanggan yang
mengevaluasi produk yang dikirimkan dan memberikan umpan
balik berdasarkan evaluasi

1-19 Chapter191
▰ Penerapan lima framework ▰ Banyak proyek PL melakukan
aktivitas generik: framework aktivitas secara iteratif
▻ Pengembangan program seiring dengan berkembangnya
sederhana dan kecil proyek
▻ Penciptaan aplikasi web ▻ Komunikasi, Perencanaan, Pemodelan,
Konstruksi, dan Deployment diterapkan
▻ Rekayasa sistem berbasis
berulang kali pada sejumlah iterasi
komputer yang besar dan
proyek
komplek
▻ Setiap iterasi menghasilkan software
increment berupa subset dari
keseluruhan fitur dan fungsi PL

1-20 Chapter201
Aktivitas Framework
Proses RPL dilengkapi
3.b UMBRELLA ACTIVITIES oleh sejumlah
Umbrella Activities

PENGUKURAN MANAJEMEN KONFIGURASI PL


Mendefinisikan dan mengumpulkan proses, 5 6 Mengelola efek perubahan selama proses PL
proyek, dan ukuran produk yang membantu tim
dalam memberikan PL yang memenuhi kebutuhan
pemangku kepentingan;
dapat digunakan bersama dengan semua MANAJEMEN REUSABILITY
framework aktivitas dan umbrella acitivities lainnya
7 Mendefinisikan kriteria untuk penggunaan
kembali produk kerja (termasuk komponen PL)
REVIEW TEKNIS 4
dan menetapkan mekanisme untuk mencapai
komponen reusable
Menilai produk kerja RPL dalam upaya
untuk mengungkap dan menghilangkan
kesalahan sebelum disebarkan ke
aktivitas berikutnya

8 PREPARASI DAN PRODUKSI


JAMINAN KUALITAS PL (SOFTWARE 3 WORK PRODUCT
QUALITY ASSURANCE) Meliputi aktivitas yang diperlukan untuk
Mendefinisikan dan melakukan aktivitas membuat produk kerja (work product)
yang diperlukan untuk memastikan seperti model, dokumen, log, formulir, dan
kualitas PL daftar
2 1
MANAJEMEN RISIKO
Mengkaji risiko yang dapat PELACAKAN DAN KONTROL PROYEK PL
mempengaruhi outcome proyek atau Tim PL menilai kemajuan terhadap rencana proyek
kualitas produk dan mengambil tindakan yang diperlukan untuk
mempertahankan jadwal
1-21 Chapter211
3.c ADAPTASI PROSES RPL
o Proses RPL harus agile
dan adaptable (terhadap
problem, proyek, tim, dan
budaya organisasional)

Perbedaan Proses dipengaruhi oleh:


1) Keseluruhan aliran aktivitas, aksi, dan tugas serta saling
ketergantungan di antara mereka
Antar Proyek 2) Sejauh mana tindakan dan tugas didefinisikan dalam setiap
Framework Activity
Proses yang diadopsi untuk 3) Sejauh mana work product diidentifikasi dan diperlukan
satu proyek mungkin berbeda 4) Cara penerapa kegiatan penjaminan mutu (quality assurance)
secara signifikan dari proses 5) Cara aktivitas project tracking dan kendali diterapkan
yang diadopsi 6) Tingkat keseluruhan detail dan ketelitian proses yang lakukan
7) Sejauh mana pelanggan dan pemangku kepentingan lainnya
Terdapat 9 terlibat dengan proyek
Perbedaan 8) Tingkat otonomi yang diberikan kepada tim PL
9) Sejauh mana organisasi dan peran tim ditentukan

1-22 Chapter221
4) PRAKTIK RPL - a) Esensi Praktik RPL

1. Understand the Problem 3. Jalankan Rencana


(Komunikasi dan Analisis) (Code Generation)
o Apakah solusi sesuai dengan rencana?
o Siapa yang memiliki kepentingan dalam pemecahan Apakah source code dapat dilacak ke model
masalah? Artinya, siapa pemangku kepentingannya? desain?
o Apa yang tidak diketahui? Data, fungsi, dan fitur apa o Apakah setiap komponen bagian dari solusi
yang diperlukan untuk menyelesaikan masalah terbukti benar? Apakah desain dan kode telah
dengan benar? ditinjau, atau lebih baik, apakah bukti
o Bisakah masalah dikotak-kotakkan? Apakah mungkin kebenaran telah diterapkan pada algoritme?
untuk merepresentasikan masalah yang lebih kecil
yang mungkin lebih mudah dipahami?
o Bisakah masalah direpresentasikan secara grafis? Periksa Akurasi Hasil
Bisakah model analisis dibuat? (Testing dan QA)
2. Rencanakan Solusi o Apakah mungkin untuk menguji setiap
komponen bagian dari solusi? Apakah
(Pemodelan dan Desain PL) strategi pengujian yang masuk akal telah
o Pernahkah Anda melihat masalah serupa sebelumnya? Apakah ada diterapkan?
pola yang dapat dikenali dalam solusi potensial? Apakah ada PL o Apakah solusi menghasilkan hasil yang
yang mengimplementasikan data, fungsi, dan fitur yang diperlukan? sesuai dengan data, fungsi, dan fitur yang
o Apakah masalah serupa sudah terpecahkan? Jika demikian, diperlukan? Apakah PL telah divalidasi
apakah elemen solusi dapat digunakan kembali? terhadap semua persyaratan pemangku
kepentingan?
o Bisakah submasalah didefinisikan? Jika demikian, apakah solusi
mudah terlihat untuk submasalah?
o Dapatkah Anda mewakili solusi dengan cara yang mengarah pada
implementasi yang efektif? Bisakah model desain dibuat?
1-23 Chapter231
4) PRAKTIK RPL - b) Prinsip-prinsip Umum Hooker

1. The Reason It All Exist


7. Think!
o To provide value to its users
o Menempatkan pemikiran yang jelas dan
lengkap sebelum bertindak hampir selalu o “Does this add real value to the system?” If the
menghasilkan hasil yang lebih baik answer is no, don’t do it.
o Efek samping dari berpikir adalah belajar
mengenali ketika Anda tidak tahu sesuatu, di 2. KISS (Keep It Simple, Stupid!)
mana Anda dapat meneliti jawabannya.
o All design should be as simple as possible,
but no simpler
6. Plan Ahead for Reuse o Desain yang lebih elegan biasanya yang
o Reuse save time and effort. Reuse koding lebih sederhana
dan desain merupakan benefit dari o Seringkali dibutuhkan banyak pemikiran dan
teknologi object-oriented pengerjaan berulang kali untuk
o Perencanaan ke depan untuk reusable menyederhanakan desain
mengurangi biaya dan meningkatkan nilai
komponen reusable dan sistem di mana 3. Maintain the Vision
komponen-komponen tergabung o Visi yang jelas sangat penting untuk keberhasilan
proyek PL
5. Be Open to the Future o Memiliki arsitek yang dapat memegang visi dan
menegakkan kepatuhan membantu memastikan
o Spesifikasi berubah pada saat itu juga dan platform kesuksesan proyek PL
hardware sudah usang hanya beberapa bulan, masa
pakai PL biasanya diukur dalam bulan, bukan tahun
o Selalu tanyakan “bagaimana jika”, dan persiapkan
4. What Your Produce, Others Will Consume
semua kemungkinan jawaban dengan menciptakan o Selalu tentukan, rancang, dokumentasikan, dan
sistem yang memecahkan masalah umum, bukan implementasikan dengan mengetahui bahwa orang lain harus
hanya masalah spesifik memahami apa yang Anda lakukan
o Potensi user sangat besar. Saat desain, pertimbangkan
implementer. Saat Koding, pertimbangkan SDM yang akan
memelihara dan melakukan debug 1-24 Chapter241
5) HOW IT ALL START

▰ SafeHome:
▰ Setiap proyek PL dipicu oleh beberapa
kebutuhan bisnis —
o kebutuhan untuk memperbaiki cacat pada aplikasi yang ada;
o kebutuhan akan kebutuhan untuk mengadaptasi ‘legacy
system' dengan lingkungan bisnis yang berubah;
o kebutuhan untuk memperluas fungsi dan fitur aplikasi yang
ada, atau
o kebutuhan untuk menciptakan produk, layanan, atau sistem baru.

1-25 Chapter251
6) RANGKUMAN

▰ PL adalah elemen kunci ▰ Perangkat lunak — ▰ RPL meliputi proses, metode, dan tools yang
dalam evolusi sistem dan program, data, dan memungkinkan sistem berbasis komputer yang
produk berbasis komputer informasi deskriptif kompleks untuk dibangun secara tepat waktu dan
dan salah satu teknologi — menangani berkualitas.
terpenting di panggung dunia. beragam bidang ▰ Proses PL menggabungkan lima framework
▰ Selama 60 tahun terakhir, PL teknologi dan aktivitas — komunikasi, perencanaan, pemodelan,
telah berevolusi dari aplikasi. konstruksi, dan penyebaran (deployment) — yang
pemecahan masalah khusus ▰ PL lama terus berlaku untuk semua proyek PL.
dan alat analisis informasi menghadirkan ▰ Praktik RPL adalah aktivitas pemecahan masalah
menjadi industri itu sendiri. tantangan khusus yang mengikuti seperangkat prinsip inti.
▰ Namun masih terdapat bagi mereka yang
harus ▰ Saat Anda mempelajari lebih lanjut tentang RPL,
kesulitan mengembangkan Anda akan mulai memahami mengapa prinsip-
PL berkualitas tinggi tepat memeliharanya.
prinsip ini harus dipertimbangkan saat memulai
waktu dan sesuai anggaran. proyek PL apa pun

26
1-26 Chapter 1
Chapter 1:
Perangkat Lunak dan
Rekayasa Perangkat Lunak
Meuthia Rachmaniah
Departemen Ilmu Komputer, FMIPA IPB

▰ Software Egineering: A Practitioners Approach


▰ 9 Edition, 2020
th

▰ Roger S. Pressman
▰ Bruce R. Maxim 1-27 Chapter 1

Anda mungkin juga menyukai