Anda di halaman 1dari 11

LAPORAN TUGAS PERKULIAHAN

REKAYASA DAN PROYEK PERANGKAT LUNAK [14620164]

Kelas : B

KELOMPOK 1

Yohanes Poa 1461900144


Ewangsyah Ramadhani 1462200093
Arjunanta Tri Widiputra 1462200147
Dandy Dwi Al Farrel 1462200271

Dosen Pengampu

Agus Hermanto, S.Kom, M.MT, ITIL, COBIT, SFC

PROGRAM STUDI TEKNIK INFORMATIKA

FEBRUARI 2024
Sumber : Roger S. Pressman – Software Engineering :A Practitioner’s Approach 8th Edition,
2005

A. Halaman 12 Problem and Point To Ponder

Jawaban :
1. Hukum konsekuensi tak terduga dapat dilihat dalam berbagai aspek perangkat
lunak komputer, seperti:
a) Kebutuhan untuk pembaruan dan pemeliharaan konstan yang
menyebabkan peningkatan konsumsi sumber daya dan biaya.
b) Kerentanan keamanan yang tidak terduga muncul dari sistem perangkat
lunak yang kompleks.
c) Masalah kompatibilitas dengan perangkat keras atau sistem operasi baru,
memerlukan rekayasa ulang yang ekstensif.
d) Dampak negatif tak terduga pada privasi pengguna atau keamanan data
akibat fitur perangkat lunak yang berkembang.
e) Dampak lingkungan yang tidak terduga dari pembuangan perangkat lunak
dan perangkat keras usang.
2. Dampak positif dan negatif perangkat lunak pada masyarakat :
a) Dampak positif meliputi peningkatan konektivitas dan komunikasi, akses
yang lebih baik ke informasi dan layanan, serta peningkatan produktivitas
dan efisiensi di berbagai industri.
b) Dampak negatif mungkin meliputi kekhawatiran privasi, pelanggaran data,
penggusuran pekerjaan akibat otomatisasi, dan kesenjangan digital, di
mana beberapa populasi kekurangan akses ke teknologi dan sumber daya
digital.
3. Pertanyaan yang diajukan di awal Bagian 1.1 dapat dijawab sebagai berikut:
a. Waktu yang diperlukan untuk menyelesaikan pengembangan perangkat
lunak dipengaruhi oleh kompleksitas proyek, kebutuhan akan pengujian
yang cermat, dan sifat iteratif desain perangkat lunak.
b. Biaya pengembangan yang tinggi dapat diatribusikan kepada kebutuhan
akan keterampilan khusus, pengujian yang ekstensif, dan permintaan
untuk langkah-langkah keamanan yang kuat.
c. Mengidentifikasi semua kesalahan sebelum memberikan perangkat lunak
kepada pelanggan adalah tantangan karena kompleksitas sistem perangkat
lunak modern dan potensi interaksi yang tidak terduga antara komponen.
d. Pemeliharaan perangkat lunak membutuhkan waktu karena perlunya
pembaruan terus-menerus, perbaikan bug, dan patch keamanan untuk
memastikan perangkat lunak tetap berfungsi dan aman.
e. Kesulitan dalam mengukur kemajuan selama pengembangan dan
pemeliharaan perangkat lunak dapat berasal dari perubahan persyaratan,
teknologi yang berkembang, dan sifat iteratif desain perangkat lunak.
4. Untuk mengurangi potensi kerusakan dari perubahan dalam aplikasi modern,
perangkat lunak dapat dibangun dengan strategi berikut:
a. Menerapkan arsitektur modular dan fleksibel untuk mengakomodasi
perubahan di masa depan tanpa mengganggu keseluruhan sistem.
b. Memanfaatkan pengujian otomatis dan integrasi kontinu untuk mendeteksi
dan menangani masalah secara dini dalam proses pengembangan.
c. Mengadopsi metodologi pengembangan agile untuk memfasilitasi adaptasi
cepat terhadap perubahan persyaratan dan umpan balik pengguna.
d. Prioritaskan dokumentasi dan kontrol versi untuk melacak perubahan dan
memfasilitasi transisi yang mulus antara versi perangkat lunak.
e. Memeluk praktik DevOps untuk menyederhanakan implementasi dan
pemeliharaan perangkat lunak, memungkinkan pembaruan cepat dan
perbaikan bug.
5. Meskipun prinsip-prinsip dasar rekayasa perangkat lunak berlaku di berbagai kategori
perangkat lunak, implementasi dan pertimbangan spesifik dapat bervariasi. Misalnya:
a. Perangkat lunak sistem dapat memerlukan fokus pada optimisasi tingkat
rendah dan interaksi perangkat keras, sementara perangkat lunak aplikasi
dapat memprioritaskan pengalaman pengguna dan fungsionalitas.
b. Perangkat lunak tertanam dapat menekankan kinerja real-time dan batasan
sumber daya, sedangkan aplikasi web dapat memprioritaskan skalabilitas
dan keamanan.
c. Prinsip-prinsip inti rekayasa perangkat lunak berlaku secara universal,
aplikasi spesifik dan adaptasi prinsip-prinsip ini dapat berbeda
berdasarkan persyaratan dan kendala unik dari setiap kategori perangkat
lunak.

