• Tidak ada hasil yang ditemukan

Pengenalan Rekayasa Perangkat Lunak. Pertemuan II

N/A
N/A
Protected

Academic year: 2022

Membagikan "Pengenalan Rekayasa Perangkat Lunak. Pertemuan II"

Copied!
40
0
0

Teks penuh

(1)

Pengenalan Rekayasa Perangkat Lunak

Pertemuan II

(2)

Konsep Dasar Rekayasa

Perangkat Lunak

(3)

• Ilmu yang mempelajari tehnik pembuatan software yang baik dengan pendekatan

tehnik ( Engineering ap-proach)

• Ada beberapa cara / fase 1. Fase Perencanaan

2. Fase Pengembangan 3. Fase Pemeliharaan

Software Engineering ?

(4)

• Tantangan ?

àmengembangkan hardware komputer yang dapat mengurangi biaya pengolahan dan

penyimpanan data

àmengurangi biaya dan memperbaiki kualitas solusi berbasis komputer

• Solusi ?

àSoft. merupakan faktor kunci dlm keberhasilan suatu usaha, soft. dpt membedakan satu

perusahaan dari perus ahan saingannya

Soft. and Soft. Engineering

(5)

• Tahun-tahun awal : - Batch orientation

- Limmited distribution - Custummer software

Evolusi Software

1950 1960 1970 1980 1990 2000

(6)

Era ke-2 : Era ke-3 :

- Multi user - Distibuted system

- Real time - Embedded intellegence - Database - Low cost hardware

- Consumer infact

Era ke-4 :

- Expert system - A I Machine

- Parallel architecture

Evolusi Software

(7)

Instruksi

Atau program komputer yang ketika dieksekusi akan memberi fungsi dan hasil yang diinginkan.

Struktur data

Yang memungkinkan program memanipulasi informasi

Dokumen

Yang menggambarkan operasi dan penggunaan

Arti Software ?

(8)

• Software merupakan elemen sistem logik dan bukan elemen sistem fisik seperti

hardware

• Elemen itu tidak aus, tetapi bisa rusak.

• Elemen software itu direkayasa atau dikembangkan dan bukan dibuat di pabrik seperti hardware

• Software itu tidak bisa dirakit.

Sifat & Karakteristik Software ?

(9)

• Bentuk Bahasa

• Bentuk Translator

• Bentuk Mesin :

Komponen Software ?

LANGUAGE FORM

TRANSLATOR

MACHINE LANGUAGE

HIGH LEVEL MIDDLE LEVEL

(10)

1. Sistem Software

2. Real Time Software

Perlu dicatat bahwa istilah real time berbeda dari istilah interactive atau time sharing. Sistem real time harus memberikan respons pada waktu yang ditentukan, sedangkan pada sistem interactive atau time sharing respons time biasanya melebihi batas waktu yang ditentukan tanpa merusak hasil.

3. Business Software

4. Engineering and Sciencetific Sofware 5. Emdebed Software

6. PC Software

7. Artificial Intelegent Software

Aplikasi Software ?

(11)

• Krisis Software ?

• Masalah ?

• Penyebab ?

Model Software Engineering

à Fritz Badar (soft. yg ekonomis), terdiri dari 3 elemen : 1. Metode

2. Peralatan 3. Prosedur

Aplikasi Software ? (cont.)

(12)

Software engineering paradigma (ada 3) : 1. Classic Life Cycle Paradigma

Model Software Engineering (cont.)

SISTEM ENGINEERING ANALYS

DESIGN

CODE

TESTING

MAINTENANCE

(13)

2. Prototype Paradigma

Model Software Engineering (cont.)

REQUIMENTS GATHERING

"QUICK DESIGN"

BUILD PROTOTYPE

EVALUAT ED AND REFINEMENTS

ENGINEER PRODUCT

(14)

3. Fourth Generati on Technique Paradi gma

Model Software Engineering (cont.)

REQUIMENTS GATHERING

"DESIGN STRATEGICS"

IMPLEMENTATION USING 4GT PRODUCT

(15)

4. Model Kombinasi

Model Software Engineering (cont.)

REQUIMENTS GATHERINGS

PROTOTYPING

PROTOTYPE APPLY

4GL

EVALUATE

ENGINEER PRODUCT

CLASSIC LIFE CYCLE DAPAT LANGSUNG JIKA PENDEKATANNYA JELAS

(16)

• Gas Oksigen dapat dibuat oleh : - Sebuah Laboratorium

- Industri Pabrik Gas

• Perangkat lunak dapat dikembangkan oleh : - Sekelompok programmer

- Sebuah organisasi yang

mengembangkannya melalui rekayasa

• Apa yang membedakan antara keduanya ?

Sebuah Analogi

(17)

