Perangkat Lunak
1
LATAR BELAKANG
Ketidak efisienan, kurang berhasilnya bahkan kegagalan
pengembangan sistem sampai pada tahun 70-an.
Tidak tersedianya teknik pengembangan perangkat lunak
yang baik.
Metodologi-metodologi pengembangan perangkat lunak
yang cukup baik mulai muncul pada awal tahun 70-an.
2
PROSES PERANGKAT LUNAK
Metode, yaitu suatu cara atau teknik pendekatan yang sistematik yang
dipergunakan untuk mengembangkan perangkat lunak. Metode ini
mencakup : Perencanaan proyek dan perkiraan, analisis keperluan sistem
dan perangkat lunak, perancangan struktur data, arsitektur program,
prosedur algoritma, Coding, uji coba dan pemeliharaan.
Alat bantu (Tools), yaitu alat-alat (manual atau otomatis) yang
mendukung pengembangan perangkat lunak. Terdapat 2 alat Bantu yang
dapat digunakan yaitu : alat Bantu manual dan alat Bantu otomatis.
Prosedur, yang dipergunakan untuk mendefinisikan urut-urutan
pekerjaan (daur) dari metode dan alat bantu tersebut.
5
DAUR HIDUP PENGEMBANGAN PERANGKAT
LUNAK
Phase
Phase
6
TAHAPAN
Tahapan analisis dan desain
merupakan tahapan yang paling penting sebagai tahapan awal yang
dalam suatu paradigma pengembangan perangkat lunak, karena sangat
mempengaruhi tahapan selanjutnya
Tahap implementasi perangkat lunak
bertujuan untuk menerapkan spesifikasi kebutuhan perangkat lunak ke
dalam bahasa pemrograman tertentu.
Tahap pengujian perangkat lunak
dilakukan untuk menemukan kesalahan (bug) yang mungkin terdapat di
dalam sebuah perangkat lunak.
Tahap perawatan perangkat lunak
fokusnya adalah pengubahan.
Ada tiga pengubahan yaitu :
Pembetulan,
Adaptasi (perbaikan terhadap lingkungan) dan
Perluasan (penambahan karena permintaan pemakai). 7
PROSES PENGEMBANGAN PERANGKAT LUNAK
Suatu proses dimana kebutuhan pemakai diterjemahkan menjadi produk
perangkat lunak.
Proses ini mencakup aktivitas penerjemahan kebutuhan pemakai menjadi
kebutuhan perangkat lunak, transformasi kebutuhan perangkat lunak
menjadi desain, penerapan desain menjadi kode program, uji coba kode
program, dan instalasi serta pemeriksaan kebenaran perangkat lunak untuk
operasional (IEEE. 1990).
Tahapan proses pengembangan perangkat lunak :
1. Menentukan APA yang harus dikerjakan oleh perangkat lunak
dalam satu rentang waktu tertentu.
2. Mendefinisikan BAGAIMANA perangkat lunak dibuat, mencakup
arsitektur perangkat lunaknya, antar muka internal, algoritma, dan
sebagainya.
3. Penerapan (penulisan program) dan pengujian unit-unit program. 8
4. Integrasi dan pengujian modul-modul program.
5. Validasi perangkat lunak secara keseluruhan (pengujian sistem).
SIKLUS PENGEMBANGAN PERANGKAT
LUNAK
Periode waktu yang diawali dengan keputusan untuk
mengembangkan produk perangkat lunak dan berakhir
setelah perangkat lunak diserahkan. Umumnya siklus
pengembangan ini terdiri dari tahap analisis
kebutuhan, perancangan, penerapan, pengujian, dan
instalasi serta pemeriksaan.
Periode waktu yang diawali dengan keputusan untuk
mengembangkan produk perangkat lunak dan berakhir
saat produk tidak dapat ditingkatkan lebih jauh lagi
oleh pengembang.
9
MODEL PROSES PL
Model Proses PL Cara atau strategi bagaimana
perangkat lunak dibuat sedemikian rupa sehingga produk
perangkat lunak tersebut dapat diwujudkan
Jenis Model Proses PL :
1. Water Fall
2. Evolutionary Software
a) Incremental Approach
b) Prototyping Model
c) Spiral approach
d) Rapid Application Development (RAD)
e) Pengembangan Evolusioner
3. Reuse-Oriented Model
10
1. WATERFALL
Model pertama kali diperkenalkanoleh Winston Royce tahun
1970.
Waterfall Model merupakan model klasik yang sederhana
dengan aliran sistem yang linier.
Output dari setiap tahap merupakan input bagi tahap berikutnya.
Model ini melibatkan tim SQA (Software Quantity Assurance)
dengan 5 tahapan, dimana setiap tahapan selalu dilakukan
verifikasi atau testing.
11
MODEL WATERFALL
Menurut I Soumenville
12
FASE-FASE PADA WATERFALL MODEL
13
KELEMAHAN
14
2. EVOLUTIONARY SOFTWARE
Bersifat iteratif / mengadung perulangan. Hasil proses
berupa produk yang makin lama lengkap sampai versi
terlengkap dihasilkan sebagi produk akhir dari proses.
Jenis Evolutionary software :
a) Incremental Approach
b) Prototyping Model
c) Spiral approach
d) Rapid Application Development (RAD)
e) Pengembangan Evolusioner
15
A). INCREMENTAL APPROACH
Pengembangan sistem berdasarkan model sistem
yang dipecah sehingga model pengembangannya
secara increament / bertahap
Kebutuhan pengguna diprioritaskan dan prioritas
tertinggi dimasukkan dalam awal increment
Setelah pengembangan suatu increment dimulai,
kebutuhan dibekukan dulu hingga increment
berikutnya dimulai
16
KARAKTERISTIK
1. Kebutuhan user menjadi prioritas tertinggi dimasukkan dalam
awal increment.
delivery of
increment 2 analysis design code test
2nd increment
delivery of
4th increment
calendar time
19
KENDALA
20
KELEBIHAN
Pihak konsumen dapat langsung menggunakan dahulu bagian-
bagian yang telah selesai dibangun. Contoh: Pemasukan data
karyawan.
Klien dibiasakan perlahan-lahan menggunakan produknya
bagian per bagian.
Memaksimalkan pengembalian modal investasi konsumen.
Memberikan kualitas produk operasional pada setiap tahap
tetapi hanya satu yang memenuhi persyaratan dari klien.
Resiko untuk kegagalan proyek secara keseluruhan lebih
rendah.
Merupakan model dengan manajemen yang sederhana.
21
KEKURANGAN
Setiap tambahan yang dibangun harus dimasukkan kedalam
struktur yang ada tanpa menurunkan kualitas dari yang telah
dibangun system tersebut sampai saat ini.
Kemungkinan tiap bagian tidak dapat diintegrasikan.
Mungkin terjadi kesulitan untuk memetakan kebutuhan
pengguna ke dalam rencana spesifikasi masing-masing hasil
increment.
22
B). PROTOTYPING MODEL
23
PENDEKATAN PROTOTIPE
Identifikasi Pengembang dan pemakai bertemu
Kebutuhan Pemakai menjelaskan kebutuhan
Pemakai sistem
24
PROTOTIPE BAIK DIPAKAI PADA KEADAAN
Sistem mempunyai resiko tinggi
Tidak jelas permasalahannya
Tidak jelas kebutuhan & keinginan
Tidak pasti ada yang ingin dilakukan
25
User ingin cepat selesai
User tidak sabar menunggu
Prototipe segera memperlihatkan bentuk kerja sistem
Kebutuhan berubah-ubah
User sulit menjelaskan kebutuhan
Menjadi keadaan yang paling umum untuk memakai prototyping
26
C). SPIRAL APPROACH
Proses direpresentasikan sebagai model spiral (bukan
berupa barisan aktfitas yang dapat ditrack mundur)
Setiap loop dalam model spiral menyatakan fase proses,
Tidak terdapat fase tertentu seperti spesifikasi atau
perancangan, tetapi loop dalam spiral ditentukan pada
apa yang dibutuhkan
27
SPIRAL MODEL
28
KETERANGAN
Loop paling dalam berfokus pada kelayakan dari sistem,
Loop selanjutnya tentang definisi dari kebutuhan,
29
SEKTOR-SEKTOR
30
AN EVOLUTIONARY (SPIRAL) MODEL
Pla nn in g
Risk Ana lysis
C usto m e r
C o m m unic a tio n
C usto m e r
Eva lua tio n C o nstruc tio n & Re le a se
31
KETERANGAN
32
KARAKTERISTIK
Pada model spiral, resiko sangat dipertimbangkan.
Resiko adalah sesuatu yang mungkin mengakibatkan
kesalahan.
Model spiral merupakan pendekatan yang realistik untuk PL
berskala besar.
Pengguna dan pembangun bisa memahami dengan baik
software yang dibangun
karena setiap kemajuan yang dicapai selama proses dapat
diamati dengan baik.
Namun demikian, waktu yang cukup panjang mungkin bukan
pilihan bagi pengguna, karena waktu yang lama sama dengan
biaya yang lebih besar.
33
D). RAPID APPLICATION
DEVELOPMENT (RAD)
RAD adalah model proses pembangunan PL yang
incremental.
RAD menekankan pada siklus pembangunan yang
pendek/singkat.
RAD mengadopsi model waterfall dan pembangunan dalam
waktu singkat dicapai dengan menerapkan component based
construction. Waktu yang singkat adalah batasan yang
penting untuk model ini.
Jika kebutuhan lengkap dan jelas maka waktu yang
dibutuhkan untuk menyelesaikan secara komplit software
yang dibuat adalah misalnya 60 sampai 90 hari.
34
KELEMAHAN
1. tidak cocok untuk proyek skala besar
2. proyek bisa gagal karena waktu yang disepakati tidak
dipenuhi
3. sistem yang tidak bisa dimodularisasi tidak cocok untuk
model ini
4. resiko teknis yang tinggi juga kurang cocok untuk model
ini
35
36
PROSES DALAM RAD
Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan dalam waktu yang hampir
bersamaan dalam batasan waktu yang sudah ditentukan.
1. Business modelling : menjawab pertanyaan-pertanyaan: informasi apa yang
mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa yang
menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang mengolah
informasi? kebutuhan dari sistem
2. Data modelling: aliran informasi yang sudah didefinisikan, disusun menjadi
sekumpulan objek data. Ditentukan karakteristik/atribut dan hubungan antar objek-
objek tersebut analisis kebutuhan dan data
3. Process Modelling : objek data yang sudah didefinisikan diubah menjadi
aliran informasi yang diperlukan untukmenjalankan fungsi-fungsi bisnis.
4. Application Generation: RAD menggunakan component program yang
sudah ada atau membuat component yang bisa digunakan lagi, selama diperlukan.
5. Testing and Turnover: karena menggunakan component yang sudah ada,
maka kebanyakan component sudah melalui uji atau testing. Namun component
baru dan interface harus tetap diuji.
37
E). PENGEMBANGAN EVOLUSIONER
Berdasarkan pada ide untuk mengembangkan implementasi
awal, memperlihatkannya kepada user untuk dikomentari,
dan memperbaikinya versi demi versi sampai sistem yang
memenuhi persyaratan diperoleh.
Concurr ent
activities
Initial
Specification
version
Outline Intermediate
Development
description versions
Final
Validation
version
39
3. REUSE-ORIENTED MODEL
Sistem dibangun dengan cara mengintegrasikan
komponen-komponen sistem yang sudah ada.
Tahapan Proses:
Analisa komponen
Modifikasi requirement
Desain sistem dengan menggunakan komponen yang
sudah ada.
Pengembangan dan integrasi
Validasi Sistem
40
REUSE-ORIENTED MODEL
Requirements Component Requirements System design
specification analysis modification with reuse
Development System
and integration validation
41
SUMMARY
Dari model-model di atas, tidak ada satupun model
yang cocok untuk semua jenis proyek pembuatan
software.
Penggunaan lebih dari satu model sangatlah
dimungkinkan. Misalnya dalam model spiral dan
model incremental dalam fase tertentu menggunakan
model lain untuk mendapatkan hasil yang baik.
42
SYSTEM DEVELOPMENT LIFE CYCLE
(SDLC)
43
METODE SDLC
R equirem ents
G athering
P roduction &
A nalysis
M aintenance
T esting D esign
Implementation
44
45