pengembangan perangkat lunak - gunadarma...
Post on 26-Apr-2019
235 Views
Preview:
TRANSCRIPT
Pengembangan Perangkat Lunak
Fakultas Ilmu Komputer dan Teknologi Informasi
Jurusan Sistem Informasi
Univesitas Gunadarma
Tujuan Pembelajaran
Memahami langkah-langkah agar dapat
mengorganisir pengembangan perangkat
lunak.
Materi Perkuliahan
Sumber perangkat lunak aplikasi.
Mengorganisir proyek pengembangan perangkat lunak.
Merancang dan memprogram perangkat lunak.
Mengukur produktivitas dalam pengembangan
perangkat lunak.
Memproduksi perangkat lunak berkualitas tinggi.
Merencanakan proyek siklus hidup pengembangan
perangkat lunak.
Pengembangan Perangkat Lunak
Pengembangan perangkat lunak (Software development)
adalah tahapan desain terinci atau detail dalam SDLC.
Tim proyek sistem mencari paket perangkat lunak
komersil yang sesuai atau mendukung perancangan
sistem.
Perangkat lunak yang dibuat sendiri dari awal (scratch).
Sumber Perangkat Lunak Aplikasi
Perangkat Lunak Komersil dari Vendor
Perangkat Lunak Pesanan (Customized
Software) dikembangkan secara In-House
Perangkat Lunak Komersil dari
Vendor Paket perangkat lunak aplikasi yang ada dapat
diterapkan pada berbagai kebutuhan bisnis.
Paket perangkat lunak aplikasi bersifat
generik dan multifungsional serta tidak
bervariasi.
Perangkat Lunak Komersil
Keuntungan Perangkat Lunak Komersil :
1. Implementasi yang cepat
2. Penghematan biaya
3. Estimasi biaya dan waktu
4. Reliabilitas
Kekurangan Perangkat Lunak Komersil :
1. Kesesuaian rancangan sistem yang tidak baik
2. Ketergantungan vendor
3. Biaya tidak langsung dari kerusakan SDLC
Permohonan Proposal Berorientasi
Kinerja Request For Proposal (RFP) digunakan untuk menyeleksi
vendor dan paket perangkat lunak komersil yang tepat
serta sesuai.
Faktor evaluasi mencakup pemenuhan spesifikasi
rancangan detail untuk output, input, proses, database,
waktu dan biaya serta benchmark (prototyping) pada
setiap paket dari vendor.
Penilaian Paket Vendor
Benchmark
Kinerja pengoperasian (Operating
performance)
Dokumentasi
Mudah dipelajari
Mudah digunakan
Pengendalian dan penanganan kesalahan
Dukungan (Support)
Menyeleksi Paket Vendor
Paket software dari vendor yang
menawarkan manfaat besar dan biaya murah.
Bobot relatif ditentukan dari penilaian setiap
faktor kinerja umum dengan total 100.
Contoh Penilaian Kinerja Umum
Biaya atau harga paket vendor A adalah $22.700
Biaya atau harga paket vendor B adalah $27.690
Berapa skor masing-masing vendor ? Paket mana yang dipilih ?
Faktor Kinerja Umum Bobot Vendor A Vendor B
Nilai Nilai
Penilaian vendor 10 6 8
Kinerja pengoperasian 20 7 8
Dokumentasi 10 8 9
Kemudahan belajar 20 7 6
Kemudahan pemakaian 10 5 6
Kendali dan penanganan kesalahan 20 4 6
Dukungan 10 7 8
Faktor Kinerja Umum Bobot Vendor A Vendor B
Nilai Skor Nilai Skor
Penilaian vendor 10 6 60 8 80
Kinerja pengoperasian 20 7 140 8 160
Dokumentasi 10 8 80 9 90
Kemudahan belajar 20 7 140 6 120
Kemudahan pemakaian 10 5 50 6 60
Kendali dan penanganan kesalahan 20 4 80 6 120
Dukungan 10 7 70 8 80
Total 100 620 710
+
X
Biaya total Angka
Penilaian
Total
Vendor
Biaya per
angka
penilaian
Vendor A $ 22.700 620 $ 37
Vendor B $ 27.690 710 $ 39
/
Soal Penilaian Kinerja Vendor
Biaya atau harga paket vendor A adalah Rp. 520.000
Biaya atau harga paket vendor B adalah Rp. 320.000
Biaya atau harga paket vendor C adalah Rp. 420.000
Nilai skor masing-masing vendor ? Paket mana yang dipilih ?
Faktor Kinerja Umum Bobot Vendor A Vendor B Vendor C
Nilai Nilai Nilai
Penilaian vendor 20 25 8 5
Kinerja pengoperasian 25 23 12 15
Dokumentasi 10 10 19 24
Kemudahan belajar 15 15 22 15
Kemudahan pemakaian 5 35 13 10
Kendali dan penanganan kesalahan 15 20 16 8
Dukungan 10 8 17 7
Perangkat Lunak Pesanan (Customized
Software)/In-House
Paket perangkat lunak yang tidak didukung oleh paket
software yang ada.
Paket perangkat lunak yang memesan sendiri dari
perusahaan jasa/kontraktor independen atau
membangun sendiri perangkat lunak (in-house) sesuai
dengan rancangan sistem.
Paket perangkat lunak yang dibangun mengikuti
tahapan SWDLC (Design, Code, Test).
Mengorganisasi Proyek Pengembangan
Perangkat Lunak
Tim proyek pengembangan perangkat lunak :
perancangan dan analisis sistem.
Pendekatan Organisasional
1. Tim Pengembangan Program (Program Development
Team)
2. Tim Programmer Kepala (Chief Programmer Team)
3. Tim Pemrograman Bersama (Egoles Programming
Team)
Tim Pengembangan Program
(Program Development Team) Tim pengembangan program dikelola oleh manajer
tim atau seseorang yang terlibat dalam SDLC dari
awal.
Tim pengembangan program didukung oleh
perancang, pengkode dan penguji dengan aturan 40-
20-40 (2-1-2).
Tim Programmer Kepala (Chief
Programmer Team) Tim programmer kepala dibentuk dari programmer
kepala atau senior yang memiliki banyak pengalaman
dan pengetahuan pemrograman.
Programmer kepala didukung oleh asisten utama yang
bertugas sebagai komunikator pada tim atau sebagai
penyampai informasi dari programmer kepala.
Tim Pemrograman Bersama (Egoless
programming Team) Tim yang terbentuk dari seluruh rekan yang bersama-
sama bertanggung jawab atas pengembangan
perangkat lunak tanpa supervisi langsung/pimpinan.
Perbedaan Pendekatan Tiga Tim
Tim pengembangan program mengembangkan dengan
aturan 40-20-40 dengan menekankan pada
perancangan dan pengujian.
Tim programmer kepala dan team pemrograman
bersama menekankan pada fungsi pengkodean.
Jumlah Interface dan Lintasan Komunikasi
Tim Pengembangan Program
Total interface dan lintasan komunikasi ada 5 dan 1
interface manajemen.
Jumlah Interface dan Lintasan Komunikasi
Team Programmer Kepala
Jumlah Interface dan Lintasan Komunikasi
Team Pemrogram Bersama
Jumlah interface dan lintasan komunikasi = n(n-1)/2
Mengukur Produktivitas Dalam Pengembangan
Perangkat Lunak
Mengukur Produktivitas :
Input yang dikonsumsi dapat diukur, sedangkan output yang dihasilkan tidak mudah diukur.
Mengukur output pengembangan perangkat lunak dengan menggunakan teknik metrik.
Metrik yang digunakan adalah :
1. Jalur Kode yang bisa dieksekusi (Line Of Executable Code atau LOEC)
2. Titik Fungsi (Function Point)
Jalur Kode yang bisa Dieksekusi (LOEC)
Metrik LOEC bercakup pada pengkodean.
Keuntungan menggunakan metrik LOEC sebagai
ukuran produktivitas output perangkat lunak :
1. Mudah ditetapkan dan dibahas secara jelas.
2. Diakui secara luas.
3. Mudah diukur.
4. Mudah digunakan untuk estimasi.
Contoh LOEC
Program yang diusulkan berisi 100K LOEC. Jika 2K
LOEC dihasilkan satu orang per bulan. Inputan yang
diperlukan untuk mendukung satu orang per bulan
sebesar $ 9.000.
Maka :
1. Berapa orang dibutuhkan untuk menyelesaikan
proyek tersebut ?
2. Biaya yang dikeluarkan untuk menyelesaikan proyek
tersebut ?
Jawab :
Maka untuk menyelesaikan proyek tersebut
diperlukan 50 orang perbulan dengan
membutuhkan biaya sebesar $450.000
Metrik Titik Fungsi (Function Point)
Metrik titik fungsi dirancang untuk mengatasi
kelemahan metrik LOEC.
Lima fungsi yang dianalisis untuk diukur profesional
sistem adalah :
1. Jumlah input
2. Jumlah output
3. Jumlah inquery yang diminta oleh end user
4. Jumlah file logic yang diakses dan digunakan
5. Jumlah interface ke aplikasi lain
Metrik Titik Fungsi (Function Point)
Metrik titik fungsi mengukur yang diberikan oleh tim
pengembang perangkat lunak kepada end user.
Metrik mencakup perancangan, pengkodean dan
pengujian.
Metrik mengukur efisiensi dan efektifitas.
Keuntungan metrik titik fungsi adalah :
1. Mengukur produktivitas perangkat lunak
menggunakan cara seragam tanpa memandang
bahasa yang digunakan.
2. Mengukur efisiensi dan efektivitas. Efisiensi : sumber
yang dikonsumsi, efektivitas : kualitas program.
Contoh Menghitung Titik Fungsi
Derajat kompleksitas :
1. Rendah untuk Input = 2, Output dan Inquery = 3, File dan
Interface = 4
2. Sedang untuk Input dan Output = 5, Inquery dan Interface = 6,
File = 7
3. Tinggi untuk Input dan Inquery = 8. Output = 9, File dan Interface
= 10
Titik Fungsi Tingkat Kompleksitas
Rendah Sedang Tinggi
Input 12 3 12
Output 10 15 14
Inquery 10 16 17
File 9 20 10
Interface 12 20 20
Pertanyaan :
Jumlah total titik fungsi ?
Tingkat produktivitas pengembangan ? Jika jumlah
person-month = 8 titik fungsi
Biaya satu person-month ? Jika satu person-month
mengkonsumsi $10.000
Biaya yang dihemat ? Jika biaya per person-month
meningkat menjadi $12.000 dan jumlah person-month
meningkat menjadi 62 titik fungsi per person-month.
Titik Fungsi Tingkat Kompleksitas Total
Rendah Sedang Tinggi
Input 12 x 2 = 24 3 x 5 = 15 12 x 8 = 96 135
Output 10 x 3 = 30 15 x 5 = 75 14 x 9 = 126 231
Inquery 10 x 3 = 30 16 x 6 = 96 17 x 8 = 136 262
File 9 x 4 = 36 20 x 7 = 140 10 x 10 = 100 276
Interface 12 x 4 = 48 20 x 6 = 120 20 x 10 = 200 368
Total Titik Fungsi 1272
+
+
Jumlah total titik fungsi = 1272
Jumlah person-month = 8 titik fungsi (dari soal)
Jika satu person-month mengkonsumsi $10.000 maka
biaya proyek = $10.000 x 159 = $1.590.000
Jika biaya per person-month meningkat dari $10.000
menjadi $12.000
Jumlah person-month meningkat menjadi 62 titik
fungsi per person-month.
Jika satu person-month mengkonsumsi $12.000 maka
biaya proyek = $246.000 ($12.000 x 20,5)
Penghematan biaya = $1.344.000 ($1.590.000 - $
246.000)
Contoh Soal Titik Fungsi
Derajat Kompleksitas : (Rendah=1), (Sedang=5), (Tinggi=10)
Jumlah total titik fungsi ?
Tingkat produktivitas pengembangan ? Jika jumlah person-month = 10 titik fungsi
Biaya satu person-month ? Jika satu person-month mengkonsumsi Rp. 2.500
Titik Fungsi Tingkat Kompleksitas
Tinggi Sedang Rendah
Input 35 25 25
Output 25 15 15
Inquery 30 10 10
File 10 10 25
Interface 20 25 30
Jika dilakukan instalasi teknologi CASE sehingga
mengadopsi CASE dengan biaya per person-month
meningkat 10% dari titik fungsi dan diikuti dengan
tingkat produktifitas pengembangan yang meningkat
sebesar 20%.
Maka biaya yang dapat dihemat dari peningkatan
CASE ?
Memproduksi Perangkat Lunak
Berkualitas Tinggi
Menghasilkan perangkat lunak berkualitas tinggi pada
tingkat produktivitas tinggi.
Dimensi untuk Mengukur Kualitas Perangkat Lunak
1. Faktor kinerja (sudut pandang end user)
2. Faktor disain
3. Faktor strategik
Jamian Kualitas (Quality Assurance atau QA) : pemonitoran
terus menerus terhadap tahapan pengembangan sistem
dan PL. Teknik pencegahan kesalahan.
Pengendali Kualitas (Quality Control) : berfokus pada produk
mengenai apa yang dihasilkan, evaluasi sistem dan PL
setelah dikembangkan. Teknik penghapusan kesalahan.
Tugas QA :
1. Menentapkan standar pengembangan sistem dan PL
2. Mengevaluasi laporan terdokumentasi
3. Menjalankan tahapan pemeriksaan rancangan sistem dan
PL
4. Melakukan tahapan pemeriksaan pengkodean
5. Menjalankan pengujian
Merencanakan Proyek Siklus Hidup
Pengembangan Perangkat Lunak (SWDLC)
Manajer proyek menjadwal dan memonitor semua tugas untuk menyelesaikan SWDLC dengan teknik tinjauan dan evaluasi program PERT (Program Evaluation Review and Technic)
PERT digunakan untuk menentukan rangkaian atau urutan pelaksanaan tugas pengembangan perangkat lunak untuk mengestimasi lamanya waktu yang diperlukan dari awal sampai selesainya pelaksanaan tugas.
Jalur kritis (critical path) adalah lamanya proyek yang terdiri atas serangkaian tugas yang dijalankan secara urut.
Contoh Perencanaan PERT Node Aktivitas Aktivitas Pendahulu Durasi
0,1 A - 4
0,2 B - 8
0,3 C - 7
1,4 D A 15
2,4 E B 6
2,5 F B 12
3,6 G C 9
6,7 H G,L 11
4,8 I D,E 3
5,8 J F 10
7,8 K H 5
5,6 L (dummy) F 0
Bentuk Diagram PERT
Dengan ketentuan (Aktivitas,Lama Kegiatan) masing-
masing adalah :
(A,4) ; (B,8) ; (C,7) ; (D,15) ; (E,6) ; (F,12) ; (G,9) ; (H,11) ;
(I,3) ; (J,10) ; (K,5) ; (L,0)
Pertanyaan
Dengan menggunakan metode Forward Pass
berapakan nilai Early Start (ES) untuk simpul kejadian
6 ?
Dengan menggunakan metode Backward Pass
berapakan nilai Latest Finish (LF) untuk simpul
kejadian 2 ?
Jalur mana yang merupakan Jalur Kritis ?
Berapa Jalur Kritis dari diagram PERT tersebut ?
Contoh Pemanfaatan PERT
Dengan ketentuan (Kejadian, Waktu Estimasi) masing-
masing adalah :
(A,10) ; (B,8) ; (C,12) ; (D,22) ; (E,27) ; (F,7) ; (G,15) ; (H,8) ;
(I,20) ; (J,15)
Pertanyaan
Dengan menggunakan metode Forward Pass
berapakan nilai Early Start (ES) untuk simpul kejadian
5 ?
Dengan menggunakan metode Backward Pass
berapakan nilai Latest Finish (LF) untuk simpul
kejadian 5 ?
Jalur mana yang merupakan Jalur Kritis ?
Berapa Jalur Kritis dari diagram PERT tersebut ?
top related