37
STMIK AMIKOM YOGYAKARTA

STMIK AMIKOM YOGYAKARTA - elearning.amikom.ac.idelearning.amikom.ac.id/index.php/download/materi/190302253-SI040-4... · RAD : Summary Kelebihan • Memungkinkan membeli suatu modul

Embed Size (px)

Citation preview

STMIK AMIKOM YOGYAKARTA

METODOLOGI PENGEMBANGAN

PERANGKAT LUNAK

Donni Prabowo@donnipra | donnipra.com

WATERFALL

www.amikom.ac.id

WATERFALL : Summary

• “Classic Life Cycle” atau model Waterfall merupakan model yang paling

banyak dipakai didalam Software Engineering (SE).

• Model ini melakukan pendekatan secara sistematis dan urut mulai dari

level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding,

testing / verification, dan maintenance.

• Disebut dengan waterfall karena tahap demi tahap yang dilalui harus

menunggu selesainya tahap sebelumnya dan berjalan berurutan.

www.amikom.ac.id

WATERFALL : Summary

Roger S. Pressman memecah model ini menjadi 6 tahapan, yaitu :

www.donni.web.id

WATERFALL : Summary

Kelebihan

• Proses menjadi teratur

• Estimasi proses menjadi lebih baik

• Jadwal menjadi lebih menentu

• Progress untuk setiap tahap dapat dilihat secara pasti.

www.donni.web.id

WATERFALL : Summary

Kekurangan

• Sifatnya kaku, sehingga susah melakukan perubahan di tengah

proses

• Membutuhkan daftar kebutuhan yang lengkap di awal, tapi

jarang konsumen bisa memberikan kebutuhan secara lengkap

diawal

PROTOTYPE

www.amikom.ac.id

PROTOTYPE : Summary

• Prototyping adalah salah satu pendekatan dalam rekayasa perangkat

lunak yang secara langsung mendemonstrasikan bagaimana sebuah

perangkat lunak atau komponen-komponen perangkat lunak akan

bekerja dalam lingkungannya sebelum tahapan konstruksi aktual

dilakukan (Howard, 1997).

www.amikom.ac.id

PROTOTYPE : Summary

Skema dari prototype secara umum adalah sebagai berikut :

www.donni.web.id

PROTOTYPE : Summary

Kelebihan

• Adanya komunikasi yang baik antara pengembang dan

pelanggan.

• Pengembang dapat bekerja lebih baik dalam menentukan

kebutuhan pelanggan.

• Penerapan menjadi lebih mudah karena pemakai mengetahui

apa yang diharapkannya.

• User dapat berpartisipasi aktif dalam pengembangan sistem.

www.donni.web.id

PROTOTYPE : Summary

Kekurangan

• Proses analisis dan perancangan terlalu singkat.

• Walaupun pemakai melihat berbagai perbaikan dari setiap versi

prototype, tetapi pemakai mungkin tidak menyadari bahwa versi

tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan

jangka panjang.

• Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga

menggunakan algoritma dan bahasa pemrograman yang sederhana

untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih

lanjut bahwa program tersebut hanya merupakan cetak biru sistem.

RAD (Rapid Application Development)

www.amikom.ac.id

RAD : Summary

• Rapid application development (RAD) atau rapid prototyping adalah

model proses pembangunan perangkat lunak yang tergolong dalam

teknik incremental (bertingkat). RAD menekankan pada siklus

pembangunan pendek, singkat, dan cepat.

• Sistem yang tidak bisa dimodularisasi tidak cocok untuk model RAD

www.amikom.ac.id

RAD : Summary

Skema dari RAD secara umum adalah sebagai berikut :

www.donni.web.id

RAD : Summary

Kelebihan

• Memungkinkan membeli suatu modul tertentu untuk lebih

menghemat biaya daripada mengembangkan sendiri.

• Bisa mengurangi penulisan kode yang kompleks karena

menggunakan wizard.

• Mempercepat waktu pengembangan sistem secara keseluruhan

karena cenderung mengabaikan kualitas.

• Modul yang telah dibuat pada project sebelumnya ada

kemungkinan masih bisa digunakan untuk project selanjutnya.

www.donni.web.id

RAD : Summary

Kekurangan

• Model RAD membutuhkan sumber daya yang besar,

terutama untuk proyek dengan skala besar.

• Proyek bisa gagal jika waktu yang disepakati tidak terpenuhi .

• Sistem yang tidak bisa dimodularisasi tidak cocok untuk

model RAD

• Resiko teknis yang tinggi juga kurang cocok untuk model RAD

AGILE DEVELOPMENT

www.amikom.ac.id

AGILE DEVELOPMENT : Summary

• Agile merupakan adalah jenis pegembangan sistem jangka pendek yang