• Apa perbedaan antara software engineering (rekayasa perangkat lunak) dengan

computer science (ilmu komputer) ?

Berhubungan dengan :

Computer Science Software Engineering

- Teori-teori

- Dasar-dasar Ilmu Komputer

- Pengetahuan praktis untuk pengembangan

Perbedaan SE & CS

(18)

• Comp. Science terkait dgn teori-teori &

dasar-dasar dari ilmu komputer, sedangkan software engineering terkait pada

pengetahuan & penyerahan perangkat lunak yg berguna.

• Teori-teori ilmu komputer biasanya tidak cukup digunakan sebagai pendukung yang lengkap dari software engineering.

Perbedaan SE & CS (cont.)

(19)

• Masalahnya adalah kompleksitas

• Banyak dibutuhkan sumber-sumber, tetapi kuncinya adalah ukuran (size) :

- UNIX berisi 4 juta lines of code

- Windows 2000 berisi 108 lines of code dikerjakan oleh Tim dengan 1400 orang

Soft. Engineering adalah bagaimana

mengelola komplesitas tsb. dan dpt bekerja

Mengapa perlu Soft. Engineering

(20)

• Bagaimana bekerja dalam suatu proyek skala besar, kompleks & melibatkan banyak orang ? 1. Spesifikasi Kebutuhan ( requirement

specification )

2. Analisis ( anlysis )

3. Perancangan ( design )

4. Implementasi & Pengujian ( implementastion &

testing )

5. Perawatan & Up-grade ( maintenance &

upgrade )

Tahap-tahap Proses Pengembangan Soft.

(21)

Tanggung Jaw ab

Profesional Dan Etika

(22)

Mengapa Perlu Kode Etika Profesi TI ?

• Kita memiliki kebanggaan pada pekerjaan kita dan ingin pekerjaan kita diberikan pengakuan dan rasa hormat.

• Kita ingin melindungi mata pencaharian kita.

• Komputer memiliki potensi untuk menghasilkan manfaat yang positif maupun dampak yang

negatif atau mempengaruhi ke arah yang positif

maupun negatif.

(23)

Etika Profesional Komputer

• Secara umum, perilaku etis yang diharapkan dari para profesional komputer:

• Jujur dan adil; memegang kerahasiaan; memelihara kompetensi

• profesi; memahami hukum yang terkait; menghargai dan

• melindungi kerahasiaan pribadi; menghindari merugikan pihak

• lain; dan menghargai hak milik.

• Berbagai contoh kode etik profesi komputer:

