• Tidak ada hasil yang ditemukan

RPL 1 Pengantar - Software Engineering

N/A
N/A
Protected

Academic year: 2021

Membagikan "RPL 1 Pengantar - Software Engineering"

Copied!
20
0
0

Teks penuh

(1)

1. What and Why

1. What and Why

Sofware Engineering ?

Sofware Engineering ?

I. INTRODUCTION TO

I. INTRODUCTION TO

SOFTWARE

SOFTWARE

ENGINEERING

ENGINEERING

(2)

1.1 Software Engineering

1.1 Software Engineering

(

(

Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak

)

)

 EkonomiEkonomi dari semua bangsa-bangsa maju dari semua bangsa-bangsa maju

tergantung pada perangkat lunak tergantung pada perangkat lunak

 Semakin banyak Semakin banyak sistem yang dikendalikansistem yang dikendalikan oleh oleh

perangkat lunak perangkat lunak

 Rekayasa Perangkat Lunak mempunyai Rekayasa Perangkat Lunak mempunyai kaitan kaitan

dengan teori, metode, dan perkakas (tools)

dengan teori, metode, dan perkakas (tools) untuk untuk pengembangan perangkat lunak profesional

pengembangan perangkat lunak profesional

 Rekayasa Perangkat Lunak sudah menjadi bagian Rekayasa Perangkat Lunak sudah menjadi bagian

yang penting untuk menghadirkan

yang penting untuk menghadirkan pendapatan pendapatan nasional pada semua negara maju

(3)

1.2 Software Costs

1.2 Software Costs

(

(

Biaya-Biaya Perangkat Lunak

Biaya-Biaya Perangkat Lunak

)

)

 Biaya-biaya perangkat lunak sering Biaya-biaya perangkat lunak sering mendominasi mendominasi

biaya-biaya sistem

biaya-biaya sistem. Biaya-biaya perangkat lunak . Biaya-biaya perangkat lunak pada suatu PC sering

pada suatu PC sering lebih besarlebih besar dari harga dari harga perangkat keras.

perangkat keras.

 Biaya-biaya Biaya-biaya perawatan perangkat lunak lebih besarperawatan perangkat lunak lebih besar

dibanding dengan pengembangan perangkat dibanding dengan pengembangan perangkat

lunak, karena sistem dengan masa pakai lama, lunak, karena sistem dengan masa pakai lama,

biaya pemeliharaan mungkin beberapa kali biaya pemeliharaan mungkin beberapa kali

biaya-biaya pengembangan. biaya pengembangan.

 Rekayasa Perangkat Lunak mempunyai kaitan Rekayasa Perangkat Lunak mempunyai kaitan

dengan biaya-biaya pengembangan perangkat dengan biaya-biaya pengembangan perangkat

lunak yang

(4)

1.3 FAQs about Software

1.3 FAQs about Software

Engineering

Engineering

(Pertanyaan-pertanyaan

(Pertanyaan-pertanyaan

Seputar SE)

Seputar SE)

Apakah

Apakah

software

software

itu?

itu?

Apakah

Apakah

software engineering

software engineering

itu?

itu?

Apa perbedaan antara

Apa perbedaan antara

software engineering

software engineering

dan

dan

computer science

computer science

?

?

Apa perbedaan antara

Apa perbedaan antara

software engineering

software engineering

dan

dan

system engineering

system engineering

?

?

Apakah

Apakah

software process

software process

itu?

itu?

(5)

FAQs about Software Engineering

FAQs 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 kunci tantangan kunci dalam dalam

menghadapi rekayasa perangkat lunak? menghadapi rekayasa perangkat lunak?

(6)

What is software?

What is software?

 perintahperintah (program komputer) yang bila dieksekusi (program komputer) yang bila dieksekusi

memberikan fungsi dan unjuk kerja seperti yang memberikan fungsi dan unjuk kerja seperti yang

diinginkan; diinginkan;

 struktur datastruktur data yang memungkinkan program yang memungkinkan program

