kom 331 3(2-3) – rekayasa perangkat lunak

49
KOM 331 3(2-3) – Rekayasa Perangkat Lunak Panji Wasmana Sony Hartono Wijaya – [email protected] Departemen Ilmu Komputer IPB 2009 updated : 25 Februari 2009

Upload: ania

Post on 25-Feb-2016

54 views

Category:

Documents


0 download

DESCRIPTION

KOM 331 3(2-3) – Rekayasa Perangkat Lunak. Panji Wasmana Sony Hartono Wijaya – [email protected] Departemen Ilmu Komputer IPB 2009. updated : 25 Februari 2009. Pertemuan 1 – Introduction. Panji Wasmana Sony Hartono Wijaya – [email protected] Departemen Ilmu Komputer IPB 2009. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

KOM 331 3(2-3) –

Rekayasa Perangkat LunakPanji Wasmana

Sony Hartono Wijaya – [email protected]

Departemen Ilmu Komputer IPB2009

updated : 25 Februari 2009

Page 2: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Pertemuan 1 –

IntroductionPanji Wasmana

Sony Hartono Wijaya – [email protected]

Departemen Ilmu Komputer IPB2009

updated : 25 Februari 2009

Page 3: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

KENAPA PERLU REKAYASA PERANGKAT LUNAK ?DEFINISI REKAYASA PERANGKAT LUNAK

PRODUK PERANGKAT LUNAK

PROSES PERANGKAT LUNAK MATERI KULIAH

Page 4: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

KENAPA PERLU REKAYASA PERANGKAT LUNAK ?DEFINISI REKAYASA PERANGKAT LUNAKPRODUK PERANGKAT LUNAKPROSES PERANGKAT LUNAK

MATERI KULIAH

Page 5: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Materi Kuliah

Pendahuluan

Analisis

Perancangan

Metode Berorientasi Obyek

Implementasi dan Pengujian

Maintenance

Page 6: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Menguasai algoritma pemrograman dan perancangan basis data

Mengembangkan perangkat lunak secara sistematis dan

terukur dengan mengimplementasikan

metode-metode pengembangan perangkat lunak yang klasik maupun

terkini

Tujuan kuliah

Page 7: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

ReferensiSommerville I. 2004 & 2006. Software Engineering .7th or 8th Edition, Addison-Wesley, Harlow, Essex,UK

Pressman RS. 2005. Software Engineering. 6th Edition. McGraw-Hill

Pilone D. & Miller R. 2008. Head First Software Development. O’Reilly

Page 8: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

ReferensiBennett S. et al. 2002.Object Oriented System Analysis and Design Using UML. McGraw-Hill

Page 9: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Materi Kuliah dan Diskusi• www.ilkom.fmipa.ipb.ac.id/

kulon

• Enrollment key : rpl0809

• Username dan First Name diisi dengan nomor NRP. – Mahasiswa yang tidak

memenuhi ketentuan tersebut tidak akan diterima menjadi anggota kuliah online RPL

Page 10: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak
Page 11: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak
Page 12: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Penilaian dan Kontrak Perkuliahan• Semester Ganjil 2009/2010

– Kuliah : Selasa, 19.00 – 20.40 – KOM Baranangsiang– Praktikum :

Rabu dan Kamis, 19.00 – 21.00 - Lab.

• Penilaian :– UTS : 30%– UAS : 30%– Project, Praktikum dan Tugas: 40% (Progress 10%, Presentasi 20%)

• Ujian perbaikan menyusul , maksimal 1 minggu setelah jadwal ujian yang telah ditetapkan

• Toleransi keterlambatan maksimal 15 menit

Page 13: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

KENAPA PERLU REKAYASA PERANGKAT LUNAK ?DEFINISI REKAYASA PERANGKAT LUNAKPRODUK PERANGKAT LUNAKPROSES PERANGKAT LUNAK MATERI KULIAH