B. Halaman 27 Problem and Point To Ponder


Jawaban :
1. Prinsip-prinsip utama dari program Manajemen Kualitas Total (Total Quality
Management/TQM):
a. Fokus pada Pelanggan: Memahami dan memenuhi kebutuhan serta
harapan pelanggan adalah prioritas utama.
b. Keterlibatan Penuh Karyawan: Semua anggota organisasi berkontribusi
pada peningkatan kualitas dan proses.
c. Pendekatan Berbasis Proses: Mengelola dan meningkatkan proses bisnis
secara sistematis untuk mencapai hasil yang konsisten dan berkualitas.
d. Pengambilan Keputusan Berbasis Fakta: Menggunakan data dan analisis
untuk mengambil keputusan yang tepat.
e. Peningkatan Berkelanjutan: Berkomitmen untuk terus-menerus
meningkatkan produk, proses, dan sistem.
2. Rekayasa perangkat lunak tetap berlaku saat membangun WebApps. Namun, ada
beberapa modifikasi yang perlu dipertimbangkan, seperti:
a. Memperhatikan faktor-faktor unik dari lingkungan web, seperti kecepatan
pengembangan dan perubahan yang cepat.
b. Integrasi dengan teknologi web tertentu, seperti HTML, CSS, dan
JavaScript.
c. Pengujian yang lebih berfokus pada aspek-aspek web, seperti keamanan,
kompatibilitas lintas browser, dan responsifitas.
3. Contoh skenario:
Sebuah sistem kontrol lalu lintas udara yang mengalami kegagalan karena bug
perangkat lunak, menyebabkan tabrakan pesawat yang mengakibatkan kerugian
nyawa yang besar serta kerugian ekonomi yang signifikan karena gangguan besar
pada transportasi udara.
4. Kerangka kerja proses adalah struktur yang memberikan panduan untuk
mengelola dan mengendalikan pengembangan perangkat lunak. Ini terdiri dari
serangkaian aktivitas seperti perencanaan, analisis, desain, implementasi,
pengujian, dan pemeliharaan. Meskipun tugas-tugas tersebut dapat bervariasi
dalam detailnya, konsep dasarnya tetap sama untuk semua proyek, terlepas dari
ukuran dan kompleksitasnya. Misalnya, meskipun skala implementasi mungkin
berbeda, namun prinsip-prinsip dasar pengujian akan tetap relevan.
5. Aktivitas payung cenderung terjadi sepanjang proses perangkat lunak tetapi
mungkin memiliki tingkat fokus yang berbeda tergantung pada tahapan proses.
Misalnya, aktivitas manajemen risiko mungkin lebih terkonsentrasi pada tahap
perencanaan dan analisis, sementara aktivitas pengujian mungkin lebih
mendominasi pada tahap implementasi dan pengujian.
6. Tambahkan dua mitos tambahan ke daftar yang disajikan di Bagian 2.4. Juga
sebutkan realitas yang menyertainya.
a. Mitos : Semua kebutuhan pengguna dapat dipenuhi dengan sempurna
Realitas: Tidak mungkin untuk memenuhi semua kebutuhan pengguna
dengan sempurna karena adanya batasan sumber daya dan prioritas yang
harus dipertimbangkan
b. Mitos : Semakin banyak fitur yang ditambahkan ke perangkat lunak,
semakin baik
Realitas: Penambahan fitur yang berlebihan dapat menyebabkan
kebingungan pengguna dan meningkatkan kompleksitas, mengakibatkan
pengalaman pengguna yang buruk. Penting untuk fokus pada kebutuhan
inti dan kualitas perangkat lunak daripada menambahkan fitur secara
berlebihan.