memanipulasi informasi secara proporsional; dan memanipulasi informasi secara proporsional; dan

 dokumendokumen yang menggambarkan operasi dan yang 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 ke bidang pelanggan berbeda;

bidang pelanggan berbeda;

Bespoke/CustomBespoke/Custom ( (PesananPesanan) - dikembangkan untuk ) - dikembangkan untuk pelanggan tunggal menurut spesifikasi mereka.

(7)

What is software engineering?

What is software engineering?

Software engineering

Software engineering

adalah suatu disiplin

adalah suatu disiplin

rekayasa (rancang-bangun) yang terkait

rekayasa (rancang-bangun) yang terkait

dengan semua

dengan semua

aspek produksi

aspek produksi

perangkat

perangkat

lunak.

lunak.

Engineer perangkat lunak mengadopsi

Engineer perangkat lunak mengadopsi

pendekatan

pendekatan

sistematis

sistematis

dan

dan

terorganisir

terorganisir

untuk

untuk

pekerjaan mereka dan menggunakan

pekerjaan mereka dan menggunakan

teknik

teknik

dan tools

dan tools

yang disesuaikan dengan masalah

yang disesuaikan dengan masalah

yang dihadapi untuk dipecahkan, batasan

yang dihadapi untuk dipecahkan, batasan

pengembangan, dan sumber daya tersedia.

(8)

IEEE Definition

IEEE 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 yang

dari sebuah pendekatan yang

bersifat kuantifiabel, disiplin, dan

bersifat kuantifiabel, disiplin, dan

sistematis bagi pengembangan, operasi,

sistematis bagi pengembangan, operasi,

dan pemeliharaan perangkat lunak.

dan pemeliharaan perangkat lunak.

3.

3.

Studi

Studi

tentang pendekatan-pendekatan

tentang pendekatan-pendekatan

seperti pada (

seperti pada (

1

1

)

)

Bidang Penelitian Software Engineering

Bidang Penelitian Software Engineering

mengacu pada kedua hal tsb.

(9)

What is the difference between

What is the difference between

software

software

engineering

engineering

and

and

computer science

computer science

?

?

Computer science

Computer science

mempunyai kaitan dengan

mempunyai kaitan dengan

theory and fundamentals

theory and fundamentals

;

;

software engineering

software engineering

mempunyai kaitan dengan

mempunyai kaitan dengan

practicalities

practicalities

of

of

developing and delivering useful software

developing and delivering useful software

.

.

Computer science

Computer science

sekarang ini tidak cukup

sekarang ini tidak cukup

lengkap untuk bertindak sebagai tiang

lengkap untuk bertindak sebagai tiang

penyokong

(10)

What is the difference between

What is the difference between

software

software

engineering

engineering

and

and

system engineering

system engineering

?

?

System engineeringSystem engineering mempunyai kaitan dengan mempunyai kaitan dengan

semua aspek pengembangan sistem semua aspek pengembangan sistem

berbasis-komputer

komputer yang mencakup perangkat keras, yang mencakup perangkat keras,

perangkat lunak ,dan yang terkait dengan proses perangkat lunak ,dan yang terkait dengan proses

bisnis. bisnis.

Software engineeringSoftware engineering berkonsentrasi pada komponen berkonsentrasi 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, dan desain arsitektur, pengintegrasian, dan

penyebaran. penyebaran.

(11)

What is a software process?

What is a software process?

 Software processSoftware process merupakan himpunan merupakan himpunan aktivitas aktivitas

tujuan pengembangan atau evolusi

tujuan pengembangan atau evolusi perangkat perangkat lunak.

lunak.

 Aktivitas umum dalam semua proses perangkat Aktivitas umum dalam semua proses perangkat

lunak 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 sesuai dengan permintaan pelanggan.

(12)

What is

What is

a software process model?

a software process model?

 Software process model merupakan Software process model merupakan representasirepresentasi

sederhana suatu

sederhana suatu software processsoftware process, yang , yang

