Anda di halaman 1dari 45

Metodologi Pengembangan

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

• Spesifikasi Perangkat Lunak: mendefinisikan


fungsionalitas dan batasan operasi.
• Perancangan dan Implementasi Perangkat
Lunak: merancang dan membuat perangkat lunak yang
memenuhi persyaratan
• Validasi Perangkat Lunak: menjamin perangkat lunak
berjalan sesuai dengan apa yang dibutuhkan user.
• Evolusi Perangkat Lunak: mengembangkan
perangkat lunak sesuai perubahan kebutuhan user.

Tidak ada proses perangkat lunak yang “ideal”, dan standarisasi


proses perangkat lunak adalah salah satu jaminan untuk
memperoleh proses perangkat lunak yang baik.
3
PENGEMBANGAN PERANGKAT
LUNAK
 Pengembangan Perangkat Lunak
Proses membuat suatu perangkat lunak baru untuk
menggantikan perangkat lunak lama secara keseluruhan atau
memperbaiki perangkat lunak yang telah ada.
 Metodologi pengembangan perangkat lunak
Suatu proses pengorganisasian kumpulan metode dan konvensi
notasi yang telah didefinisikan untuk mengembangkan perangkat
lunak.
 Suatu strategi pengembangan yang memadukan proses,
metode, dan perangkat (tools).
 Tujuan  Untuk membantu menghasilkan perangkat lunak
4
yang berkualitas.
KOMPONEN METODOLOGI PENGEMBANGAN PERANGKAT LUNAK
Menurut Pressman (1997) Komponen metodologi pengembangan perangkat
lunak dapat dibagi dalam tiga unit, yaitu :

 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

Analisis Desain Implementasi Pengujian Perawatan

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.

2. Merupakan kombinasi dari waterfall model, yaitu dengan


melakukan tahap-tahap waterfall model secara iteratif.

3. Hasil/produk dari iterasi atau increment menjadi dasar


perbaikan untuk iterasi atau increment, demikian seterusnya
hingga produk dianggap sempurna.
17
4. Model ini cocok jika anggota tim pengembang perangkat lunak
sangatterbatas dan proyek yang dikerjakan berukuran kecil (tidak
lebih dari 200.000 baris coding).

5. Mampu mengakomodasi perubahan secara fleksibel.

6. Produk yang dihasilkan pada increment pertama bukanlah


prototype tetapimerupakan produk yang sudah bisa berfungsi
dengan spesifikasi dasar.

7. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna


kedalam rencana spesifikasi masing-masing hasil increment
18
THE INCREMENTAL MODEL
System/information increment 1
engineering

analysis design code test delivery of


1st increment

delivery of
increment 2 analysis design code test
2nd increment

increment 3analysis design code test delivery of


3rd increment

increment 4 analysis design code test

delivery of
4th increment

calendar time

19
KENDALA

Kendala yang sering terjadi adalah sulitnya memetakan


kebutuhan user (konsumen) ke dalam rencana spesifikasi masing-
masing dari hasil increment. Hal ini dipicu karena seringkali user
sulit menentukan kebutuhannya sendiri secara jelas.

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

 Metode proses pembuatan sistem yang dibuat


secara terstruktur dan memiliki beberapa tahap-
tahap yang harus dilalui pada pembuatannya,
namun jika sistem yang telah dibuat belum
sempurna atau masih memiliki kekurangan, maka
sistem akan dievaluasi kembali dan akan melalui
proses dari awal

23
PENDEKATAN PROTOTIPE
Identifikasi  Pengembang dan pemakai bertemu
Kebutuhan  Pemakai menjelaskan kebutuhan
Pemakai sistem

Membuat  Pengembang mulai membuat


Prototipe prototipe

Menguji  Pemakai menguji prototipe dan


Prototipe memberikan kritikan atau saran

Memperbaiki  Pengembang melakukan modifikasi


Prototipe sesuai dengan masukan pemakai

Mengembangkan  Pengembang merampungkan sistem


Versi Produksi sesuai dengan masukan terakhir
dari pemakai

24
PROTOTIPE BAIK DIPAKAI PADA KEADAAN
 Sistem mempunyai resiko tinggi
 Tidak jelas permasalahannya
 Tidak jelas kebutuhan & keinginan
 Tidak pasti ada yang ingin dilakukan

 Perancangan Dialog User - Komputer


 Bagaimana membuat dialog yg. baik, ramah, mudah ?
 Sistem diminati oleh banyak pemakai
 Mencari kesepakatan
 Basis untuk menyamakan persepsi

25
 User ingin cepat selesai
 User tidak sabar menunggu
 Prototipe segera memperlihatkan bentuk kerja sistem

 Masa pakai singkat


 Sistem hanya dipakai beberapa kali saja
 Ingin menunjukkan inovasi
 Pengembangan dapat menunjukkan kecanggihan
 Sistem cepat terlihat (mungkin juga cepat selesai)

 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,

 loop berikutnya berkaitan dengan desain sistem dan


seterusnya.
 Setiap Loop dibagi menjadi beberapa sektor

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

Eng ine e ring

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.

 Tidak ada kegiatan spesifikasi, pengembangan, dan validasi


yang terpisah. Kegiatan2 ini dilakukan pada saat yang
bersamaan dengan umpan balik yang cepat untuk masing2
kegiatan.

 Model pengembangan evolusioner ini cocok untuk


aplikasi yang kecil dan life-cycle yang pendek
38
GAMBAR MODEL PENGEMBANGAN EVOLUSIONER

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

 Tipe komponen software:


 Webservice
 Framework berbasis komponen (.Net atau J2EE)

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

Typical System Development Life Cycle (SDLC) diagram.

44
45

Anda mungkin juga menyukai