5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 1/20
1. What and Why1. What and Why
Sofware Engineering ?Sofware Engineering ?
I . INTRODUCTION TOI. INTRODUCTION TO
SOFTWARESOFTWARE
ENGINEERINGENGINEERING
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 2/20
1.1 Software Engineering1.1 Software Engineering
((Rekayasa Perangkat LunakRekayasa Perangkat Lunak)) EkonomiEkonomi dari semua bangsa-bangsa majudari semua bangsa-bangsa maju
tergantung pada perangkat lunak tergantung pada perangkat lunak
Semakin banyak Semakin banyak
sistem yang dikendalikansistem yang dikendalikan
oleholeh
perangkat lunak perangkat lunak
Rekayasa Perangkat Lunak mempunyaiRekayasa Perangkat Lunak mempunyai kaitankaitan
dengan teori, metode, dan perkakas (tools)dengan teori, metode, dan perkakas (tools) untuk untuk
pengembangan perangkat lunak profesionalpengembangan perangkat lunak profesional
Rekayasa Perangkat Lunak sudah menjadi bagianRekayasa Perangkat Lunak sudah menjadi bagian
yang penting untuk menghadirkanyang penting untuk menghadirkan pendapatanpendapatan
nasional pada semua negara majunasional pada semua negara maju
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 3/20
1.2 Software Costs1.2 Software Costs
((
Biaya-Biaya Perangkat LunakBiaya-Biaya Perangkat Lunak))
Biaya-biaya perangkat lunak seringBiaya-biaya perangkat lunak sering mendominasimendominasibiaya-biaya sistembiaya-biaya sistem. Biaya-biaya perangkat lunak . Biaya-biaya perangkat lunak pada suatu PC seringpada suatu PC sering lebih besarlebih besar dari hargadari harga
perangkat keras.perangkat keras. Biaya-biayaBiaya-biaya perawatan perangkat lunak lebih besarperawatan perangkat lunak lebih besar
dibanding dengan pengembangan perangkatdibanding dengan pengembangan perangkatlunak, karena sistem dengan masa pakai lama,lunak, karena sistem dengan masa pakai lama,biaya pemeliharaan mungkin beberapa kali biaya-biaya pemeliharaan mungkin beberapa kali biaya-
biaya pengembangan.biaya pengembangan. Rekayasa Perangkat Lunak mempunyai kaitanRekayasa Perangkat Lunak mempunyai kaitan
dengan biaya-biaya pengembangan perangkatdengan biaya-biaya pengembangan perangkatlunak yanglunak yang ekonomisekonomis..
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 4/20
1.3 FAQs about Software1.3 FAQs about Software
EngineeringEngineering (Pertanyaan-pertanyaan(Pertanyaan-pertanyaan
Seputar SE)Seputar SE) Apakah Apakah softwaresoftware itu?itu?
Apakah Apakah software engineeringsoftware engineering itu?itu?
Apa perbedaan antara Apa perbedaan antarasoftware engineeringsoftware engineering dandan
computer sciencecomputer science??
Apa perbedaan antara Apa perbedaan antarasoftware engineeringsoftware engineering dandan
system engineeringsystem engineering??
Apakah Apakah software processsoftware process itu?itu?
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 5/20
FAQs about Software EngineeringFAQs about Software Engineering
(Lanjutan)(Lanjutan)
Apa saja yang merupakan Apa saja yang merupakan
biaya-biaya rekayasa perangkat lunak biaya-biaya rekayasa perangkat lunak itu?itu?
Apa saja Apa saja metode rekayasa perangkat lunak metode rekayasa perangkat lunak itu?itu?
Apakah Apakah CASECASE (Computer-Aided Software(Computer-Aided Software
Engineering) itu?Engineering) itu?
Apa saja Apa saja atribut dari perangkat lunak atribut dari perangkat lunak yang baik?yang baik? Apakah yang merupakan Apakah yang merupakan tantangan kuncitantangan kunci dalamdalam
menghadapi rekayasa perangkat lunak?menghadapi rekayasa perangkat lunak?
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 6/20
What is software?What is software?
perintahperintah (program komputer) yang bila dieksekusi(program komputer) yang bila dieksekusimemberikan fungsi dan unjuk kerja seperti yangmemberikan fungsi dan unjuk kerja seperti yangdiinginkan;diinginkan;
struktur datastruktur data yang memungkinkan programyang memungkinkan programmemanipulasi informasi secara proporsional; danmemanipulasi informasi secara proporsional; dan dokumendokumen yang menggambarkan operasi danyang menggambarkan operasi dan
kegunaan program.kegunaan program. Produk Perangkat lunak mungkin :Produk Perangkat lunak mungkin :
– GenericGeneric ((UmumUmum) - yang dikembangkan untuk dijual ke) - yang dikembangkan untuk dijual kebidang pelanggan berbeda;bidang pelanggan berbeda; – Bespoke/CustomBespoke/Custom ((PesananPesanan) - dikembangkan untuk ) - dikembangkan untuk
pelanggan tunggal menurut spesifikasi mereka.pelanggan tunggal menurut spesifikasi mereka.
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 7/20
What is software engineering?What is software engineering?
Software engineeringSoftware engineering adalah suatu disiplinadalah suatu disiplinrekayasa (rancang-bangun) yang terkaitrekayasa (rancang-bangun) yang terkaitdengan semuadengan semua aspek produksiaspek produksi perangkatperangkatlunak.lunak.
Engineer perangkat lunak mengadopsiEngineer perangkat lunak mengadopsipendekatanpendekatan sistematissistematis dandan terorganisirterorganisir untuk untuk pekerjaan mereka dan menggunakanpekerjaan mereka dan menggunakan teknik teknik dan toolsdan tools yang disesuaikan dengan masalahyang disesuaikan dengan masalahyang dihadapi untuk dipecahkan, batasanyang dihadapi untuk dipecahkan, batasanpengembangan, dan sumber daya tersedia.pengembangan, dan sumber daya tersedia.
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 8/20
IEEE DefinitionIEEE Definition(IEEE = Institute of Electrical and Electronic Engineers)(IEEE = Institute of Electrical and Electronic Engineers)
Software engineering adalah:Software engineering adalah:
2.2. Aplikasi Aplikasi dari sebuah pendekatan yangdari sebuah pendekatan yang
bersifat kuantifiabel, disiplin, danbersifat kuantifiabel, disiplin, dansistematis bagi pengembangan, operasi,sistematis bagi pengembangan, operasi,dan pemeliharaan perangkat lunak.dan pemeliharaan perangkat lunak.
3.3. StudiStudi tentang pendekatan-pendekatantentang pendekatan-pendekatan
seperti pada (seperti pada (11))Bidang Penelitian Software EngineeringBidang Penelitian Software Engineering
mengacu pada kedua hal tsb.mengacu pada kedua hal tsb.
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 9/20
What is the difference betweenWhat is the difference between softwaresoftwareengineering engineering andand computer sciencecomputer science??
Computer scienceComputer science mempunyai kaitan denganmempunyai kaitan dengan
theory and fundamentalstheory and fundamentals;; software engineeringsoftware engineering
mempunyai kaitan denganmempunyai kaitan dengan practicalities practicalities of of
developing and delivering useful softwaredeveloping and delivering useful software..
Computer scienceComputer science sekarang ini tidak cukupsekarang ini tidak cukuplengkap untuk bertindak sebagai tianglengkap untuk bertindak sebagai tiang
penyokongpenyokong software engineeringsoftware engineering..
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 10/20
What is the difference betweenWhat is the difference between softwaresoftwareengineering engineering andand system engineering system engineering ??
System engineeringSystem engineering mempunyai kaitan denganmempunyai kaitan dengan
semua aspek pengembangan sistem berbasis-semua aspek pengembangan sistem berbasis-
komputerkomputer yang mencakup perangkat keras,yang mencakup perangkat keras,perangkat lunak ,dan yang terkait dengan prosesperangkat lunak ,dan yang terkait dengan proses
bisnis.bisnis.
Software engineeringSoftware engineering berkonsentrasi pada komponenberkonsentrasi pada komponen
perangkat lunak perangkat lunak sistem yang lebih besar.sistem yang lebih besar. System engineersSystem engineers mencakup spesifikasi sistem,mencakup spesifikasi sistem,
desain arsitektur, pengintegrasian, dandesain arsitektur, pengintegrasian, dan
penyebaran.penyebaran.
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 11/20
What is a software process?What is a software process?
Software processSoftware process merupakan himpunanmerupakan himpunan aktivitasaktivitastujuan pengembangan atau evolusitujuan pengembangan atau evolusi perangkatperangkatlunak.lunak.
Aktivitas umum dalam semua proses perangkat Aktivitas umum dalam semua proses perangkatlunak adalah:lunak adalah:– SpecificationSpecification (Spesifikasi)- hal-hal yang diperlukan oleh(Spesifikasi)- hal-hal yang diperlukan oleh
sistem dan batasan pengembangannya.sistem dan batasan pengembangannya.– DevelopmentDevelopment (Pengembangan)- produksi sistem perangkat(Pengembangan)- produksi sistem perangkat
lunak.lunak.
– ValidationValidation (Pengesahan) - pemeriksaan perangkat lunak (Pengesahan) - pemeriksaan perangkat lunak sesuai dengan keinginan pelanggan.sesuai dengan keinginan pelanggan.
– EvolutionEvolution (Evolusi) - pengubahan perangkat lunak sesuai(Evolusi) - pengubahan perangkat lunak sesuaidengan permintaan pelanggan.dengan permintaan pelanggan.
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 12/20
What isWhat is
a software process model?a software process model? Software process model merupakanSoftware process model merupakan representasirepresentasi
sederhana suatusederhana suatu software processsoftware process, yang, yangdiperkenalkan dari suatu perspektif spesifik.diperkenalkan dari suatu perspektif spesifik.
Contoh perspektif proses adalahContoh perspektif proses adalah – Workflow Perspektif -Workflow Perspektif - Urutan aktivitasUrutan aktivitas
– Data-Flow Perspektif Data-Flow Perspektif - Arus Informasi- Arus Informasi
– Role/Action Perspektif – Role/Action Perspektif – Peran dan AksiPeran dan Aksi
Proses umum modelProses umum model– WaterfallWaterfall
– Evolutionary developmentEvolutionary development
– Formal transformationFormal transformation
– Integration from reusable componentsIntegration from reusable components
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 13/20
What are the costs of softwareWhat are the costs of software
engineering?engineering?
Perkiraan kasar adalah 60% untuk biaya
pengembangan , sedangkan 40% untuk biaya
pengujian. Untuk custom sofware, biaya-biaya evolusi
sering melebihi biaya-biaya pengembangan.
Biaya-biaya berubah-ubah tergantung pada jenis
sistem yang dikembangkan dan kebutuhan atribut
sistem seperti kehandalan dan reliabilitas sistem. Distribusi biaya-biaya tergantung pada model
pengembangan yang digunakan.
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 14/20
What are softwareWhat are software
engineering methods?engineering methods?Software engineering methodsSoftware engineering methods merupakanmerupakan
pendekatan terstruktur pendekatan terstruktur dalam pengembangandalam pengembanganperangkat lunak yang meliputi model sistem, notasi,perangkat lunak yang meliputi model sistem, notasi,
aturan, desainaturan, desain advice,advice, dan panduan proses.dan panduan proses. Model DescriptionsModel Descriptions (Uraian Model)(Uraian Model)
Uraian tentang model grafis yang harus diproduksi.Uraian tentang model grafis yang harus diproduksi. RulesRules (Aturan-aturan)(Aturan-aturan)
Batasan yang berlaku pada model sistem.Batasan yang berlaku pada model sistem. RecommendationsRecommendations (Rekomendasi)(Rekomendasi)
Rekomendasi untuk praktik desain yang baik.Rekomendasi untuk praktik desain yang baik. Process guidanceProcess guidance (Panduan Proses)(Panduan Proses)
Aktivitas yang mengikuti.Aktivitas yang mengikuti.
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 15/20
What is CASEWhat is CASE (Computer-(Computer-
Aided Software Engineering) Aided Software Engineering)?? CASECASE adalahadalah System softwareSystem software yang digunakan untuk yang digunakan untuk
mendukung otomatisasi aktivitas prosesmendukung otomatisasi aktivitas proses perangkat lunak.perangkat lunak.
CASE sering digunakan untuk CASE sering digunakan untuk mendukung metodemendukung metode..
Upper-CaseUpper-Case
Tools untuk mendukung aktivitas prosesTools untuk mendukung aktivitas proses awal kebutuhan danawal kebutuhan dan
desain.desain.
Lower-CaseLower-Case
Tools untuk mendukung aktivitas selanjutnya sepertiTools untuk mendukung aktivitas selanjutnya seperti
programming programming,, debugging,debugging, dandan testingtesting..
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 16/20
What are the attributes of What are the attributes of
good software?good software?Software perlu memiliki fungsi kebutuhan dan kemampuan yangSoftware perlu memiliki fungsi kebutuhan dan kemampuan yang
diperlukan oleh pemakai dan harusdiperlukan oleh pemakai dan harus maintainable, dependable ,maintainable, dependable ,efficient,efficient, dandan usable.usable.
MaintainabilityMaintainability
Software harus dapat ditingkatkan dan diubah sesuai denganSoftware harus dapat ditingkatkan dan diubah sesuai dengankebutuhan.kebutuhan.
DependabilityDependability
Software harus dapat dipercaya (trustworthy).Software harus dapat dipercaya (trustworthy). EfficiencyEfficiency
Software seharusnya tidak membuat penggunaan sumberSoftware seharusnya tidak membuat penggunaan sumberdaya sistem menjadi boros.daya sistem menjadi boros.
UsabilityUsability
Software harus dapat dipakai oleh para pemakai yangSoftware harus dapat dipakai oleh para pemakai yangdirencanakan.direncanakan.
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 17/20
What are the key challengesWhat are the key challenges
facing software engineering?facing software engineering?
TantanganTantangan : mengatasi sistem warisan (: mengatasi sistem warisan (legacy systemslegacy systems),),
meningkatnya heterogenitas (meningkatnya heterogenitas (HeterogenityHeterogenity) sistem, dan) sistem, dan
tuntutan permintaan percepatan penyerahan(tuntutan permintaan percepatan penyerahan(DeliveryDelivery)) sistem.sistem.
Legacy systemsLegacy systems
Sistem warisanSistem warisan (sistem lama) harus dirawat dan dibaharui.(sistem lama) harus dirawat dan dibaharui.
HeterogenityHeterogenity
Sistem terdistribusikan dalam bentuk Sistem terdistribusikan dalam bentuk campuran antaracampuran antara
perangkat keras dan lunak.perangkat keras dan lunak. DeliveryDelivery
Adanya peningkatan Adanya peningkatan tekanantekanan untuk penyerahan perangkatuntuk penyerahan perangkat
lunak lebih cepat.lunak lebih cepat.
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 18/20
1.4 Professional and1.4 Professional and
Ethical ResponsibilityEthical Responsibility Software engineeringSoftware engineering melibatkan tanggung-melibatkan tanggung-
jawab jawab lebih luaslebih luas dibanding hanya aplikasidibanding hanya aplikasikecakapankecakapan teknisteknis..
Software engineerSoftware engineer harus bertindak secaraharus bertindak secaraetis, bertanggung jawab, dan jujuretis, bertanggung jawab, dan jujur jika jikamereka diharapkan untuk terhormat sebagaimereka diharapkan untuk terhormat sebagaiseorang profesional.seorang profesional.
Perilaku etis tidak hanya sekedarPerilaku etis tidak hanya sekedarmenegakkan hukum saja tetapi harus lebihmenegakkan hukum saja tetapi harus lebihdari itu (lih. hal. berikutnya).dari itu (lih. hal. berikutnya).
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 19/20
Issues of professionalIssues of professional
responsibilityresponsibility
ConfidentialityConfidentiality (Kerahasiaan)(Kerahasiaan)
EngineerEngineer seharusnyaseharusnya menghormati kerahasiaanmenghormati kerahasiaan daridari
klien mereka tanpa tergantung dengan ya atauklien mereka tanpa tergantung dengan ya atau
tidaknya suatu persetujuan kerahasiaan formaltidaknya suatu persetujuan kerahasiaan formalditandatangani.ditandatangani.
CompetenceCompetence (Kemampuan)(Kemampuan)
EngineerEngineer
mestinya tidak salah menggambarkanmestinya tidak salah menggambarkan
tingkatan kemampuannya. Mereka mestinya tidak tingkatan kemampuannya. Mereka mestinya tidak
dengan sadar menerima pekerjaan yangdengan sadar menerima pekerjaan yang di luardi luar
kemampuannya.kemampuannya.
5/9/2018 RPL 1 Pengantar - Software Engineering - slidepdf.com
http://slidepdf.com/reader/full/rpl-1-pengantar-software-engineering 20/20
Issues of professionalIssues of professional
responsibility (lanjutan)responsibility (lanjutan)
Intellectual property rightsIntellectual property rights (Hak milik intelektual)(Hak milik intelektual)
Engineers harusEngineers harus sadar akan hukum lokalsadar akan hukum lokal yangyangmengatur penggunaan dari properti intelektualmengatur penggunaan dari properti intelektual
seperti hak paten, hak cipta, dll. Mereka harusseperti hak paten, hak cipta, dll. Mereka harusseksama untuk memastikan bahwa intelektualseksama untuk memastikan bahwa intelektualproperti klien harus dilindungi.properti klien harus dilindungi.
Computer misuseComputer misuse (Penyalahgunaan Komputer)(Penyalahgunaan Komputer)
Software engineers mestinya tidak menggunakanSoftware engineers mestinya tidak menggunakankecakapan teknis mereka untuk kecakapan teknis mereka untuk menyalahgunakanmenyalahgunakankomputer orang lainkomputer orang lain. Penyalahgunaan komputer. Penyalahgunaan komputerdari yang relatif sepele (misal untuk bermain game)dari yang relatif sepele (misal untuk bermain game)sampai yang serius (pemberian virus).sampai yang serius (pemberian virus).
******
Top Related