Buku ajar kecil 01

13
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

description

 

Transcript of Buku ajar kecil 01

Page 1: Buku ajar kecil 01

Buku Ajar Rekayasa Perangkat Lunak

BAB 1Pendahuluan.

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, termasuk keandalan, keamanan, dan keselamatan.

1

Page 2: Buku ajar kecil 01

Buku Ajar Rekayasa Perangkat Lunak

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 pada sebuah komitmen dasar menuju kualitas. Batu landasan yang menopang rekayasa

2

Page 3: Buku ajar kecil 01

Buku Ajar Rekayasa Perangkat Lunak

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 dibutuhkan ketika lingkungan perangkat lunak berkembang, serta perubahan sehubungan dengan perkembangan yang disebabkan oleh perubahan kebutuhan pelanggan.

3

Page 4: Buku ajar kecil 01

Buku Ajar Rekayasa Perangkat Lunak

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 yang berkepentingan atau stakeholders, tetapi seseorang harus mengambil peran sebagai sponsor utama. Sponsor proyek biasanya mengarahkan dan mendanai proyek.

4

Page 5: Buku ajar kecil 01

Buku Ajar Rekayasa Perangkat Lunak

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 manajemen proyek dikenal sebagai triple constraint. Untuk membuat suatu poyek berhasil, seorang manajer proyek

5

Page 6: Buku ajar kecil 01

Buku Ajar Rekayasa Perangkat Lunak

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

6

Page 7: Buku ajar kecil 01

Buku Ajar Rekayasa Perangkat Lunak

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.

Tabel 1.1. Manajemen tools dan teknik proyek dengan area pengetahuannya.

Area Pengetahuan Alat dan TeknikManajemen Integrasi Analisis Stakeholder

Rencana ProyekSoftware Manajemen ProyekPapan Kendali Perubahan

7

Page 8: Buku ajar kecil 01

Buku Ajar Rekayasa Perangkat Lunak

Area Pengetahuan Alat dan TeknikManajemen KonfigurasiPertemuan Review ProyekSistem Otorisasi KerjaKepemimpinan ProyekPensponsoran Eksekutif

Manajemen Lingkup Net Present ValueReturn On InvestmentPaybackModel Penilaian TerbobotKasus-kasus BisnisProject ChartersPernyataan LingkupWork Breakdown StructurePernyataan KerjaAnalisis KebutuhanKendali Perubahan Lingkup

Manajemen Waktu Bagan GanttDiagram JaringanCritical Path AnalysisTeknik Review Evaluasi ProgramCritical Chain SchedulingCrashingPelacakan CepatReview Milestone

Manajemen Biaya Manajemen Earned ValueManajemen Portfolio ProyekPerkiraan BiayaRencana Manajemen BiayaSoftware Finansial

Manajemen Kualitas Six SigmaBagan Kendali KualitasDiagram ParetoDiagram Fishbone atau IshikawaAudit KulitasModel KematanganMetode Statistik

Manajemen Sumber Daya Manusia

Teknik MotivasiPendengaran EmpatisKontrak TimResponsibility Assignment Matrices

8

Page 9: Buku ajar kecil 01

Buku Ajar Rekayasa Perangkat Lunak

Area Pengetahuan Alat dan TeknikHistogram Sumber DayaPembebanan Sumber DayaLeveling Sumber DayaPelatihan Pembangunan Tim

Manajemen Komunikasi

Rencana Manajemen KomunikasiManajemen KonflikPemilihan Media KomunikasiInfrastruktur KomunikasiPelaporan StatusPertemuanKomunikasi VirtualTemplateWebsite Poyek

Manajemen Pengadaan Analisis Make-BuyKontrakRequest For Poposal atau QuotesPemilihan SourceNegosiasiE-Procurement

Manajemen Risiko Rencana Manajemen RisikoMatriks Probability/ImpactTingkatan RisikoSimulasi Monte CarloPenelusuran Sepuluh Besar Item Risiko

RangkumanPerangkat 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. 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.

9

Page 10: Buku ajar kecil 01

Buku Ajar Rekayasa Perangkat Lunak

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 Mandiri1. 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