Anda di halaman 1dari 22

Rekayasa

Perangkat
Lunak

TM-01 Introduction to
Software Engineering

Senin, 15/02/2021
Tujuan
o Memahami apa itu software engineering
dan kenapa penting?

o Memahami bahwa pengembangan jenis


perangkat lunak yang berbeda
membutuhkan teknik yang berbeda
juga.

o Memahami beberapa persoalan etik dan


profesional yang penting untuk seorang
software engineer.

NAME OR LOGO 2
Kenapa Software Engineering Penting?

All Economies Need Sofware systems are Different software, Software Failures Report
Software abstract and Intangible different approaches

Hampir semua aspek Software tidak dibatasi Ada berbagai jenis Banyak laporan mengenai
saat ini bergantung oleh material tertentu, software mulai dari kegagalan sw, yang menyebabkan
terhadap software hokum fisika, proses embedded-system kerugian secara materi, sampai
manufaktur, sehingga sederhana sampai yang kehilangan nyawa. Baca artikel:
menjadikannya sangat kompleks, si web, http://www.devtopics.com/20-
kompleks. entertaintment sw, famous-software-disasters/
scientific sw, dll

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 3


Increasing Demands

Tuntutan terhadap software agar harus bisa dideliver lebih cepat, lebih
besar, lebih kompleks dari yang dibutuhkan, harus memiliki kemampuan
yang barus yang sebelumnya dianggap mustahil, sedangkan metode-
metode rekayasa perangkat lunak yang ada tidak mampu memenuhi
tuntutan tersebut.

Low Expectations

Lebih mudah menulis kode program tanpa menggunakan metode, tools,


dan teknik dari software engineering. Banyak perusahaan telah beralih
ke pengembangan perangkat lunak untuk mendukung bisnis mereka
yang semakin besar, namun tanpa mengikuti prinsip-prinsip dari
rekayasa perangkat lunak, sehingga perangkat lunak yang dihasilkan
lebih mahal dan tidak dapat diandalkan dari yang seharusnya.

Software Failures
o Increasing Demands

o Low Expectations

ISA-202 Rekayasa Perangkat


NAME ORLunak
LOGO 4
Professional Software
Development

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 5


Pengembangan Software Secara Profesional
Banyak orang yang dapat menulis kode program, contohnya: pelaku bisnis dapat menulis program di excel
untuk menyederhanakan pekerjaannya, engineer atau scientist menulis kode program untuk memproses data
eksperimen, dan seorang yang hobi pemograman dapat menulis kode program hanya untuk kesenangan.

Sedangkan pengembangan perangkat lunak secara profesional tersebut ditujukan bukan untuk developer
namun digunakan oleh orang lain dan dikembangkan oleh tim bukan perseorangan.

Pengembangan perangkat lunak secara profesional mencakup teknik dan metode yang mendukung
spesifikasi, desain, dan evolusi program.

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 6


Pertanyaan yang sering ditanyakan mengenai software (1)
Pertanyaan Jawaban
Apa itu Software? Sofware adalah program komputer yang terkait juga dengan dokumentasi dan
konfigurasi.

Apa itu Program? Program adalah sekumpulan instruksi yang ditulisdalam bentuk kode yang dapat
dibaca oleh manusia untuk membantu mengerjakan tugas tertentu.

Apa saja atribut dari software yang baik? Software yang baik harus memenuhi semua kebutuhan fungsional dan harus dapat
dipelihara, dapat diandalkan, dan mudah dioperasikan.

Apa itu software engineering? Software engineering adalah sebuah disiplin teknik yang berfokus pada semua
aspek produksi perangkat lunak.
Apa saja aktivitas dasar dari software Spesifikasi perangkat lunak, pengembangan perangkat lunak, validasi perangkat
engineering? lunak dan evolusi perangkat lunak.
Apa perbedaan antara software engineering Computer science berfokus pada teori dan dasar; software engineering berfokus
dengan computer science? pada praktik dari pengembangan dan penyerahan software yang bermanfaat.

Apa perbedaan antara software engineering System engineering berfokus pada semua aspek pengembangan sistem komputer
dengan system engineering? termasuk hardware, software dan rekayasa proses. Software engineering adalah
bagian dari system engineering khususnya softwre.

Apa tantangan kunci dari software Tantangannya adalah menangani keberagaman perangkat lunak, mengurangi
engineering? waktu penyerahan produk perangkat lunak kepada client, dan menghasilkan
perangkat lunak yang dapat dipercaya.

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 7