memerlukan adaptasi cepat dan pengembang terhadap perubahan

dalam bentuk apapun.

• Dalam Agile Software Development interaksi dan personel lebih penting

dari pada proses dan alat, software yang berfungsi lebih penting daripada

dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari

pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih

penting daripada mengikuti rencana.

www.amikom.ac.id

AGILE DEVELOPMENT : Summary

Skema dari Agile secara umum adalah sebagai berikut :

www.donni.web.id

AGILE DEVELOPMENT : Summary

Kelebihan

• Meningkatkan kepuasan kepada klien

• Pembangunan system dibuat lebih cepat

• Mengurangi resiko kegagalan implementasi software dari segi

non-teknis

• Jika pada saat pembangunan system terjadi kegagalan,kerugian

dari segi materi relative kecil.

www.donni.web.id

AGILE DEVELOPMENT : Summary

Kekurangan

• Developer harus selalu siap dengan perubahan karena

perubahan akan selalu diterima.

• Agile tidak akan berjalan dengan baik jika komitmen tim kurang.

• Tidak cocok dalam skala tim yang besar (>20 orang).

• Perkiraan waktu release dan harga perangkat lunak sulit

ditentukan.

Extreme Programming (XP)

www.amikom.ac.id

Extreme Programming : Summary

• Extreme Programming (berikutnya akan disingkat sebagai XP) adalah

sebuah pendekatan atau model pengembangan perangkat lunak yang

mencoba menyederhanakan berbagai tahapan dalam proses

pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel. XP

bukan hanya berfokus pada coding tetapi meliputi seluruh area

pengembangan perangkat lunak. XP mengambil pendekatan ‘ekstrim’

dalam iterative development.

• Dipublikasikan oleh Kenn Beck pada tahun 1999 dengan menggunakan

pendekatan OOP (Object Oriented Programming), terdiri dari aktivitas

perencanaan, aktivitas desain, aktivitas pengkodean dan aktivitas

pengujian.

www.amikom.ac.id

Extreme Programming : Summary

Skema dari Extreme Programming secara umum adalah sebagai berikut :

www.donni.web.id

Extreme Programming : Summary

Cocok utk :

• Keperluan berubah dengan cepat

• Resiko tinggi dan ada proyek dengan tantangan yang besar

• Tim programmer sedikit, yaitu 2-10 orang

• Mampu mengotomatiskan tes

• Ada peran serta pelanggan secara langsung

www.donni.web.id

Extreme Programming : Summary

Kekurangan

• Cerita-cerita yang menunjukkan requirements kemungkinan

besar tidak lengkap sehingga Developer harus selalu siap

dengan perubahan karena perubahan akan selalu diterima.

• Tidak bisa membuat kode yang detail di awal (prinsip simplicity

dan juga anjuran untuk melakukan apa yang diperlukan hari itu

juga).

ASD

www.amikom.ac.id

ASD : Summary

• Di usulkan oleh Jim Highsmith sebagai tehnik untuk membangun

software dan sistem yang komplek, filosofi dari ASD adalah kolaborasi

manusia dan tim yang mengatur diri sendiri, aktivitas pada proses ASD

adalah speculation, collaboration & learning.

www.amikom.ac.id

ASD : Summary

Skema dari ASD secara umum adalah sebagai berikut :

SCRUM

www.amikom.ac.id

SCRUM : Summary

• Pertama kali diperkenalkan oleh Jeff Sutherland tahun awal tahun

1990an, dan dikembangkan selanjutnya dilakukan oleh Schwaber dan

Beedle. Pada dasarnya Scrum merupakan salah satu komponen dari

metodologi pengembangan Agile mengenai pertemuan harian untuk

membahas kemajuan sedangkan XP adalah menekankan metodologi

yang berbeda yaitu ujian, pemrograman dan pembangunan.

www.amikom.ac.id

SCRUM : Summary

Skema dari SCRUM secara umum adalah sebagai berikut :

www.donni.web.id

SCRUM : Summary

Kelebihan

• Keperluan berubah dengan cepat

• Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi

biaya dan memberdayakan satu sama lain

• Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat

• Dokumentasi dan pengujian terus menerus dilakukan setelah software

dibangun

• Proses Scrum mampu menyatakan bahwa produk selesai kapanpun

diperlukan

www.donni.web.id

SCRUM : Summary

Kekurangan

• Developer harus selalu siap dengan perubahan karena

perubahan akan selalu diterima.

www.amikom.ac.id

What the next?

• Pertemuan selanjutnya kita akan diskusikan

mengenai “Project Planning”

See You …“Dream + Parameter = Vision.

Dream + Effort = Mission. Dream + Do nothing = Illusion.”