Page 14: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Pengembangan Perangkat Lunak

memerlukan effort yang tinggi !

Membedakan sistem sederhana dan

sistem kompleks

Problem pada umumnya kompleks

Kenapa perlu RPL ?

Page 15: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Ukuran Perangkat Lunak yang besar

UNIX mengandung 4 juta baris kodeWindows 2000

mengandung 108 baris kode

Menghindari error yang disebabkan perangkat lunak

Kenapa perlu RPL ?

Page 16: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Hilangnya pesawat ruang angkasa Voyager

Banyak orang terbunuh karena

radiasi mesin

Beberapa pesawat penumpang (umum)

tertembak saat perang teluk

Kejadian yang disebabkan error perangkat lunak

Page 17: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Software bug - Famous computer bugsSoftware bug - Space exploration• NASA Mariner 1 went off-course during launch, due to a

missing 'bar' in its FORTRAN software (July 22, 1962).[6]• NASA Apollo 11 landing problem (July 20, 1969).• NASA Voyager 2 (January 25, 1986).• Phobos 1 lost (September 10, 1988).• ESA Ariane 5 Flight 501 self-destruction 40 seconds after

takeoff (June 4, 1996).• NASA Mars Climate Orbiter destroyed due to incorrect

orbit insertion (September 23, 1999).• Mars Polar Lander lost (December 3, 1999).• NASA Mars Rover freezes due to too many open files in

flash memory (January 21, 2004).

Software bug - Medical• The Therac-25 accidents (1985-1987), quite possibly the

most serious computer-related failure ever in terms of human life lost.

Software bug - Telecommunications• AT&T long distance network crash (January 15, 1990).

Software bug - Computing• Pentium FDIV bug, resulting in inaccuracies in certain

floating point division (FDIV) operations.• Pentium F0 bug, causing the processor to stop under

certain instructions.• The year 2000 problem, popularly known as the "Y2K

bug", spawned fears of worldwide economic collapse and an industry of consultants providing last-minute fixes.

Software bug - Military• The MIM-104 Patriot bug, which resulted in the

deaths of 28 Americans in Dharan, Saudi Arabia (February 25, 1991).

• Chinook crash on Mull of Kintyre

Software bug - Video games• The Missingno. and Glitch City bugs, found in the

Pokémon series• The Minus world in NES version of Super Mario

Brothers

http://www.experiencefestival.com/a/Software_bug_-_Famous_computer_bugs/id/4880583

Page 18: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

KENAPA PERLU REKAYASA PERANGKAT LUNAKDEFINISIREKAYASA PERANGKAT LUNAK

PRODUKPERANGKAT LUNAK

PROSES PERANGKAT LUNAKMATERI KULIAH

Page 19: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Definisi Rekayasa Perangkat Lunak

• Disiplin ilmu rekayasa yang berhubungan dengan semua aspek yang terkait dengan pembuatan perangkat lunak

• Harus melakukan pendekatan yang sistematis dan terorganisasi dalam menyelesaikan pembuatan perangkat lunak

• Harus menggunakan alat bantu dan teknik yang sesuai bergantung dengan problem yang akan dipecahkan dan ketersediaan sumber daya

Software Engineer

Rekayasa Perangkat

Lunak (Software

Engineering)

Page 20: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Perbedaan Rekayasa Perangkat Lunak dan Rekayasa Sistem ?

• Rekayasa Perangkat Lunak adalah bagian dari Rekayasa Sistem

• Rekayasa Sistem (mis: Sistem Informasi) terkait dengan semua aspek pengembangan sistem berbasis komputer yang meliputi :– Perangkat keras (Hardware),– Jaringan (Netware) – Perangkat lunak (Software)– Data (dataware)– Manusia (brainware)

• System engineers melibatkan kegiatanSpesifikasi sistem, perancangan arsitektur, integrasi dan deployment

Page 21: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

