Anda di halaman 1dari 17

Rekayasa Perangkat Lunak

Pertemuan ke-1

Perkenalan
Nama: Hendratno Pendidikan:
S1 Teknik Informatika Universitas Trisakti (1998) S2 Magister Teknologi Informasi Universitas

Indonesia (2005) S3 Ilmu Komputer, Universitas Indonesia (2009), in progress


Status: Menikah Alamat: Bogor, Jawa Barat

Situs web: www.hdn.or.id


E-mail:
hendratno@depkominfo.go.id hendra64@gmx.net

Kuliah Rekayasa Perangkat Lunak (RPL)


Waktu: Rabu, 10.00 12.30 WIB

Dosen: Hendratno, ST. MTI.


Buku Teks:
Pressman, RS, Software Engineering: A

Practitioners Approach, 6th Edition, McGraw Hill, 2003 Sommerville I, Software Engineering, 7th Edition, Addison-Wesley, 2004
Penilaian: Tugas 30% + UTS 30% + UAS 40%

Rule of the Game


Hadir di kelas. Tingkat kehadiran mengikuti

peraturan Fakultas/Jurusan. Baca buku sebelum dan sesudah pertemuan di kelas Terlambat mengumpulkan tugas dikenakan pengurangan nilai 10 point per hari Tugas/Ujian: Open/Close Book (silakan pilih) Kejujuran amat sangat ditegakkan Nonaktifkan HP saat perkuliahan (silent)

Pengantar Rekayasa Perangkat Lunak

Apakah Perangkat Lunak itu?


Perangkat Lunak (Software) adalah sekumpulan

item atau objek yang membentuk sebuah konfigurasi yang mencakup:


Program Dokumentasi

Data ...

Karakteristik Perangkat Lunak


Perangkat lunak memiliki karakteristik yang

berbeda dengan perangkat keras:


Perangkat lunak dibangun dan dikembangkan, tidak

dibuat dalam bentuk yang klasik. Perangkat lunak tidak pernah usang. Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak dapat dirakit dari komponen yang sudah ada (perangkat lunak itu kompleks).

Peran Perangkat Lunak


Perangkat lunak sebagai produk
Memberikan kemampuan komputasi Menghasilkan, mengelola, memperoleh,

memodifikasi, menampilkan, atau mengirim informasi


Perangkat lunak sebagai sarana untuk

menghasilkan produk
Mendukung atau langsung menyediakan

fungsionalitas sistem Mengendalikan program lain (contoh: Operating System) Mengakibatkan adanya komunikasi (contoh: networking software)

Evoluasi Perangkat Lunak


1950 Pertengahan 60an Mobilitas kerja rendah Distribusi terbatas Pertengahan 60an Pertengahan 70an Multiuser, database Realtime Software house menghasilkan perangkat lunak sebagai

produk
Pertengahan 70an akhir 90an Sistem terdistribusi Embedded intelligence Akhir 90an 2000 Teknologi berorientasi objek Sistem Pakar Jaringan Saraf Tiruan Komputasi Paralel, komputer jaringan

Masalah-Masalah yang Berhubungan dengan Perangkat Lunak


Kemajuan perangkat keras melebihi perangkat

lunak Belum dapat membangun program dengan cukup cepat untuk memenuhi kebutuhan Ketergantungan pada sistem operasi yang reliable Membangun perangkat lunak dengan kualitas tinggi Kemampuan mendukung program terhambat desain yang buruk dan sumber daya yang tidak memadai

Sudut Pandang Industri


Biaya (Cost) !

Pertanyaan-pertanyaan yang sering dianjurkan manager: 1. Mengapa diperlukan waktu yang sangat lama untuk menyelesaikan perangkat lunak? 2. Mengapa biayanya sangat tinggi? 3. Mengapa kita tidak dapat menemukan semua error sebelum perangkat lunak diberikan kepada customer? 4. Mengapa kita mengalami kesulitan untuk mengukur progress ketika perangkat lunak