Pertanyaan yang sering ditanyakan mengenai software (2)
Pertanyaan Jawaban
Apa saja biaya dari software engineering? Sekitar 60% adalah biaya pengembangan program, dan 40% biaya pengujian.
Untuk perangkat lunak custom biaya evolusi aplikasi dapat melebihi biaya
pengembangan.
Apa teknik dan metode dari software Jika semua software dikembangkan secara professional maka software dengan
engineering yang paling baik? jenis berbeda akan membutuhkan teknik dan metode yang berbeda pula, contohnya
software games akan lebih cocok dikembangkan dengan metodologi prototype,
sedangakan critical system akan lebih cocok dikembangkan dengan metodologi
waterfall karena membutuhkan analisis dan spesifikasi yang lengkap dan detail di
awal. Sehingga tidak dapat dikatakan bahwa satu metode lebih baik dari metode
yang lainnya.
Apa peranan web dalam software Web telah banyak membawa perubahan dalam software engineering, seperti sistem
engineering? layanan terdistribusi, munculnya bahasa pemograman baru, teknik dan metode
baru.

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 8


Produk Perangkat Lunak
Ada dua jenis:

o Generic Product adalah perangkat lunak yang berdiri sendiri yang diproduksi oleh oleh organisasi
pengembang perangkat lunak dan dijual ke “pasaran” secara terbuka kepada customer yang mampu
membelinya, contoh: perangkat lunak database, perangkat lunak office, sistem operasi, tools manajemen
proyek, dll.

o Customize Product adalah adalah perangkat lunak yang ditujukan untuk pelanggan tertentu. Contoh
dari jenis perangkat lunak misalnya sistem informasi perpustakaan ABC, sistem yang yang mendukung
proses bisnis perusahaan XYZ, dan sistem parkir pesawat di bandara.

Salah satu Generic Product yang dapat menjadi Customize Product sesuai dengan kebutuhan
customer yaitu Sistem ERP (Enterprise Resource Planning) seperti SAP

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 9


Atribut dari Good Software
Karakteristik/Atribut Deskripsi
Maintainability Perangkat lunak harus dapat dipelihara meskipun lingkungan bisnis dan
teknologi berubah.
Dependability and security Ketergantungan perangkat lunak mencakup serangkaian karakteristik termasuk
keandalan, keamanan, dan keselamatan. Perangkat lunak yang dapat
diandalkan tidak boleh menyebabkan kerusakan fisik atau ekonomi jika terjadi
kegagalan sistem.
Efficiency Perangkat lunak tidak boleh menggunakan sumber daya sistem secara
berlebihan apalagi menyangkut penggunaan memori, harddisk dan prosesor.
Karena itu efisiensi meliputi responsif, waktu pemrosesan, pemanfaatan memori,
dll.
Acceptability Perangkat lunak harus dapat diterima oleh beragam user yang akan
menggunakan perangkat lunak tersebut, artinya perangkat lunak tersebut
mudah dimengerti, mudah digunakan, dan kompatibel dengan sistem lain.

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 10


Definisi Software Engineering
Software Engineering adalah suatu disiplin rekayasa yang berkonsentrasi pada semua aspek produksi mulai
dari tahap awal spesifikasi sistem sampai tahap maintenance (pemeliharaan) setelah software digunakan.

o Disiplin rekayasa : Engineer membuat software tersebut bekerja dengan baik dengan mengaplikasikan
teori, metode, dan tools yang sesuai, namun engineer harus mampu menemukan solusi lain jika
permasalahan tidak dapat ditangani oleh teori, metode, dan tools tersebut.

o Semua aspek produksi perangkat lunak: Tidak hanya berkonsentrasi pada pengembangan perangkat
lunak secara teknis, namun juga memperhatikan aspek manajemen proyek, pengembangan tools,
metode, dan teori yang mendukung produksi perangkat lunak.

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 11


Definisi Software Process
Suatu pendekatan yang sistematis yang digunakan dalam software engineering dikenal juga dengan
Software Process. Sofware process adalah urutan aktivitas menuju tahap produksi perangkat lunak. Ada
empat tahap aktivitas umum dari software process:

o Software specifications : dimana customer dan engineer menentukan kebutuhan dari software yang akan
dihasilkan, menentukan batasan-batasannya, serta operasinya.

o Software development : dimana software didesain dan dikembangkan.

o Software validation : dimana software diperiksa untuk memastikan apakah sudah memenuhi kebutuhan
customer

o Software evolution : dimana software dimodifikasi untuk merefleksikan perubahan kebutuhan dari
customer dan pasar.

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 12


Contoh Software Evolution Windows 98

Windows V.10

