Anda di halaman 1dari 17

SOFTWARE ENGINEERING

(Rekayasa Perangata Lunak)


Ahmad Muthi (310121023617)
M.Rezky Maulana (310121023616
Muhammad Putera Fajar (310121023623)
Muhamad Syahriani (310121023620)
Muhammad Naufal Firdaus (310121023621)
M.Khairur Rezki (310121023619)
PENDAHULUAN

Rekayasa perangkat lunak telah berkembang sejak pertama kali diciptakanpada tahun 1940-
an hingga kini. Focus uamtanya adalah mengambankan praktek dan teknologi untuk
meningaktakna produktivitas para pengembang Software Engineering.

Istilah software engineering digunakan pertama kali pada akhir 1950-an danawal 1960-an.
Saat itu, masih terdapat perdebatan tajam mengenai aspek engineering dari
pengembangan perangkat lunak.

Software Engineering mulai dipopulerkan pada tahun 1968 pada software


engineering Conference yang diselenggarakan oleh NATO. Sebagian orang mengartikan
RPL hanya sebataspada bagaimana membuat program komputer. Padahal ada perbedaan
yang mendasar antara perangkat lunak (software) dan program komputer.
Definisi dari sotware enggineering

Dilansir dari Geeks for Geeks, software engineering adalah proses merancang,
mengembangkan, menguji, dan memelihara perangkat lunak. Ini adalah pendekatan
sistematis yang bertujuan untuk menciptakan perangkat lunak berkualitas, reliable,
dan bisa di-maintenance.

Berbagai metodologi pengembangan perangkat lunak seperti Model Air


Terjun (Waterfall), Model Spiral, Metode Agile, dan DevOps sering digunakan
dalam praktik software engineering.

Tujuan utama dari software engineering adalah untuk menciptakan perangkat


lunak yang memenuhi kebutuhan pengguna dengan baik, memiliki kualitas tinggi,
dapat diandalkan, mudah dikembangkan, dan mudah dikelola serta dipelihara dalam
jangka panjang.
kerusakan dalam software engineering

 Bug atau Cacat Program: Kesalahan dalam kode yang mengakibatkan perilaku yang tidak
diinginkan atau tidak sesuai dengan yang diharapkan

 Kualitas Kode yang Buruk: Kode yang buruk atau tidak terdokumentasi dengan baik dapat
mengarah pada kesulitan pemeliharaan, kesulitan dalam penambahan fitur baru, dan
peningkatan risiko bug.

 Kesalahan Desain atau Arsitektur: Kesalahan dalam desain awal atau arsitektur yang kurang
baik dapat mengakibatkan perubahan yang sulit di masa mendatang dan meningkatkan risiko
kegagalan proyek.
kerusakan dalam software engineering

 Bug atau Cacat Program: Kesalahan dalam kode yang mengakibatkan perilaku yang tidak
diinginkan atau tidak sesuai dengan yang diharapkan

 Kualitas Kode yang Buruk: Kode yang buruk atau tidak terdokumentasi dengan baik dapat
mengarah pada kesulitan pemeliharaan, kesulitan dalam penambahan fitur baru, dan
peningkatan risiko bug.

 Kesalahan Desain atau Arsitektur: Kesalahan dalam desain awal atau arsitektur yang kurang
baik dapat mengakibatkan perubahan yang sulit di masa mendatang dan meningkatkan risiko
kegagalan proyek.
praktik dalam rekayasa perangkat lunak

1. Pemahaman Kebutuhan yang Mendalam


 Berfokus pada pemahaman yang mendalam terhadap kebutuhan pengguna dan bisnis sebelum
memulai pengembangan.

2. Penggunaan Metodologi yang Tepat


 Memilih metodologi pengembangan yang sesuai dengan kebutuhan proyek, baik itu Waterfall,
Agile, DevOps, atau kombinasi dari beberapa metode.

3. Desain yang Baik

 Merancang arsitektur perangkat lunak yang solid, dengan fokus pada keterbacaan, skalabilitas,
dan fleksibilitas.
praktik dalam rekayasa perangkat lunak(Lanjutan)

4.Pengembangan Berbasis Kode


 Menulis kode yang terstruktur, mudah dimengerti, dan didokumentasikan dengan baik untuk
memudahkan pemeliharaan dan kolaborasi.

5. Pengujian yang Teliti


 elakukan pengujian yang komprehensif, termasuk pengujian fungsional, non-fungsional, unit,
integrasi, dan penerimaan pengguna.
Karakteristik software engineering
● Dikembangkan melalui tahapan Perencanaan, Analisis, Perancangan, Penulisan Program, Pengujian dan
Pemeliharaan (Software Life Cycle)

● Kolaborasi Tim yang Efisien: Software engineering membutuhkan kolaborasi yang erat antara berbagai
anggota tim, termasuk pengembang, desainer, pengujian, dan pemangku kepentingan lainnya.

● Metode dan Pendekatan Terstruktur: Software engineering melibatkan penggunaan metodologi yang
terstruktur, proses yang terencana, dan pendekatan sistematis dalam pengembangan perangkat lunak.

● Proses pengujian yang menyeluruh sangat penting dalam software engineering untuk memastikan
kualitas, keandalan, dan keamanan perangkat lunak.

Karakteristik-karakteristik ini merupakan bagian integral dari pendekatan rekayasa yang kompleks dan
sistematis dalam pengembangan perangkat lunak. Dengan memahami dan menerapkan karakteristik ini, para
insinyur perangkat lunak dapat menciptakan solusi perangkat lunak yang lebih handal, efisien, dan sesuai
dengan kebutuhan pengguna.
Metode Dalam Software Engineering
Waterfall Model DevOps
Metode Agile
● Perangkat Lunak (DEV) dengan IT( Ops)
● Kolaboratif menekan pada ● Analisis, Desain, utamakan kolab dan komonikasi
adaptasi,fleksibel, cepat respon Implementasi,
Pengujian, ● Fokus pada otomatisasi, pengujian,
● Metode ini mencakup kerja tim terus- Pemeliharaan penyerahan perubahan
menerus dalam iterasi pendek(sprint)
● Keuntungan: Struktur ● Keuntungan: Percepatan pengembangan,
● Contohnya termasuk Scrum, Extreme yang jelas dan peningkatan kualitas,stabilitas sistem
Programming (XP) terorganisir.
● Kekurangan: Memerlukan perubahan
● Keuntungan: Fleksibel, ● Kekurangan: Kurang budaya dan praktik yang besar dalam
memungkinkan adaptasi cepat fleksibel terhadap organisas
terhadap perubahan kebutuhan. perubahan.

● Kekurangan: Memerlukan perubahan


budaya dan praktik
PROSES SOFTWARE ENGINEERING

1. Analisis
• Tahap awal adalah memahami kebutuhan pengguna, tujuan bisnis, dan masalah yang ingin
diselesaikan oleh perangkat lunak.
• melibatkan interaksi dengan pemangku kepentingan, mengidentifikasi kebutuhan fungsional dan
non-fungsional, serta mengumpulkan informasi yang diperlukan.

2.Desain
• Desain perangkat lunak adalah tentang proses mendefinisikan arsitektur, komponen, antarmuka, dan
karakteristik lain dari suatu sistem atau komponen. Ini juga disebut arsitektur perangkat lunak .
Desain perangkat lunak dibagi menjadi tiga tingkat desain yang berbeda . Tiga tingkatan tersebut
adalah desain antarmuka , desain arsitektur , dan desain detail .
PROSES SOFTWARE ENGINEERING (LANJUTAN)

1. Implementasi
• Proses implementasi perangkat lunak harus memperhatikan desain yang telah disepakati dan sesuai
dengan standar coding yang baik.
• Pengkodean(Coding) yang berkualitas dapat memengaruhi kinerja dan keandalan perangkat lunak.

2.Pengujian
• Pengujian perangkat lunak adalah penyelidikan empiris dan teknis yang dilakukan untuk
memberikan informasi kepada pemangku kepentingan tentang kualitas produk atau layanan yang
diuji, dengan pendekatan berbeda seperti pengujian unit dan pengujian integrasi

3.Pemeliharaan
• Pemeliharaan perangkat lunak mengacu pada aktivitas yang diperlukan untuk memberikan
dukungan hemat biaya setelah pengiriman produk perangkat lunak. Pemeliharaan perangkat lunak
adalah memodifikasi dan memperbarui aplikasi perangkat lunak setelah distribusi untuk
memperbaiki kesalahan dan meningkatkan kinerjanya.
Apa perbedaan antara software engineering dan system
engineering

 System engineering mempunyai kaitan dengan semua aspek pengembangan sistem berbasis-
komputer yang mencakup perangkat keras, perangkat lunak ,dan yang terkait dengan proses bisnis.

 Software engineering berkonsentrasi pada komponen perangkat lunak sistem yang lebih besar.

 System engineers mencakup spesifikasi sistem, desain arsitektur, pengintegrasian, dan penyebaran.
Apakah CASE (Computer-Aided Software Engineering) itu?

 CASE adalah System software yang digunakan untuk mendukung otomatisasi aktivitas proses
perangkat lunak. CASE sering digunakan untuk mendukung metode.

 Upper-Case
Tools untuk mendukung aktivitas proses awal kebutuhan dan desain.

 Lower-Case
Tools untuk mendukung aktivitas selanjutnya seperti programming, debugging, dan testing.
Apa saja yang merupakan tantangan kunci dalam
menghadapi rekayasa perangkat lunak?
Tantangan : mengatasi sistem warisan (legacy systems), meningkatnya heterogenitas (Heterogenity)
sistem, dan tuntutan permintaan percepatan penyerahan(Delivery) sistem.

 Legacy systems
Sistem warisan (sistem lama) harus dirawat dan dibaharui

 Heterogenity
Sistem terdistribusikan dalam bentuk campuran antara perangkat keras dan lunak.

 Delivery

Adanya peningkatan tekanan untuk penyerahan perangkat lunak lebih cepat.


Kesimpulan

● Kunci dari rekayasa perangkat lunak adalah ● Dengan menerapkan praktik terbaik dalam
pemahaman mendalam terhadap kebutuhan software engineering, perangkat lunak dapat
pengguna, penggunaan metodologi yang dikembangkan dengan lebih efisien, dapat
tepat, desain yang kokoh, pengembangan diandalkan, mudah dipelihara, dan responsif
kode yang baik, pengujian menyeluruh, terhadap kebutuhan yang terus berkembang.
manajemen proyek yang efisien, dan Konsistensi dalam penerapan praktik ini
pemeliharaan serta pembaruan penting untuk memastikan kesuksesan
berkelanjutan. Proses ini melibatkan kerja proyek, meminimalkan risiko, dan
tim, komunikasi yang efektif, adaptasi menghasilkan produk perangkat lunak yang
terhadap perubahan, dan penekanan pada memenuhi harapan pengguna serta tujuan
kualitas serta keamanan perangkat lunak. bisnis.
refernsi

https://www.folarium.co.id/id/blogs/5-metode-pengembangan-software-terpopuler
https://www.studocu.com/id/document/universitas-kristen-satya-wacana/fakultas-
teknologi-informasi/rekayasa-perangkat-lunak-software-engineering/45165383
https://revou.co/panduan-karir/software-engineering-adalah
Rosa A.S. - M. Shalahuddin Rekayasa Perangkat Lunak, cet I, Medula, Bandung, hlm 5 ISBN 978-
602-8759-13-7
Aggarwal, K. K. (2005). Software engineering. New Age International.
GLASS, Robert L.. ; VESSEY, Iris; RAMESH, Venkataraman. Research in software engineering: an
analysis of the literature. Information and Software technology, 2002, 44.8: 491-506.
THANKS!
Do you have any questions?

Credits: This presentation template was created by Slidesgo, and includes icons by
Flaticon, and infographics & images by Freepik

Anda mungkin juga menyukai