Beberapa Tipe Perangkat Lunak


System software

Application software
Engineering/scientific software Embedded software Product-line software WebApps (Web applications) Artificial Intelligence (AI) software

Mitos-Mitos Perangkat Lunak (1)


Mitos Manajemen Mitos: Kita sudah memiliki buku yang penuh standar dan

prosedur untuk membuat perangkat lunak. Apakah buku itu tidak memberikan semua yang ingin diketahui oleh staf saya? Kenyataan: apakah buku itu dipakai? Apakah staf mengetahui keberadaan buku itu? Apakah lengkap? Dalam kebanyakan kasus, jawaban: tidak
Mitos: Staf saya memiliki alat pengembangan perangkat lunak

terkini, karena itulah kita membeli komputer baru bagi mereka Kenyataan: Dibutuhkan lebih dari sekedar PC terbaru untuk mengembangkan perangkat lunak berkualitas tinggi. Mayorutas belum mempergunakan CASE untuk mencapai kualitas dan produksi tinggi
Mitos: Jika kita terlambat dari jadwal, tambahkan programmer

baru Kenyataan: dibutuhkan waktu untuk melatih dan membimbing programmer baru

Mitos-Mitos Perangkat Lunak (2)


Mitos Pelanggan
Mitos: pernyataan umum tentang objektifitas sudah

cukup untuk memulai menulis program. Kita dapat mengisi detailnya nanti. Kenyataan: definisi awal yang buruk menjadi penyebab utama gagalnya kerja perangkat lunak
Mitos: Kebutuhan proyek berubah-rubah, tetapi

perubahan dapat diakomodasikan karena perangkat lunak bersifat fleksibel. Kenyataan: Pengaruh perubahan bervariasi tergantung waktu perubahannya

Mitos-Mitos Perangkat Lunak (3)


Mitos Para Praktisi Mitos: Sekali menulis program, dan membuatnya bekerja,

pekerjaan selesai. Kenyataan: Seseorang menyatakan Lebih cepat Anda memulai menulis kode, semakin lama Anda menyelesaikannya: Data industri: antara 50-70% dari semua usaha untuk membuat program akan terus dilanjutkan sampai program di antarkan ke konsumen untuk pertama kalinya.
Mitos: tidak ada cara untuk menilai kualitas program kecuali

prgram sudah berjalan Kenyataan: mekanisme jaminan kualitas perangkat lunak dapat diperkirakan dari awal proyek
Mitos: Satu-satunya hasil dari proyek yang sukses adalah

program yang bekerja. Kenyataan: Program yang bekerja hanya merupakan salah satu bagian dari konfigurasi perangkat lunak yang menyangkut program, dokumentasi, dan data

Definisi Rekayasa Perangkat Lunak (RPL)


Fritx Bauer, 1969:
1.

Pembuatan dan penggunaan prinsip-prinsip teknik untuk mendapatkan PL yang dapat dipercaya dan bekerja dengan efisien di real mesin dengan harga yang ekonomis. Penggunaan teknologi dan managerial yang difokuskan pada produksi & pemeliharaan sistematis terhadap produk perangkat lunak yang dikembangkan & dimodifikasi pada waktu dan dalam perkiraan harga yang tepat.

Richard Fairly, 1985:


1.

IEEE:
1.

2.

The application of systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. The study of approaches as in (1).

Ruang Lingkup RPL


Metodologi (how tos)
Sekumpulan metode untuk melaksanakan setiap

tahap pengembangan PL: perencanaan & estimasi proyek, analisa kebutuhan sistem & PL, desain (struktur data, arsitektur, program, algoritma), coding, testing, & maintenance.
Alat Bantu (tools)
Perkakas (CASE, Computer Aided Software

Engineering, Tools) yang digunakan pada proses pengembangan PL


Prosedur
Bagaimana mengelola kegiatan pengembangan

(manajemen).