Windows XP Windows 10

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 13


Software Engineering Diversity
o Heterogenity Increasingly, perangkat lunak tidak hanyak beroperasi pada satu device namun perlu
dilakukan distribusi melalui jaringan di berbagai jenis komputer atau device.

o Business and social change, bisnis dan masyarakat berubah sangat cepat ketika ekonomi berkembang dan
teknologi baru tersedia.

o Security and trust, perangkat lunak sudah menyangkut data pribadi seseorang, contohnya data nasabah
dan kartu kredit.

o Scale, skala perangkat lunak sudah semakin meluas mulai dari embedded system sampai ke perangkat
lunak yang baik yang terhubung melalui jaringan dan komputasi awan.

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 14


Berbeda Software Berbeda Pendekatannya

o Stand-alone application, aplikasi yang berjalan pada komputer lokal, contohnya office, aplikasi edit foto,
dll.

o Interactive transcation-based application, aplikasi yang dieksekusi atau diakses oleh user secara remote,
contohnya e-commerce.

o Embedded control system, sistem yang diperuntukan untuk mengontrol perangkat (mesin), contohnya
software di dalam mesin ATM, AC, dll.

o Batch processing system, sistem yang didesain untuk memproses data di dalam batch yang besar,
contohnya sistem pembayaran tagihan telepon dan sistem penggajian.

o Entertainment system, sistem yang digunakan untuk personal, contohnya games, music streaming.

o System for modeling and simulation, sistem yang diperuntukan untuk scientist atau engineer, contohnya
bahasa pemograman dan tools untuk desain.

o Data collection system, sistem yang mengumpulkan data dari lingkungan menggunakan sensor untuk
diproses, contohnya sistem pendeteksi tsunami, banjir, dan gempa bumi.

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 15


Fundamental Software Engineering Untuk Semua Jenis Software

o Software harus dikembangkan menggunakan proses pengembangan yang terkelola dan mudah dipahami.

o Kebergantungan dan kinerja itu penting untuk semua jenis sistem, dimana perangkat lunak harus
berperilaku seperti yang diharapkan, tanpa kegagalan dan harus tersedia saat diperlukan.

o Memahami dan mengelola spesifikasi dan kebutuhan software (apa yang seharusnya dilakukan oleh
perangkat lunak tersebut)

o Menggunakan seefektif mungkin sumber daya yang ada

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 16


Software Engineering
Ethics

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 17


Etik Software Engineer Secara Umum
o Confidentiality. Harus menjaga kerahasiaan atasan atau customer Anda terlepas dari perjanjian
kerahasiaan tersebut formal dengan adanya hitam di atas putih ataupun yang tidak ditandatangani.

o Competence. Harus menggambarkan tingkat kompetensi Anda secara detail, sehingga Anda tidak
menerima pekerjaan yang berada di luar kompetensi Anda.

o Intelectual property rights. Harus mengetahui hukum yang mengatur penggunaan kekayaan
intelektual seperti paten dan hak cipta. Anda harus berhati-hati untuk memastikan bahwa kekayaan
intelektual klien harus dilindungi.

o Computer misuse. Tidak boleh menggunakan keterampilan teknis Anda untuk menyalahgunakan
penggunaan komputer orang lain. Penyalahgunaan komputer sepele seperti bermain game di komputer
perusahaan hingga sangat serius seperti penyebaran virus atau malware.

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 18


Etik Software Engineer Menurut Standar
ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practice

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 19


Kesimpulan

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 20


Key Points
o Software Engineering adalah rekayasa disiplin yang berkonsentrasi pada semua aspek produksi
perangkat lunak.

o Software tidak hanya program namun juga termasuk dokumentasi. Atribut penting dari software yang
baik yaitu maintainability, dependability, security, efficiency, dan acceptability.

o Software Process Activity secara umum yaitu specification, development, validation, dan evolution.
Harus mengetahui hukum yang mengatur penggunaan kekayaan intelektual seperti paten dan hak cipta.
Anda harus berhati-hati untuk memastikan bahwa kekayaan intelektual klien harus dilindungi.

o Software Engineering Penting karena berbeda software akan berbeda pendekatannya terkait metode,
tools, dan tekniknya.

o Software Engineer harus memiliki etik dan mampu bekerja secara profesional

ISA-202 Rekayasa Perangkat Lunak NAME OR LOGO 21


Thank
You
Kurnia Ramadhan Putra, S.Kom., M.T.

kurniaramadhan@itenas.ac.id

https://www.researchgate.net/profile/Ku
rnia_Putra3

Anda mungkin juga menyukai