C. Halaman 38 Problem and Point To Ponder


Jawaban :
1. Pertanyaan yang Harus Diajukan:
a. Oleh Perancang kepada Pengguna:
• Apa kebutuhan dan preferensi Anda terkait dengan produk
perangkat lunak ini?
• Apakah ada kendala atau batasan yang harus kami pertimbangkan
dalam desain produk?
• Bagaimana Anda berencana menggunakan produk ini dalam
kegiatan sehari-hari Anda?
• Apakah ada masalah atau tantangan tertentu yang Anda alami
dengan produk serupa sebelumnya?
• Apa yang menjadi harapan Anda terhadap kualitas dan kinerja
produk ini?
b. Oleh Pengguna kepada Perancang:
• Bagaimana progres pengembangan produk ini?
• Apakah ada perubahan signifikan dalam desain atau fitur yang
harus saya ketahui?
• Apakah Anda membutuhkan umpan balik tambahan atau pengujian
dari pihak pengguna?
• Bagaimana saya dapat memberikan masukan atau saran untuk
meningkatkan produk ini?
• Bagaimana rencana pengelolaan dan pemeliharaan produk ini
setelah diluncurkan?
c. Oleh Pengguna kepada Diri Sendiri:
• Apakah produk ini benar-benar memenuhi kebutuhan dan
keinginan saya?
• Bagaimana produk ini akan memudahkan atau mempersulit
kegiatan sehari-hari saya?
• Apakah saya siap untuk mempelajari dan menguasai penggunaan
produk ini?
• Apakah produk ini memberikan nilai tambah yang sepadan dengan
investasi waktu dan uang saya?
• Apakah produk ini aman dan andal digunakan dalam situasi yang
berbeda?
d. Oleh Perancang kepada Diri Sendiri:
• Apakah saya memahami dengan jelas kebutuhan dan ekspektasi
pengguna terhadap produk?
• Apakah alur kerja dan proses pengembangan yang saya pilih sesuai
dengan tujuan produk?
• Apakah saya memiliki keterampilan dan pengetahuan yang cukup
untuk mengimplementasikan desain ini?
• Bagaimana saya akan mengelola risiko dan tantangan selama
pengembangan produk?
• Apakah ada cara untuk meningkatkan efisiensi dan kualitas proses
pengembangan yang saya gunakan?
2. Perbedaan di antara berbagai alur proses dalam pengembangan perangkat lunak
termasuk model waterfall, model spiral, model agile, dll. Setiap alur proses
memiliki pendekatan yang berbeda terhadap perencanaan, pengembangan,
pengujian, dan pengiriman perangkat lunak. Masalah yang mungkin muncul
dalam masing-masing alur proses bisa berbeda tergantung pada kompleksitas
proyek, kebutuhan pelanggan, dan lingkungan pengembangan.
3. Serangkaian Tindakan untuk Aktivitas Komunikasi:
Tindakan:Mengadakan pertemuan tim proyek secara berkala.
Tugas:
a. Tentukan jadwal rutin untuk pertemuan tim dan komunikasikan kepada
semua anggota tim.
• Pilih waktu dan frekuensi yang cocok untuk pertemuan tim,
misalnya, setiap minggu atau dua minggu sekali.
• Sampaikan jadwal pertemuan kepada semua anggota tim dengan
jelas dan pastikan semua anggota tim mengetahui waktu dan
tempat pertemuan.
b. Persiapkan agenda pertemuan yang jelas dan terperinci sebelumnya.
• Buat agenda pertemuan yang mencakup topik-topik yang akan
dibahas.
• Pastikan agenda disampaikan kepada semua anggota tim sebelum
pertemuan agar mereka
c. Ajak semua anggota tim untuk berpartisipasi aktif dalam diskusi dan
memberikan masukan.
• Sediakan kesempatan bagi setiap anggota tim untuk berbicara dan
menyampaikan pendapat mereka.
• Dorong diskusi yang kolaboratif dan buka untuk mempromosikan
ide-ide baru dan solusi-solusi kreatif.
d. Catat hasil pertemuan dan tindak lanjut yang perlu dilakukan.
• Catat semua keputusan yang dibuat dan langkah-langkah yang
diambil selama pertemuan.
• Tetapkan tindak lanjut yang jelas untuk setiap tugas atau
keputusan yang diambil dan pastikan tanggung jawabnya
ditetapkan.
e. Evaluasi efektivitas pertemuan secara berkala dan lakukan perbaikan jika
diperlukan.
• Tinjau ulang pelaksanaan pertemuan untuk mengevaluasi
keefektifan proses komunikasi.
• Mintalah umpan balik dari anggota tim untuk mengetahui area-
area yang perlu diperbaiki atau ditingkatkan.
• Terapkan perbaikan atau penyesuaian sesuai dengan umpan balik
yang diterima untuk meningkatkan efektivitas pertemuan
selanjutnya.
4. Pola Proses untuk Menangani Persyaratan yang Bertentangan:
• Tahap 1:Identifikasi Persyaratan yang Bertentangan
Contoh: Tim pengembangan perangkat lunak menemukan bahwa ada dua
pemangku kepentingan yang menginginkan fitur yang bertentangan.
Misalnya, satu pemangku kepentingan menginginkan fitur A ditempatkan
di bagian depan aplikasi, sementara pemangku kepentingan lain
menginginkan fitur B sebagai fitur utama.
• Tahap 2: Evaluasi dan Prioritaskan Persyaratan
Contoh: Tim melakukan evaluasi terhadap kedua persyaratan dan
mengidentifikasi prioritas masing-masing. Misalnya, fitur A mungkin
lebih krusial untuk kenyamanan pengguna, sementara fitur B mungkin
lebih penting untuk fungsionalitas inti aplikasi.
• Tahap 3: Diskusikan dan Jelaskan Konsekuensi dari Persyaratan yang
Bertentangan
Contoh: Tim mengadakan pertemuan untuk menjelaskan kepada kedua
pemangku kepentingan konsekuensi dari memilih salah satu persyaratan
daripada yang lain. Mereka menjelaskan dampak positif dan negatif dari
masing-masing pilihan.
• Tahap 4: Ajukan Solusi Alternatif atau Kompromi
Contoh: Tim mengusulkan beberapa solusi alternatif, seperti
mengintegrasikan kedua fitur menjadi satu atau mengatur prioritas
pengembangan. Mereka juga mempertimbangkan kompromi yang
memenuhi sebagian besar kebutuhan kedua pemangku kepentingan.
• Tahap 5: Melakukan Perundingan dan Kesepakatan Bersama
Contoh: Tim dan kedua pemangku kepentingan berunding untuk mencapai
kesepakatan bersama tentang solusi terbaik. Mereka membahas pro dan
kontra dari setiap pilihan dan mencari titik tengah yang dapat diterima
oleh semua pihak.
• Tahap 6: Dokumentasikan Keputusan yang Dibuat
Contoh: Keputusan yang diambil dicatat secara tertulis dalam bentuk
dokumen yang dapat diakses oleh seluruh tim pengembangan. Ini
mencakup detail solusi yang dipilih dan alasan di baliknya.
• Tahap 7: Pantau dan Evaluasi Implementasi Solusi
Contoh: Tim melakukan pemantauan terhadap implementasi solusi yang
dipilih untuk memastikan bahwa semua pihak puas dengan hasilnya.
Mereka mengumpulkan umpan balik dari pemangku kepentingan dan
melakukan penyesuaian jika diperlukan.
• Tahap 8: Sesuaikan dan Koreksi jika Diperlukan
Contoh: Jika ada masalah yang muncul atau perubahan dalam kebutuhan,
tim siap untuk melakukan penyesuaian sesuai kebutuhan. Mereka terbuka
untuk revisi jika solusi yang dipilih tidak memenuhi harapan atau
memunculkan masalah baru.
Referensi :

[1] J. McDermid, Book review: Software Engineering: a Practitioner’s Approach, vol. 10, no.
6. 1995.
[2] R. S. . author Pressman, “Software engineering : a practitioner’s approach,” 2015.
[3] “Software engineering : a practitioner’s approach.” [Online]. Available:
https://lib.ui.ac.id/detail?id=20419072&lokasi=lokal. [Accessed: 01-Mar-2024].
[4] R. H. Sukarna and A. M. Januariana, “Rekayasa Perangkat Lunak Pelayanan Surat Dan
Pengolahan Data Kependudukan Berbasis Database,” J. Pengabdi. Din., vol. 8, pp. 79–83,
2021.
[5] A. Kurniawan, “Rekayasa Perangkat Lunak Aplikasi Penjualan Pada Toko Story Time
Factory Outlet Menggunakan Pemrograman Java,” Univ. Andalas, pp. 1–10, 2014.

Anda mungkin juga menyukai