Perangkat
Lunak
TM-01 Introduction to
Software Engineering
Senin, 15/02/2021
Tujuan
o Memahami apa itu software engineering
dan kenapa penting?
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
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
Software Failures
o Increasing Demands
o Low Expectations
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.
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.
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
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.
o Software specifications : dimana customer dan engineer menentukan kebutuhan dari software yang akan
dihasilkan, menentukan batasan-batasannya, serta operasinya.
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.
Windows V.10
Windows XP Windows 10
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.
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.
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 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.
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
kurniaramadhan@itenas.ac.id
https://www.researchgate.net/profile/Ku
rnia_Putra3