KENAPA PERLU REKAYASA PERANGKAT LUNAKDEFINISI REKAYASA PERANGKAT LUNAK

PRODUK PERANGKAT LUNAK

PROSES PERANGKAT LUNAKMATERI KULIAH

Page 22: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Apakah Perangkat Lunak itu ?• Perangkat Lunak adalah suatu kumpulan objek-objek

yang membentuk sebuah konfigurasi yang terdiri dari: – program – dokumen– data ...

Page 23: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

What is Software?

• Software is engineered, tidak direkayasa dengan metode klasik (1 design to all)

• Software doesn’t wear out, tidak akan lekang dimakan waktu, kecuali spesifikasi kebutuhan berubah.

• Software is complex, multidisiplin, multi aspek.

Page 24: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Waktu penggunaan vs. Tingkat kegagalan

idealized curve

change

actual curve

Failurerate

Time

increased failurerate due to side effects

Page 25: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Biaya perubahan

Definition Development After release

1x

1.5-6x

60-100x

Page 26: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Aplikasi Perangkat Lunak q Perangkat Lunak Sistemq Perangkat Lunak Real timeq Perangkat Lunak Bisnisq Perangkat Lunak Teknik atau Sainsq Embedded Softwareq Perangkat Lunak PCq Perangkat Lunak AIq Aplikasi Web

Page 27: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Perangkat Lunak Sistem

q Sistem Operasiq Kompilatorq Perangkat Lunak Utilitasq Anti Virus

Page 28: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Perangkat Lunak Real Time

q Perangkat Lunak Pengendali Reaktor Kimiaq Perangkat Lunak Pengendali Pesawat Terbangq Perangkat Lunak untuk Vehicle Tracking Systemq dll

Page 29: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Perangkat Lunak Bisnis

q Cash Registerq Sistem Inventoryq Sistem Informasi Akuntansiq Sistem Informasi Eksekutifq dll

Page 30: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Embedded Software

q Smart Cardq Microwaveq dll

Page 31: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Perangkat Lunak PC

q Pengolah Kataq Pengolah Dataq Presentasiq dll

Page 32: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Perangkat Lunak AI

q Sistem Pakarq Optimasiq Gameq Robot

Page 33: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

SE in plain text• Serangkaian metode yang diterapkan untuk

menghasilkan Software yang berkualitas.

• Disiplin Ilmu yang mendasari arsitektur sebuah aplikasi

• Berkualitas memiliki kedekatan arti dengan pemuasan konsumen

Page 34: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Studi Kasus

Tom the adventure Guys…

Page 35: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Siapakah Tom?• Seorang cowo macho!!• Memiliki pekerjaan sebagai trail guide• Aktif dalam berbagai perkumpulan• Pengguna aktif Internet

Page 36: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak
Page 37: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Komponen dalam project SE

• Pendanaan• Waktu

• Complexity dan kualitas

Page 38: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Apa yang biasanya terjadi?

Page 39: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak
Page 40: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak
Page 41: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak
Page 42: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Pelajaran dari studi kasus• Mind reader?• Tidak ada metode dalam rekayasa?• Team?• Optimasi kerja?• Komunikasi dengan customer?

Page 43: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak
Page 44: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Diskusi dan Pertanyaan?

Page 45: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak
Page 46: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Tantangan Proses PengembanganPerangkat Lunak

q Bagaimana kita bisa menjamin kualitas perangkat lunak yang kita bangun ?

q Bagaimana kita tetap dapat memenuhi permintaan yang meningkat tapi tetap mampu mengontrol budget ?

q Bagaimana dapat menghindari keterlambatan waktu pengembangan ?

q Bagaimana kita dapat dengan sukses memperkenalkan teknologi baru ?

Page 47: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Jawabannya ???

Page 48: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

P R O S E S !

Page 49: KOM 331 3(2-3) –  Rekayasa Perangkat Lunak

Terima Kasih

Minggu Depan :• Process

•Go deep with Tom