Bab 14 : Software Engineering Professional Practice
Nama : Mutia Ardelia Rokhima
NIM : 240605110075
Bab 14 : Software Engineering Professional
Practice
Bagian 1 : Etika dan Standar
dalam Rekayasa Perangkat Lunak
A.
Kode etik dan tanggung jawab profesional
1.
Pentingnya kode etik dalam profesi rekayasa perangkat lunak
Kode etik memiliki peran penting dalam profesi rekayasa perangkat lunak
karena menjadi pedoman bagi para profesional untuk bertindak secara jujur,
bertanggung jawab, dan profesional dalam menjalankan pekerjaannya. Dengan
adanya kode etik, pengembang dapat memastikan bahwa perangkat lunak yang dibuat
aman, berkualitas, dan tidak merugikan pengguna maupun masyarakat. Selain itu,
penerapan kode etik juga membantu meningkatkan kepercayaan publik terhadap
profesi rekayasa perangkat lunak serta mendorong terciptanya praktik kerja yang
sesuai dengan nilai-nilai profesional.
2.
Tiga prinsip utama dalam Software
Engineering Code of Ethics and Professional Practice yang dikeluarkan oleh
IEEE/ACM.
1.
Public Interest
Prinsip Public
Interest menegaskan bahwa seorang insinyur perangkat lunak harus
mengutamakan kepentingan dan kesejahteraan masyarakat dalam setiap aktivitas
pengembangan sistem. Oleh karena itu, perangkat lunak yang dibuat harus aman,
andal, serta tidak menimbulkan dampak yang merugikan bagi pengguna maupun
publik.
2.
Client and Employer
Prinsip Client
and Employer mengharuskan insinyur perangkat lunak untuk bekerja sesuai
kepentingan klien dan organisasi tempatnya bekerja. Dalam menjalankan tugasnya,
mereka harus menjaga kerahasiaan informasi, bersikap jujur, serta menunjukkan
profesionalisme agar kepercayaan yang diberikan tetap terjaga.
3.
Professionalism
Prinsip Professionalism
menekankan pentingnya menjaga integritas, kompetensi, dan citra profesi
rekayasa perangkat lunak. Seorang profesional dituntut untuk bertindak secara
bertanggung jawab, terus meningkatkan kemampuan, serta mematuhi standar etika
dan profesional yang berlaku
3.
Berdasarkan studi kasus Seorang Pengembang Perangkat Lunak Menemukan Celah
Keamanan dalam Sistem Perbankan yang Dikembangkannya
|
Prinsip
Etika |
Deskripsi |
Penerapan
dalam Studi Kasus |
|
Public
Interest |
Mengutamakan keselamatan dan kepentingan masyarakat
dalam pengembangan perangkat lunak. |
Pengembang segera melaporkan celah keamanan agar data
dan transaksi nasabah tidak terancam. |
|
Client
and Employer |
Bertindak demi kepentingan klien dan perusahaan dengan
tetap menjaga kerahasiaan informasi. |
Pengembang menyampaikan temuan kerentanan kepada pihak
perusahaan tanpa membocorkannya kepada pihak lain. |
|
Professionalism |
Menjaga integritas dan tanggung jawab profesional dalam
bekerja. |
Pengembang memperbaiki celah keamanan sesuai standar
profesional dan melakukan pengujian ulang sebelum sistem digunakan. |
B.
Hukum dan regulasi dalam rekayasa perangkat lunak
1.
Jelaskan mengapa aspek hukum penting dalam rekayasa perangkat lunak.
Aspek hukum memiliki peran yang sangat penting dalam rekayasa perangkat
lunak karena memastikan bahwa proses pengembangan dan penggunaan perangkat
lunak dilakukan sesuai dengan ketentuan yang berlaku. Kepatuhan terhadap aspek
hukum membantu melindungi hak-hak pengguna, menjaga kerahasiaan serta keamanan
data pribadi, dan mencegah terjadinya pelanggaran yang dapat menimbulkan sanksi
hukum maupun kerugian bagi pengembang dan organisasi. Selain itu, penerapan
aspek hukum juga mendukung terciptanya perangkat lunak yang aman, bertanggung
jawab, dan sesuai dengan standar yang ditetapkan.
2.
Tiga regulasi atau undang-undang yang berkaitan dengan perangkat lunak dan
data.
a.
General Data Protection Regulation
(GDPR)
GDPR merupakan
peraturan perlindungan data yang berlaku di Uni Eropa dan bertujuan untuk
menjaga keamanan data pribadi pengguna. Regulasi ini juga memberikan hak kepada
individu untuk mengontrol penggunaan dan pengelolaan data pribadi mereka.
b.
Digital Millennium Copyright Act
(DMCA)
DMCA adalah
undang-undang yang mengatur perlindungan hak cipta dalam lingkungan digital.
Regulasi ini bertujuan untuk mencegah pelanggaran hak kekayaan intelektual
serta melindungi karya digital dari penggunaan tanpa izin.
c.
Undang-Undang Perlindungan Data Pribadi (PDP)
Undang-Undang
PDP merupakan regulasi di Indonesia yang mengatur tata cara pengumpulan,
penggunaan, penyimpanan, dan perlindungan data pribadi. Tujuannya adalah untuk
mencegah penyalahgunaan data serta menjamin hak privasi setiap individu.
3.
Lengkapi tabel berikut dengan tujuan dan dampak dari masing-masing
regulasi.
|
Regulasi |
Tujuan |
Dampak pada Perangkat Lunak |
|
GDPR |
Melindungi data pribadi dan hak privasi
pengguna. |
Perangkat lunak harus menerapkan
perlindungan data dan memperoleh persetujuan pengguna sebelum mengumpulkan
data. |
|
DMCA |
Melindungi hak cipta dan kekayaan
intelektual digital. |
Pengembang harus menghormati hak cipta dan
menghindari penggunaan konten tanpa izin. |
|
PDP |
Mengatur perlindungan dan pengelolaan data
pribadi pengguna. |
Sistem harus menerapkan mekanisme keamanan
dan pengelolaan data yang sesuai dengan peraturan yang berlaku. |
4.
Berdasarkan studi kasus tersebut, aplikasi e-commerce telah melanggar
General Data Protection Regulation (GDPR) dan Undang-Undang Perlindungan Data
Pribadi (PDP) karena melakukan pengumpulan serta pemrosesan data pribadi
pengguna tanpa memperoleh persetujuan yang sah terlebih dahulu. Tindakan
tersebut bertentangan dengan prinsip perlindungan data yang mewajibkan adanya
transparansi dan persetujuan dari pemilik data.
Sebagai langkah korektif, perusahaan harus memastikan bahwa setiap
pengumpulan dan pemrosesan data dilakukan setelah mendapatkan persetujuan
pengguna. Selain itu, perusahaan perlu menyediakan kebijakan privasi yang jelas
dan mudah dipahami, membatasi pengumpulan data hanya pada informasi yang
benar-benar diperlukan, serta meningkatkan sistem keamanan untuk melindungi
data dari risiko kebocoran atau penyalahgunaan. Pengguna juga harus diberikan
hak untuk mengakses, memperbarui, maupun menghapus data pribadi mereka. Dengan
menerapkan langkah-langkah tersebut, sistem pengelolaan data dapat berjalan
sesuai dengan ketentuan GDPR dan PDP yang berlaku.
Bagian 2 : Standar Industri
dalam Rekayasa Perangkat Lunak
A.
Standar dan Sertifikasi dalam Rekayasa Perangkat Lunak
1.
Pentingnya standar dalam rekayasa perangkat lunak
Standar dalam rekayasa perangkat lunak berperan sebagai pedoman untuk
memastikan proses pengembangan dilakukan secara terstruktur dan menghasilkan
perangkat lunak yang berkualitas. Penerapan standar membantu pengembang
memenuhi kebutuhan pengguna, menerapkan praktik terbaik industri, serta menjaga
konsistensi kualitas produk. Selain itu, standar juga mendukung efisiensi
kerja, mempermudah pengelolaan proyek, dan meningkatkan kepercayaan pengguna
maupun pelanggan terhadap perangkat lunak yang dihasilkan
2.
Tiga standar industri yang umum digunakan dalam pengembangan perangkat
lunak
a.
ISO 25010 (Software Quality)
ISO 25010
merupakan standar kualitas perangkat lunak yang digunakan untuk mengevaluasi
karakteristik kualitas seperti keandalan, keamanan, performa, dan
maintainability.
b.
CMMI (Capability Maturity Model
Integration)
CMMI merupakan
kerangka kerja yang digunakan untuk meningkatkan kematangan proses pengembangan
perangkat lunak sehingga kualitas produk dan proses dapat ditingkatkan secara
berkelanjutan.
c.
IEEE 12207 (Software Life Cycle
Processes)
IEEE 12207
merupakan standar yang mendefinisikan proses-proses dalam siklus hidup
perangkat lunak, mulai dari perencanaan, pengembangan, pengujian, hingga
pemeliharaan.
3.
Lengkapi tabel berikut dengan manfaat dan penerapan dari masing-masing
standar
|
Standar Industri |
Manfaat |
Contoh Penerapan |
|
ISO 25010 |
Membantu mengevaluasi dan meningkatkan
kualitas perangkat lunak. |
Pengujian kualitas aplikasi mobile berdasarkan aspek reliability,
security, dan performance. |
|
CMMI |
Meningkatkan kematangan dan konsistensi
proses pengembangan perangkat lunak. |
Perusahaan perangkat lunak menerapkan
prosedur pengembangan yang terstandarisasi. |
|
IEEE 12207 |
Memberikan pedoman proses siklus hidup
perangkat lunak yang terstruktur. |
Pengelolaan proyek perangkat lunak mulai
dari analisis kebutuhan hingga pemeliharaan sistem. |
4.
Berdasarkan studi kasus Perusahaan Startup yang Ingin Meningkatkan Kualitas
Produk Perangkat Lunaknya, pilih standar yang paling sesuai dan jelaskan
alasannya.
Standar yang paling sesuai untuk perusahaan startup yang ingin meningkatkan
kualitas produk perangkat lunaknya adalah ISO 25010. Standar ini
menyediakan kriteria kualitas yang jelas untuk mengevaluasi perangkat lunak
berdasarkan berbagai aspek penting, seperti keamanan, performa, keandalan, dan
kemudahan pemeliharaan. Dengan menerapkan ISO 25010, perusahaan dapat lebih
mudah mengidentifikasi bagian sistem yang perlu ditingkatkan serta memastikan
bahwa produk yang dikembangkan mampu memenuhi kebutuhan dan harapan pengguna
secara lebih optimal.
B.
Sertifikasi Profesional dalam Rekayasa Perangkat Lunak
1.
Jelaskan mengapa sertifikasi profesional penting dalam industri perangkat
lunak.
Sertifikasi profesional memiliki peran penting dalam industri perangkat
lunak karena menjadi bukti bahwa seseorang memiliki pengetahuan, keterampilan,
dan kompetensi yang sesuai dengan standar yang diakui. Kepemilikan sertifikasi
dapat meningkatkan kredibilitas profesional, memperkuat kepercayaan perusahaan
terhadap kemampuan seseorang, serta membuka peluang karier yang lebih luas.
Selain itu, sertifikasi juga menunjukkan komitmen individu untuk terus
mengembangkan kemampuan dan mengikuti perkembangan teknologi di bidang
perangkat lunak.
2.
Sebutkan tiga sertifikasi yang diakui secara global dalam rekayasa
perangkat lunak.
a.
Certified Software Development
Professional (CSDP)
CSDP merupakan
sertifikasi yang dirancang untuk mengukur kompetensi profesional dalam bidang
pengembangan perangkat lunak. Sertifikasi ini menunjukkan bahwa pemegangnya
memahami prinsip, metode, dan standar yang digunakan dalam rekayasa perangkat
lunak secara profesional.
b.
AWS Certified Solutions Architect
AWS Certified Solutions Architect adalah sertifikasi yang berfokus
pada kemampuan merancang, mengimplementasikan, dan mengelola solusi berbasis
cloud menggunakan layanan Amazon Web Services (AWS). Sertifikasi ini banyak diakui dalam industri karena relevan dengan
kebutuhan teknologi cloud yang terus berkembang.
c.
Scrum Master Certification
Scrum Master
Certification merupakan sertifikasi yang membuktikan kemampuan seseorang dalam
menerapkan kerangka kerja Agile Scrum. Pemegang sertifikasi ini memiliki
pemahaman tentang cara mengelola tim, memfasilitasi proses pengembangan, dan
meningkatkan efektivitas kerja dalam proyek perangkat lunak berbasis Agile.
3.
Lengkapi tabel berikut dengan manfaat dari masing-masing sertifikasi.
|
Sertifikasi |
Bidang
Keahlian |
Manfaat |
|
CSDP |
Rekayasa
Perangkat Lunak |
Membuktikan kompetensi profesional dalam pengembangan
perangkat lunak dan meningkatkan kredibilitas di industri. |
|
AWS
Certified Solutions Architect |
Cloud
Computing dan Arsitektur Sistem |
Membantu
merancang solusi cloud yang andal serta meningkatkan peluang karier di bidang
cloud computing. |
|
Scrum
Master Certification |
Agile
Project Management |
Meningkatkan kemampuan dalam mengelola tim Agile dan
mendukung pengembangan perangkat lunak yang lebih efektif. |
Bagian 3: Komunikasi dan Kerja Tim dalam Rekayasa Perangkat Lunak
A.
Teknik Komunikasi Efektif dalam Pengembangan Perangkat Lunak
1.
Jelaskan mengapa komunikasi efektif sangat penting dalam proyek perangkat
lunak.
Komunikasi yang efektif merupakan salah satu faktor utama dalam
keberhasilan proyek perangkat lunak karena membantu seluruh anggota tim
memiliki pemahaman yang sama mengenai tujuan, kebutuhan, dan perkembangan
proyek. Dengan komunikasi yang baik, kesalahan akibat miskomunikasi dapat
diminimalkan, koordinasi antaranggota tim menjadi lebih lancar, dan proses
penyelesaian masalah dapat dilakukan dengan lebih cepat. Selain itu, komunikasi
yang efektif juga mendukung kolaborasi yang lebih baik sehingga proyek dapat
diselesaikan sesuai target yang telah ditetapkan.
2.
Sebutkan tiga teknik komunikasi yang efektif dalam pengembangan perangkat
lunak.
a.
Stand-Up Meetings
Stand-Up
Meetings merupakan pertemuan singkat yang dilakukan secara rutin untuk membahas
perkembangan pekerjaan, kendala yang dihadapi, serta rencana kerja yang akan
dilakukan. Teknik ini membantu tim tetap selaras dan mengetahui kondisi proyek
secara berkala.
b.
Dokumentasi yang Jelas
Dokumentasi
yang jelas adalah penyusunan informasi proyek secara sistematis dan mudah
dipahami oleh seluruh anggota tim. Dokumentasi yang baik membantu mengurangi
kesalahpahaman serta memudahkan proses pengembangan dan pemeliharaan sistem.
c.
Feedback Constructive
Feedback
Constructive merupakan pemberian masukan yang bersifat membangun dengan tujuan
meningkatkan kualitas pekerjaan dan kinerja tim. Umpan balik yang disampaikan
secara positif dapat membantu anggota tim memperbaiki kekurangan serta
meningkatkan efektivitas kerja sama dalam proyek.
3.
Lengkapi tabel berikut dengan contoh penerapan dari masing-masing teknik
komunikasi.
|
Teknik
Komunikasi |
Deskripsi |
Contoh
Penerapan |
|
Stand-Up
Meetings |
Pertemuan singkat secara rutin untuk membahas progres
dan hambatan pekerjaan. |
Daily meeting setiap pagi untuk melaporkan tugas yang
telah dikerjakan dan rencana pekerjaan selanjutnya. |
|
Dokumentasi
yang Jelas |
Penyusunan informasi proyek secara terstruktur dan
mudah dipahami. |
Pembuatan dokumen kebutuhan sistem dan dokumentasi API
yang dapat diakses seluruh anggota tim. |
|
Feedback
Constructive |
Pemberian masukan yang bertujuan memperbaiki kualitas
pekerjaan. |
Memberikan saran perbaikan kode saat proses code review
tanpa menyalahkan anggota tim. |
4.
Berdasarkan studi kasus Tim Pengembang yang Kesulitan Berkomunikasi dalam
Proyek Perangkat Lunak, tentukan strategi komunikasi yang paling efektif untuk
menyelesaikan permasalahan tersebut.
Strategi komunikasi yang paling efektif adalah Stand-Up
Meetings
Alasan strategi
Stand-Up Meetings dianggap paling efektif adalah karena metode ini memungkinkan
setiap anggota tim mengetahui perkembangan pekerjaan yang sedang dikerjakan
oleh rekan-rekannya. Selain itu, hambatan atau kendala yang muncul dapat
diidentifikasi lebih awal sehingga solusi dapat segera dicari. Pertemuan rutin
ini juga membantu meningkatkan koordinasi dan kolaborasi antaranggota tim,
mengurangi risiko miskomunikasi yang berpotensi menyebabkan keterlambatan
proyek, serta mendukung proses pengambilan keputusan yang lebih cepat dan tepat
dalam pelaksanaan proyek perangkat lunak
B.
Dinamika Kerja Tim dalam Pengembangan Perangkat Lunak
1.
peran kerja tim dalam pengembangan perangkat lunak.
Kerja tim
memiliki peran yang sangat penting dalam pengembangan perangkat lunak karena
memungkinkan individu dengan berbagai keahlian untuk bekerja sama dalam
mencapai tujuan proyek. Melalui kolaborasi yang baik, tugas dapat diselesaikan
dengan lebih efisien, permasalahan dapat ditangani lebih cepat, dan kualitas
perangkat lunak dapat ditingkatkan. Selain itu, kerja tim yang efektif juga
membantu memastikan bahwa proyek berjalan sesuai rencana dan kebutuhan pengguna
dapat terpenuhi dengan baik.
2.
tiga metode kolaborasi dalam tim pengembangan perangkat lunak.
a.
Pair Programming
Pair
Programming merupakan metode kolaborasi di mana dua pengembang bekerja bersama
menggunakan satu komputer. Satu orang berfokus pada penulisan kode, sementara
yang lain melakukan peninjauan secara langsung untuk membantu menemukan
kesalahan dan meningkatkan kualitas kode yang dihasilkan.
b.
Code Review
Code Review
adalah proses pemeriksaan kode program yang dilakukan oleh anggota tim lain
sebelum kode tersebut digunakan atau digabungkan ke dalam sistem. Metode ini
bertujuan untuk menemukan bug, meningkatkan kualitas kode, serta memastikan
bahwa standar pengembangan telah diterapkan dengan baik.
c.
Agile Development Practices
Agile
Development Practices merupakan pendekatan kolaboratif yang menekankan
komunikasi yang intensif, pengembangan secara bertahap, serta kemampuan
beradaptasi terhadap perubahan kebutuhan. Metode ini mendorong kerja sama yang
erat antaranggota tim sehingga proses pengembangan perangkat lunak menjadi
lebih fleksibel dan efektif.
3.
Lengkapi tabel berikut dengan kelebihan dan kekurangan dari masing-masing
metode.
|
Metode
Kolaborasi |
Kelebihan |
Kekurangan |
|
Pair
Programming |
Meningkatkan kualitas kode dan mempercepat deteksi
kesalahan. |
Membutuhkan lebih banyak sumber daya karena melibatkan
dua pengembang untuk satu tugas. |
|
Code
Review |
Membantu menemukan bug dan meningkatkan kualitas kode. |
Membutuhkan
waktu tambahan untuk proses pemeriksaan kode. |
|
Agile
Development Practices |
Meningkatkan komunikasi dan fleksibilitas tim terhadap
perubahan kebutuhan. |
Membutuhkan keterlibatan aktif seluruh anggota tim dan
koordinasi yang intensif. |
Kesimpulan dan Refleksi
1.
Kesimpulan
Dalam lembar kerja ini telah dipelajari
berbagai aspek Software Engineering Professional Practice, meliputi etika
profesi, regulasi dan hukum terkait perangkat lunak, standar industri,
sertifikasi profesional, serta pentingnya komunikasi dan kerja sama tim dalam
pengembangan perangkat lunak. Pemahaman terhadap praktik profesional tersebut
membantu pengembang bekerja secara etis, bertanggung jawab, dan sesuai standar
yang berlaku sehingga dapat menghasilkan perangkat lunak yang berkualitas,
aman, serta mampu memenuhi kebutuhan pengguna secara efektif
2.
Refleksi Pribadi
Tantangan terbesar dalam menerapkan praktik
profesional dalam rekayasa perangkat lunak adalah menjaga keseimbangan antara
kemampuan teknis, penerapan etika, kepatuhan terhadap standar industri, dan
kerja sama tim di tengah perkembangan teknologi yang sangat cepat. Kondisi
tersebut menuntut pengembang untuk terus belajar, beradaptasi, dan meningkatkan
kompetensinya agar tetap dapat bekerja secara profesional. Konsep yang
dipelajari dapat diterapkan dalam proyek nyata dengan mematuhi kode etik
profesi, mengikuti regulasi dan standar yang berlaku, serta membangun
komunikasi dan kolaborasi yang efektif dalam tim. Dengan demikian, perangkat
lunak yang dikembangkan dapat memiliki kualitas yang baik, aman, andal, dan
sesuai dengan kebutuhan pengguna maupun organisasi.
Komentar
Posting Komentar