diperkenalkan dari suatu perspektif spesifik. diperkenalkan dari suatu perspektif spesifik.

 Contoh perspektif proses adalahContoh perspektif proses adalah

Workflow Perspektif -Workflow Perspektif - Urutan aktivitas Urutan aktivitas

Data-Flow PerspektifData-Flow Perspektif - Arus Informasi - Arus Informasi

Role/Action Perspektif –Role/Action Perspektif – Peran dan Aksi Peran dan Aksi

 Proses umum modelProses umum model

WaterfallWaterfall

Evolutionary developmentEvolutionary developmentFormal transformationFormal transformation

(13)

What are the costs of software

What 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

(14)

What are software

What are software

engineering methods?

engineering methods?

Software engineering methods

Software engineering methods merupakan merupakan pendekatan terstruktur

pendekatan terstruktur dalam pengembangan dalam pengembangan

perangkat lunak yang meliputi model sistem, notasi, perangkat lunak yang meliputi model sistem, notasi,

aturan, desain

aturan, desain advice,advice, dan panduan proses. dan panduan proses.

 Model Descriptions Model Descriptions (Uraian Model)(Uraian Model)

Uraian tentang model grafis yang harus diproduksi. Uraian tentang model grafis yang harus diproduksi.

 Rules Rules (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.

(15)

What is CASE

What is CASE

(Computer-

(Computer-Aided Software Engineering)

Aided Software Engineering)

?

?

CASE CASE adalah adalah System softwareSystem software yang digunakan untuk yang digunakan untuk

mendukung otomatisasi aktivitas proses

mendukung 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 proses

Tools untuk mendukung aktivitas proses awal kebutuhan dan awal kebutuhan dan desain.

desain.

 Lower-CaseLower-Case

Tools untuk mendukung aktivitas selanjutnya seperti

Tools untuk mendukung aktivitas selanjutnya seperti programming

(16)

What are the attributes of

What are the attributes of

good software?

good software?

Software perlu memiliki fungsi kebutuhan dan kemampuan yang

Software perlu memiliki fungsi kebutuhan dan kemampuan yang

diperlukan oleh pemakai dan harus

diperlukan oleh pemakai dan harus maintainable, dependable , maintainable, dependable , efficient,

efficient, dandan usable. usable.

 MaintainabilityMaintainability

Software harus dapat ditingkatkan dan diubah sesuai dengan

Software harus dapat ditingkatkan dan diubah sesuai dengan

kebutuhan.

kebutuhan.

 DependabilityDependability

Software harus dapat dipercaya (trustworthy).

Software harus dapat dipercaya (trustworthy).

 EfficiencyEfficiency

Software seharusnya tidak membuat penggunaan sumber

Software seharusnya tidak membuat penggunaan sumber

daya sistem menjadi boros.

daya sistem menjadi boros.

 UsabilityUsability

Software harus dapat dipakai oleh para pemakai yang

Software harus dapat dipakai oleh para pemakai yang

direncanakan.

(17)

What are the key challenges

What are the key challenges

facing software engineering?

facing software engineering?

Tantangan

Tantangan : 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 warisan

Sistem warisan (sistem lama) harus dirawat dan dibaharui. (sistem lama) harus dirawat dan dibaharui.

 HeterogenityHeterogenity

Sistem terdistribusikan dalam bentuk

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

perangkat keras dan lunak.

 DeliveryDelivery

Adanya peningkatan

Adanya peningkatan tekanantekanan untuk penyerahan perangkat untuk penyerahan perangkat lunak lebih cepat.

(18)

1.4 Professional and

1.4 Professional and

Ethical Responsibility

Ethical Responsibility

Software engineering

Software engineering

melibatkan tanggung-

melibatkan

tanggung-jawab

jawab

lebih luas

lebih luas

dibanding hanya aplikasi

dibanding hanya aplikasi

kecakapan

kecakapan

teknis

teknis

.

.

Software engineer

Software engineer

harus bertindak secara

harus bertindak secara

etis, bertanggung jawab, dan jujur

etis, bertanggung jawab, dan jujur

jika

jika

mereka diharapkan untuk terhormat sebagai

mereka diharapkan untuk terhormat sebagai

seorang profesional.

seorang profesional.

Perilaku etis tidak hanya sekedar

Perilaku etis tidak hanya sekedar

menegakkan hukum saja tetapi harus lebih

menegakkan hukum saja tetapi harus lebih

dari itu (lih. hal. berikutnya).

(19)

Issues of professional

Issues of professional

responsibility

responsibility

 ConfidentialityConfidentiality (Kerahasiaan) (Kerahasiaan)

Engineer

Engineer seharusnya seharusnya menghormati kerahasiaanmenghormati kerahasiaan dari dari klien mereka tanpa tergantung dengan ya atau

klien mereka tanpa tergantung dengan ya atau tidaknya suatu persetujuan kerahasiaan formal tidaknya suatu persetujuan kerahasiaan formal

ditandatangani. ditandatangani.

 CompetenceCompetence (Kemampuan) (Kemampuan)

Engineer

Engineer mestinya tidak salah menggambarkan mestinya tidak salah menggambarkan tingkatan kemampuannya. Mereka mestinya tidak tingkatan kemampuannya. Mereka mestinya tidak

dengan sadar menerima pekerjaan yang

dengan sadar menerima pekerjaan yang di luar di luar kemampuannya.

(20)

Issues of professional

Issues of professional

responsibility (lanjutan)

responsibility (lanjutan)

 Intellectual property rightsIntellectual property rights (Hak milik intelektual) (Hak milik intelektual)

Engineers harus

Engineers harus sadar akan hukum lokalsadar akan hukum lokal yang yang mengatur penggunaan dari properti intelektual mengatur penggunaan dari properti intelektual seperti hak paten, hak cipta, dll. Mereka harus seperti hak paten, hak cipta, dll. Mereka harus seksama untuk memastikan bahwa intelektual seksama untuk memastikan bahwa intelektual

properti klien harus dilindungi. properti klien harus dilindungi.

 Computer misuseComputer misuse (Penyalahgunaan Komputer) (Penyalahgunaan Komputer)

Software engineers mestinya tidak menggunakan Software engineers mestinya tidak menggunakan

kecakapan teknis mereka untuk

kecakapan teknis mereka untuk menyalahgunakan menyalahgunakan komputer orang lain

komputer orang lain. Penyalahgunaan komputer . Penyalahgunaan komputer

dari 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).