• IEEE-CS/ACM (Software Engineering Code of Ethics and Professional Practice) (http://www.acm.org/about/se-code)

ACM Code of Ethics and Professional Conduct (http://www.acm.org/about/code-of-ethics)

(24)

IEEE-CS/ACM Code of Ethi cs

and Professional Practice IEEE-CS/ACM Code of Ethi cs and Professional Practice

• Dikembangkan berdasarkan 8 prinsip:

1. Kepentingan umum 2. Klien dan atasan 3. Produk

4. Keputusan 5. Manajemen 6. Profesi

7. Rekan sejawat 8. Diri sendiri

(25)

1. Kepentingan Umum

• Pengembang sistem seharusnya bertindak konsisten dengan kepentingan umum

• Menyetujui sistem jika memiliki keyakinan yang kuat bahwa sistem aman, memenuhi standar, melewati berbagai pengujian dan tidak mengurangi kualitas hidup, privasi, atau mengganggu lingkungan .

• Menyingkap setiap bahaya potensial pada pengguna .

• Adil dan hindari kecurangan dalam setiap

(26)

2. Klien dan Atasan

• Pengembang sistem seharusnya bertindak

dalam cara yang memberikan perhatian terbesar pada klien atau atasannya, konsisten dengan

kepentingan umum.

• Jujur akan keterbatasan pengetahuan dan pengalamannya .

• Simpan setiap informasi rahasia, konsisten

dengan kepent ingan umum dan hukum.

(27)

3. Produk

• Pengembang sistem seharusnya meyakinkan bahwa

produknya dan segala perubahannya memenuhi standar profesional tertinggi yang mungkin.

• Berupaya untuk mutu yang tinggi, biaya yang wajar, dan jadwal yang beralasan .

• Lakukan pengujian, penghapusan bug, dan

pengkajian yang memadai terhadap sistem dan dokumen yang terkait.

• Hadapi setiap perawatan sistem dengan

(28)

4. Keputusan

• Pengembang sistem seharusnya memelihara

integritas dan independens inya dalam membuat suatu keputusan profesional

• Tidak terikat dengan praktik keuangan yang keliru.

• Perlihatkan ke semua pihak yang terkait,

konflik kepentingan yang terjadi yang tidak

dapat dibiarkan begitu saja.

(29)

5. Manajemen

• Manajer/pemimpin pengembanga n sistem

seharusnya mengikuti dan mendorong pendekatan etis terhadap manajemen pengembangan sistem.

• Yakini bahwa para pengembang sistem telah diberitahukan standar-standar yang akan

digunakan.

• Memberikan honor yang adil dan memadai.

• Tidak memberikan sanksi kepada siapapun yang

(30)

6. Profesi

• Pengembang sistem seharusnya menaikkan integritas dan reputasinya konsisten dengan kepentingan umum.

• Memasyarakatkan pengetahuan umumakan pengembangan sistem.

• Akurat dalam menyatakan karakteristik perangkat lunak yang dikerjakannya .

• Bertanggung jawab untuk mendapatkan ,

memperbaiki , dan melaporkan kesalahan dalam sistem dan dokumentasi yang terkait yang sedang dikerjakannya .

(31)

7. Rekan Sejawat

• Pengembang sistem seharusnya adil dan

memberi dukungan kepada rekan sejawatnya.

• Hargai pekerjaan orang lain

• Berikan pemahaman yang adil akan

pendapat, perhatian, dan keberatan dari rekan sejawat.

• Untuk hal-hal di luar kompetensi yang

dimiliki, minta pendapat dari profesional yang

(32)

8. Diri Sendiri

• Pengembang sistem seharusnya belajar terus terkait dengan praktik profesinya dan seharusnya mendukung pendekatan etis dalam praktik profesinya.

• Menambah pengetahuannya

• Meningkatkan kemampuannya dalam

mengembangkan sistem berkualitas yang aman, andal, dan berguna

• Meningkatkan kemampuannya untuk menghasilkan dokumentasi yang akurat, informatif, dan ditulis

dengan baik.

(33)

Pedoman Tambahan Untuk Profesional TI

• Pahami apa itu keberhasilan

• Pengembang (terutama) dan pengguna sistem komputer harus melihat keberhasilan sebagai sesuatu yang melampaui

sekedar penulisan kode program

Kembangkan untuk pengguna

• Untuk menghasilkan sistem yang berguna dan aman,

pengguna harus dilibatkan dalam tahap-tahap pengembangan sistem.

Rencanakan dan jadwalkan secara seksama

• Memperhatikan kedetilan, lakukan dengan seksama dan hati-

(34)

Pedoman Tambahan Untuk Profesional TI (cont.)

• Mengkaji penggunaan kembali perangkat lunak

• Jangan mengasumsikan bahwa perangkat lunak

yang sudah ada aman dan dapat digunakan kembali

• Melindungi

• Perlu jaminan yang meyakinkan akan keamanan sistem

• Jujur

• Jujur dan terbuka mengenai kemampuan ,

keamanan , dan keterbatasan dari perangkat lunak

(35)

Bagaimana MenghadapiMasalah Profesional yang terkait Etika?

Brainstorming

Daftarkan risiko, isu, masalah, dan akibat yang ada

Daftarkan pihak-pihak yang terlibat

Daftarkan tindakan/perbuatan yang mungkin

Analisis

Identifikasi tanggung jawab dari pembuat keputusan

Identifikasi hak-hak dari pihak-pihak yang terlibat

Pertimbangk an dampak dari pilihan-pilihan tindakan terhadap pihak- pihak tersebut

Temukan pedoman dalam kode etik profesi anda (jika ada).

Kategori kan tiap pilihan tindakan sebagai “wajib secara etis”, “dilarang

(36)

Siklus Hidup Perangkat Lunak (SDLC/Softw are Development Life

Cycle)

(37)

Gambar Siklus Hidup

Pengembangan Sistem

(38)

Bagan Laporan Terdokumentasi Yang

Siap Diserahkan Front-End

(39)

Bagan Laporan Terdokumentasi Yang

Siap Diserahkan Back-End

(40)

Selesai

Gambar

Gambar Siklus Hidup  Pengembangan  Sistem

Referensi

Dokumen terkait

FACR secara parsial mempunyai pengaruh positif yang tidak signifikan terhadap ROA pada Bank Umum Swasta Nasional go public periode Triwulan I tahun 2009 sampai

Semakin tinggi posisi piston valve, maka semakin tinggi jarum skep terangkat, karena bentuk jarum yang tirus, maka semakin besar celah antara main jet dengan jarum skep,

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

Tanpa meninggalkan tujuan dan kebijakan yang diciptakan, penting bagi Partai Politik untuk memiliki tokoh yang dapat diterima oleh semua lapisan masyarakat.Seperti SBY

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

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

Tujuan pembuatan alat belah bambu manual ini adalah merancang alat pembelah bambu yang dioperasikan secara manual untuk membelah bambu gelondong dengan panjang 40 cm