Buku ini membahas tentang rekayasa perangkat lunak dan manajemen proyek. Ia menjelaskan pengertian perangkat lunak, rekayasa perangkat lunak, proyek, dan manajemen proyek. Bab pertama membahas tentang definisi dan karakteristik utama dari keempat konsep tersebut beserta penjelasan mengenai proses rekayasa perangkat lunak dan area pengetahuan utama dalam manajemen proyek.
1. Buku Ajar Rekayasa Perangkat Lunak
BAB 1
Pendahuluan.
Kompetensi Dasar :
Mahasiswa memahami dan mampu menjelaskan pengertian perangkat
lunak, rekayasa perangkat lunak, proyek, dan manajemen proyek serta
hal-hal lain yang berkaitan dengannya.
1. Perangkat lunak.
Gambaran tentang perangkat lunak di dalam sebuah buku
teks mungkin mengambil bentuk sebagai berikut. Perangkat
lunak adalah :
Perintah (program komputer) yang bila dieksekusi
memberikan fungsi dan unjuk kerja seperti yang
diinginkan.
Struktur data yang memungkinkan program memanipulasi
informasi secara proporsional.
Dokumen yang menggambarkan operasi dan kegunaan
program.
Ada dua tipe produk perangkat lunak, yaitu :
1. Produk generik. Ini merupakan sistem stand alone (berdiri
sendiri) standar yang diproduksi oleh organisasi
pengembang dan dijual pada pasar terbuka kepada
siapapun yang mau membelinya.
2. Produk pesanan. Ini merupakan sistem-sistem yang
dipesan oleh pelanggan tertentu. Perangkat lunak
dikembangkan khusus bagi pelanggan tersebut oleh
kontraktor perangkat lunak.
Karakteristik produk perangkat lunak yang baik :
1. Dapat dipelihara. Perangkat lunak harus ditulis sedemikian
rupa sehingga perangkat lunak dapat berubah seiring
dengan perubahan kebutuhan pelanggan. Ini
merupakan atribut kritis karena perubahan perangkat
lunak merupakan konsekuensi yang tidak terelakkan
pada lingkungan bisnis yang berubah.
2. Dapat diandalkan. Perangkat lunak yang dapat
diandalkan mempunyai serangkaian karakteristik,
1
2. Buku Ajar Rekayasa Perangkat Lunak
termasuk keandalan, keamanan, dan keselamatan.
Perangkat lunak yang dapat dipercaya seharusnya tidak
menyebabkan kerusakan fisik atau ekonomi jika terjadi
kegagalan sistem.
3. Efisien. Tanpa alasan yang bisa dipertanggungjawabkan,
perangkat lunak tidak boleh menggunakan sumber daya
sistem seperti siklus memori dan prosesor. Dengan
demikian, efisiensi mencakup kecepatan tanggapnya,
lamanya waktu pemrosesan, kerakusan memakan
memori, dll.
4. Kemampupakaian. Perangkat lunak harus dapat dipakai,
tanpa usaha yang tidak perlu, oleh user yang dituju. Ini
berarti bahwa perangkat lunak harus memiliki interface
user yang bagus dan dokumentasi yang mencukupi.
Aplikasi perangkat lunak.
Perangkat lunak sistem.
Perangkat lunak real-time.
Perangkat lunak bisnis.
Perangkat lunak teknik dan ilmu pengetahuan.
Embedded software.
Perangkat lunak komputer personal.
Perangkat lunak kecerdasan buatan.
2. Rekayasa perangkat lunak.
Definisi menurut IEEE, rekayasa perangkat lunak adalah :
aplikasi dari sebuah pendekatan kuantifiabel, disiplin dan
sistematis pada pengembangan, operasi dan pemeliharaan
perangkat lunak beserta studi pendekatannya.
Gambar 1.1. Lapisan Rekayasa Perangkat Lunak.
Rekayasa perangkat lunak merupakan sebuah teknologi yang
dibentangkan yang meliputi fokus kualitas, proses, metode
dan tools. Banyak pendekatan keteknikan yang harus berada
2
3. Buku Ajar Rekayasa Perangkat Lunak
pada sebuah komitmen dasar menuju kualitas. Batu landasan
yang menopang rekayasa perangkat lunak merupakan fokus
pada kualitas. Fondasi untuk rekayasa perangkat lunak
meupakan bentangan proses. Proses-proses rekayasa
perangkat lunak adalah perekat yang menjaga bentangan-
bentangan teknologi secara bersama-sama dan
memungkinkan perkembangan perangkat lunak komputer
yang tepat waktu dan rasional. Metode-metode rekayasa
perangkat lunak memberikan teknik untuk membangun
perangkat lunak. Metode-metode itu menyangkut
serangkaian tugas yang luas yang menyangkut analisis
kebutuhan, konstruksi program, desain, pengujian dan
pemeliharaan. Tools rekayasa perangkat lunak memberikan
topangan yang otomatis ataupun semi otomatis pada proses-
proses dan metode-metode yang ada. Ketika tools
diintegrasikan sehingga informasi yang diciptakan oleh satu
tool bisa digunakan oleh yang lain, sistem untuk menopang
perkembangan perangkat lunak yang disebut Computer
Aided Software Engineering (CASE) terbangun.
Usaha yang berhubungan dengan rekayasa perangkat lunak
dapat dikategorikan ke dalam 3 fase umum dengan tanpa
mempedulikan area aplikasi, ukuran proyek dan
kompleksitasnya.
Fase definisi berfokus pada “apa”, dimana pada definisi ini
pengembang perangkat lunak harus mengidentifikasi
informasi apa yang akan diproses, fungsi dan unjuk kerja apa
yang dibutuhkan, tingkah laku sistem seperti apa yang
diharapkan, interface apa yang akan dibangun, batasan
desain apa yang ada dan kriteria validasi apa yang
dibutuhkan untuk mendefinisikan sistem secara sukses.
Fase pengembangan berfokus pada “bagaimana”, yaitu
dimana selama masa pengembangan perangkat lunak,
teknisi harus mendefinisikan bagaimana data dikonstruksikan,
bagaimana fungsi-fungsi diimplementasikan sebagai sebuah
arsitektur perangkat lunak, bagaimana detail prosedur akan
diimplementasikan, bagaimana interface ditandai /
dikarakterisasi, bagaimana rancangan akan diterjemahkan ke
dalam bahasa pemrograman, serta bagaimana pengujian
akan dilakukan.
Fase pemeliharaan berfokus pada perubahan yang
dihubungkan dengan koreksi kesalahan, penyesuaian yang
3
4. Buku Ajar Rekayasa Perangkat Lunak
dibutuhkan ketika lingkungan perangkat lunak berkembang,
serta perubahan sehubungan dengan perkembangan yang
disebabkan oleh perubahan kebutuhan pelanggan.
Ada 4 tipe perubahan yang terjadi selama masa fase
pemeliharaan yaitu :
Koreksi.
Pemeliharaan korektif mengubah perangkat lunak,
membetulkan cacat atau kerusakan.
Adaptasi.
Pemeliharaan adaptif menghasilkan modifikasi pada
perangkat lunak untuk mengakomodasi perubahan pada
kebutuhan fungsional originalnya.
Perkembangan (Enhancement).
Pemeliharaan perfektif memperluas perangkat lunak
sehingga melampaui kebutuhan fungsi originalnya.
Pencegahan.
Pada dasarnya pemeliharaan preventif melakukan
perubahan pada program komputer sehingga bisa
menjadi lebih mudah untuk dikoreksi, disesuaikan dan
dikembangkan.
3. Proyek.
Proyek adalah suatu usaha temporer yang dilakukan untuk
membuat suatu produk atau layanan yang unik. Proyek
biasanya mencakup beberapa orang yang mengerjakan
aktifitas yang berhubungan dan pelanggan utama proyek
sering tertarik pada penggunaan sumber daya yang efektif
untuk menyelesaikan proyek dalam satu cara yang efektif
dan tepat waktu. Atribut berikut ini membantu mendefinisikan
proyek lebih lanjut :
Suatu proyek mempunyai kegunaan yang unik. Setiap
proyek harus mempunyai objektif yang jelas.
Suatu proyek adalah temporer. Suatu proyek mempunyai
batas waktu untuk mulai dan berakhir.
Suatu proyek membutuhkan sumber daya yang seringkali
berasal dari berbagai area. Sumber daya yang meliputi
orang, hardware, software atau aset-aset yang lain.
Banyak proyek lintas departemen atau batasan lain untuk
mencapai kegunaan uniknya.
Suatu proyek harus mempunyai pelanggan utama atau
sponsor. Banyak proyek mempunyai beberapa pihak
4
5. Buku Ajar Rekayasa Perangkat Lunak
yang berkepentingan atau stakeholders, tetapi seseorang
harus mengambil peran sebagai sponsor utama. Sponsor
proyek biasanya mengarahkan dan mendanai proyek.
Suatu proyek melibatkan ketidak pastian. Karena setiap
proyek adalah unik, maka terkadang sulit untuk
mendefinisikan objektif proyek dengan jelas,
memperkirakan berapa lama proyek ini akan diselesaikan
atau berapa banyak biaya yang dibutuhkan.
Gambar 1.2. Triple constraint manajemen proyek.
Seorang manajer proyek yang baik penting bagi keberhasilan
proyek. Manajer proyek bekerja dengan sponsor proyek, tim
proyek dan orang lain yang termasuk dalam sebuah proyek
untuk mencapai tujuan proyek.
Setiap proyek terbatas dalam cara yang berbeda dalam hal
ruang lingkupnya, waktu dan biaya. Keterbatasan ini dalam
5
6. Buku Ajar Rekayasa Perangkat Lunak
manajemen proyek dikenal sebagai triple constraint. Untuk
membuat suatu poyek berhasil, seorang manajer proyek harus
mempertimbangkan ruang lingkup, waktu dan biaya serta
keseimbangan ketiganya dalam mencapai tujuannya.
4. Manajemen proyek.
Manajemen proyek adalah penerapan dari pengetahuan,
keterampilan, tools dan teknik pada aktifitas proyek untuk
memenuhi kebutuhan proyek. Manajer proyek tidak hanya
harus bekerja keras untuk memenuhi lingkup, biaya, waktu
dan kualitas sebagai tujuan proyek tertentu, mereka juga
harus memfasilitasi seluruh proses untuk memenuhi kebutuhan
dan harapan dari orang-orang yang termasuk atau
berpengaruh dalam aktifitas proyek.
Stakeholders adalah orang-orang yang termasuk atau
berpengaruh dalam aktifitas proyek dan meliputi sponsor
proyek, tim proyek, staf pendukung, pelanggan, pamakai,
penyalur dan bahkan lawan-lawan proyek. Stakeholders ini
seringkali mempunyai kebutuhan dan harapan yang
berbeda.
Gambar 1.3. Kerangka kerja manajemen proyek.
Area pengetahuan manajemen proyek menjelaskan
kemampuan kunci yang harus dibangun manajer proyek. 4
area pengetahuan manajemen proyek inti yang meliputi
lingkup, waktu, biaya dan manajemen kualitas proyek. Berikut
6
7. Buku Ajar Rekayasa Perangkat Lunak
ini area pengetahuan inti yang menyebabkan menuju pada
objektif proyek tertentu.
Manajemen lingkup proyek yang meliputi mendefinisikan
dan mengatur semua pekerjaan yang dibutuhkan agar
proyek berhasil.
Manajemen waktu proyek yang meliputi perkiraan
seberapa lama suatu pekerjaan diselesaikan,
membangun jadwal yang dapat diterima dan
memastikan waktu penyelesaian proyek.
Manajemen biaya proyek yang berisi mengatur dan
menyiapkan anggaran untuk proyek.
Manajemen kualitas proyek memastikan bahwa proyek
akan memenuhi kebutuhan yang dinyatakan yang telah
dikerjakan.
4 area pengetahuan yang memfasilitasi manajemen proyek
adalah sebagai berikut :
Manajemen sumber daya manusia proyek terkait dengan
mengefektifkan penggunaan orang-orang yang termasuk
dalam proyek.
Manajemen komunikasi proyek yang meliputi membuat,
mengumpulkan, menyebarkan dan menyimpan informasi
proyek.
Manajemen risiko proyek yang meliputi identifikasi, analisis
dan respon terhadap risiko yang berhubungan pada
proyek.
Manajemen prasyarat proyek meliputi pengadaan
barang dan layanan untuk proyek dari luar organisasi.
Manajemen integrasi proyek adalah area pengetahuan yang
ke 9 adalah melingkupi fungsi yang berpengaruh dan
dipengaruhi oleh semua area pengetahuan. Manajer proyek
harus memiliki pengetahuan dan keterampilan dalam 9 dari
area-area ini.
Manajemen tools dan teknik proyek membantu manajer
proyek dan timnya dalam menyelesaikan manajemen
lingkup, waktu, biaya dan kualitas. Dalam beberapa
organisasi manajer proyek juga mendukung suatu munculnya
strategi bisnis dari manajemen portfolio proyek.
7
8. Buku Ajar Rekayasa Perangkat Lunak
Tabel 1.1. Manajemen tools dan teknik proyek dengan area
pengetahuannya.
Area Pengetahuan Alat dan Teknik
Manajemen Integrasi Analisis Stakeholder
Rencana Proyek
Software Manajemen Proyek
Papan Kendali Perubahan
Manajemen Konfigurasi
Pertemuan Review Proyek
Sistem Otorisasi Kerja
Kepemimpinan Proyek
Pensponsoran Eksekutif
Manajemen Lingkup Net Present Value
Return On Investment
Payback
Model Penilaian Terbobot
Kasus-kasus Bisnis
Project Charters
Pernyataan Lingkup
Work Breakdown Structure
Pernyataan Kerja
Analisis Kebutuhan
Kendali Perubahan Lingkup
Manajemen Waktu Bagan Gantt
Diagram Jaringan
Critical Path Analysis
Teknik Review Evaluasi Program
Critical Chain Scheduling
Crashing
Pelacakan Cepat
Review Milestone
Manajemen Biaya Manajemen Earned Value
Manajemen Portfolio Proyek
Perkiraan Biaya
Rencana Manajemen Biaya
Software Finansial
Manajemen Kualitas Six Sigma
Bagan Kendali Kualitas
Diagram Pareto
Diagram Fishbone atau Ishikawa
8
9. Buku Ajar Rekayasa Perangkat Lunak
Area Pengetahuan Alat dan Teknik
Audit Kulitas
Model Kematangan
Metode Statistik
Manajemen Sumber Teknik Motivasi
Daya Manusia Pendengaran Empatis
Kontrak Tim
Responsibility Assignment Matrices
Histogram Sumber Daya
Pembebanan Sumber Daya
Leveling Sumber Daya
Pelatihan Pembangunan Tim
Manajemen Komunikasi Rencana Manajemen Komunikasi
Manajemen Konflik
Pemilihan Media Komunikasi
Infrastruktur Komunikasi
Pelaporan Status
Pertemuan
Komunikasi Virtual
Template
Website Poyek
Manajemen Analisis Make-Buy
Pengadaan Kontrak
Request For Poposal atau Quotes
Pemilihan Source
Negosiasi
E-Procurement
Manajemen Risiko Rencana Manajemen Risiko
Matriks Probability/Impact
Tingkatan Risiko
Simulasi Monte Carlo
Penelusuran Sepuluh Besar Item
Risiko
Rangkuman
Perangkat lunak adalah : perintah, struktur data, dan dokumen.
Ada dua tipe produk perangkat lunak, yaitu produk generik dan
produk pesanan. Karakteristik produk perangkat lunak yang baik
adalah dapat dipelihara, dapat diandalkan, efisien, dan
kemampupakaian.
9
10. Buku Ajar Rekayasa Perangkat Lunak
Definisi menurut IEEE, rekayasa perangkat lunak adalah : aplikasi
dari sebuah pendekatan kuantifiabel, disiplin dan sistematis pada
pengembangan, operasi dan pemeliharaan perangkat lunak
beserta studi pendekatannya. Usaha yang berhubungan dengan
rekayasa perangkat lunak dapat dikategorikan ke dalam 3 fase
umum dengan tanpa mempedulikan area aplikasi, ukuran proyek
dan kompleksitasnya yaitu fase definisi, fase pengembangan, dan
fase pemeliharaan.
Proyek adalah suatu usaha temporer yang dilakukan untuk
membuat suatu produk atau layanan yang unik.
Manajemen proyek adalah penerapan dari pengetahuan,
keterampilan, tools dan teknik pada aktifitas proyek untuk
memenuhi kebutuhan proyek. Area pengetahuan manajemen
proyek menjelaskan kemampuan kunci yang harus dibangun
manajer proyek. 4 area pengetahuan manajemen proyek inti
yang meliputi lingkup, waktu, biaya dan manajemen kualitas
proyek. 4 area pengetahuan yang memfasilitasi manajemen
proyek yaitu sumber daya manusia, komunikasi proyek, risiko
proyek, prasyarat proyek. Manajemen intergrasi proyek, area
pengetahuan yang ke 9 adalah melingkupi fungsi yang
berpengaruh dan dipengaruhi oleh semua area pengetahuan.
Manajer proyek harus memiliki pengetahuan dan keterampilan
dalam 9 dari area-area ini.
Latihan/Tugas/Test Mandiri
1. Jelaskan apa yang dimaksud dengan perangkat lunak !
2. Jelaskan karakteristik produk perangkat lunak yang baik !
3. Jelaskan apa yang dimaksud dengan rekayasa perangkat
lunak !
4. Usaha yang berhubungan dengan rekayasa perangkat lunak
dapat dikategorikan ke dalam 3 fase umum, jelaskan !
5. Jelaskan apa yang dimaksud dengan proyek !
6. Jelaskan apa yang dimaksud dengan triple constraint
manajemen proyek !
7. Jelaskan apa yang dimaksud dengan manajemen proyek !
8. Jelaskan tentang 9 area pengetahuan manajemen proyek !
10