*** ***

Referensi

Dokumen terkait

yang dilakukan oleh Rosydah (2011) dengan meningkatnya jumlah kitosan, mikropartikel yang terbentuk lebih sferis dengan permukaan yang halus, sedangkan pada penelitian

Selanjutnya, pada halaman sumber yang sama, Field (2004: 63 — 64) mengemukakan bahwa di antara pandangan tentang akuisisi yang dapat dicirikan sebagai “ kognitif ” adalah

Untuk mengetahui secara simultan besarnya pengaruh citra merek dan persepsi harga terhadap keputusan pembelian dengan menggunakan teknik analisis statistik yang sudah di

Perlindungan pantai dapat ditimbulkan secara alami oleh pantai maupun dengan bantuan manusia. Perlindungan pantai secara alami dapat berupa dunes maupun karang laut yang tumbuh

Jika ditinjau dari Identitas Nilai dalam pelembagaan partai melalui masing- masing basis sayap, basis sayap merupakan bagian dari gambaran basis sosial pendukung

Avoidant coping merupakan strategi yang dilakukan individu untuk menjauhkan diri dari sumber stres dengan cara melakukan suatu aktivitas atau menarik diri dari suatu

Modul Program 4.16 Tampilan Halaman Video Letusan Gunung Merapi ...95. Modul Program 4.17 Tampilan Halaman Kawasan Rawan

Hasil penelitian menunjukkan bahwa kasus campak banyak terjadi pada daerah dengan kepadatan penduduk tinggi dan cakupan imunisasi kelurahan yang rendah, insiden