Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

TUGAS KAJIAN LITERATUR MODEL SDCL (WATERFALL MODEL, XP

MODEL, DAN AGILE MODEL)

Disusun Oleh :

Abdul Hamid 185150209111001


Anang Tri Wicaksono 185150209111003
Allen Nazario Istalaksana 185150209111004
Asfie Nurjanah 135150201111192
Enggar Pratama K 155150201111278

INFORMATIKA

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

MALANG

2018
1. WATERFALL MODEL

Metode Waterfall sering disebut dengan classic life cycle (Pressman, 2010).
Metode ini merupakan metode pengembangan perangkat lunak terstruktur yang
paling dikenal dan banyak digunakan secara luas, tidak hanya di lingkup akademisi
tetapi juga di industri. Hal ini disebabkan Waterfall merupakan metode yang tua dan
oleh sebab itu, metode ini hampir selalu digunakan untuk pengembangan perangkat
lunak terutama di lingkup akademisi khususnya mahasiswa yang sedang
menyelesaikan Tugas Akhirnya.

Saat ini banyak perangkat lunak yang mengintegrasikan berbagai macam


media ke dalamnya sebagai sarana peningkatan kualitas dan daya tarik perangkat
lunak tersebut. Perangkat lunak yang menggabungkan berbagai macam media pada
makalah ini disebut dengan perangkat lunak multimedia. Perangkat lunak yang tidak
mengintegrasikan berbagai macam media ke dalamnya pada makalah ini disebut
dengan perangkat lunak klasik. Perangkat lunak multimedia mempunyai
karakterisitik yang berbeda dengan perangkat lunak klasik.
Metode ini mempunyai tahapan-tahapan sebagai berikut:

 Requirements analysis and definition


Layanan sistem, kendala, dan tujuan ditetapkan oleh hasil konsultasi dengan
pengguna yang kemudian didefinisikan secara rinci dan berfungsi sebagai
spesifikasi sistem.

 System and software design


Tahapan perancangan sistem mengalokasikan kebutuhan-kebutuhan sistem
baik perangkat keras maupun perangkat lunak dengan membentuk arsitektur
sistem secara keseluruhan. Perancangan perangkat lunak melibatkan
identifikasi dan penggambaran abstraksi sistem dasar perangkat lunak dan
hubungannya.

 Implementation and unit testing


Pada tahap ini, perancangan perangkat lunak direalisasikan sebagai
serangkaian program atau unit program. Pengujian melibatkan verifikasi
bahwa setiap unit memenuhi spesifikasinya.

 Integration and system testing


Unit-unit individu program atau program digabung dan diuji sebagai sebuah
sistem lengkap untuk memastikan apakah sesuai dengan kebutuhan
perangkat lunak atau tidak. Setelah pengujian, perangkat lunak dapat
dikirimkan ke customer.

 Operation and maintenance


Biasanya (walaupun tidak selalu), tahapan ini merupakan tahapan yang paling
panjang. Sistem dipasang dan digunakan secara nyata. Maintenance
melibatkan pembetulan kesalahan yang tidak ditemukan pada tahapan-
tahapan sebelumnya, meningkatkan implementasi dari unit sistem, dan
meningkatkan layanan sistem sebagai kebutuhan baru.

Pada prinsipnya, setiap tahapan di metode Waterfall menghasilkan satu atau


lebih dokumen yang sudah disetujui (“ditandatangani”). Tahap berikutnya tidak
dapat dimulai sebelum tahapan sebelumnya selesai. Dalam tataran praktis, tahapan-
tahapan tersebut saling tumpang tindih (overlap) dan memberikan informasi satu
sama lain.

Metode Waterfall merupakan contoh dari tahapan yang plan-driven, yaitu


secara prinsip pengembang harus merencanakan dan menjadwalkan semua kegiatan
tahapan sebelum mulai mengembangkan perangkat lunak. Komitmen dibuat di awal
tahapan sehingga membuat sulit untuk merespon ketika ada perubahan pada
kebutuhan customer (Sommerville, 2011). Metode Waterfall tetap digunakan hingga
saat ini karena keuntungan-keuntungannya. Salah satu keuntungan metode
Waterfall adalah linearitasnya sehingga memudahkan dan memperjelas penyajian
Quality Assurance (Khalaf & Al-Jedaiah, 2008). Mungkin dengan alasan ini Godfrey
(1995) memberikan turunan metode waterfall untuk menjadi metode
pengembangan perangkat lunak multimedia.

Advantage of Waterfall models


 kelebihan dari metode waterfall meliputi model ini mempunyai kemudahan
untuk dimengerti, mudah digunakan, requirement dari sistem bersifat stabil,
baik dalam manajemen kontrol, serta bekerja dengan baik ketika kualitas
lebih diutamakan dibandingkan dengan biaya dan jadwal (deadline).
 Setiap tahap (even signifikan) telah didefinisikan dengan baik

Disadvantage of Waterfall models:


 Semua kebutuhan sistem harus diketahui terlebih dahulu
 Tidak menunjukkan menunjukkan prinsip ”Problem Solving” dalam
Pengembangan Perangkat Lunak dikarenakan fase yang harus berurut,
 Customer hanya memiliki sedikit kesempatan untuk melihat dan mereview
sistem (yakni di akhir project)
 Resiko sangat tinggi, karena testing hanya dilakukan pada setiap akhir fase,
bahkan tidak jarang testing hanya dilakukan di akhir-akhir project,
 Membutuhkan waktu yang cukup lama (walaupun projectnya tidak terlalu
besar)
 Perubahan requirement dapat merubah keseluruhan proses yang telah
dilaksanakan.

Area of usage of Waterfall models:


 Waterfall model cocok digunakan untuk sistem yang memiliki requirments
yang stabil dan lengkap di awal.
2. EXTREME PROGRAMMING MODEL

Nama XP atau Extreme Programming, diciptakan oleh Kent Beck pada tahun
2000, karena pendekatan ini dikembangkan dengan mendorong kebiasaan yang
baik, seperti pengembangan secara iteratif, sampai ke tingkat ekstrim. Sebagai
contoh, beberapa versi baru dari sistem dapat dikembangkan oleh programmer yang
berbeda, lalu diintegrasikan dan diuji dalam waktu satu hari. Meskipun sebenarnya
awal berjalannya ide dan metode yang terkait dengan XP sudah berlangsung selama
akhir tahun 1980-an. XP mungkin merupakan metode agile yang paling dikenal atau
paling banyak digunakan.

XP adalah gaya pengembangan perangkat lunak yang berfokus pada


pengaplikasian teknik pemrogramaan yang sangat baik, komunikasi yang jelas, dan
kerja tim yang memungkinkan untuk tercapainya hal-hal yang sebelumnya tidak
terbayangkan. Beck mendefinisikan 5 nilai yang membentuk fondasi untuk semua
pekerjaan yang berjalan sebagai bagian dari XP yaitu, communication, feedback,
simplicity, courage, dan respect.

 Communication
Untuk mencapai komunikasu yang efektif antara software engineer dengan
stakeholders lainnya, XP menekankan kerjasama yang erat namun informal secara
verbal antara klien dengan pengembang. Dengan membentuk metafora yang efektif
untuk mengkomunikasikan konsep penting, feedback berkelanjutan, dan untuk
menghindari dokumentasi yang banyak sebagai media komunikasi.

 Feedback
Feedback berasal dari sumber: dari perangkat lunak yang diimplementasikan
itu sendiri, dari klien, dan dari anggota tim perangkat lunak lainnya. XP merancang
dan menerapkan strategi pengujian yang efektif, perangkat lunak memberikan agile
team dengan feedback. Derajat dimana perangkat lunak mengimplementasi output,
fungsi dan prilaku dari use case adalah dari feedback.

 Simplicity
Untuk mencapai simplicity, XP membatasi pengembang mendesain hanya
untuk kebutuhan yang mendesak (dekat), daripada mempertimbangkan kebutuhan
di masa depan. Tujuannya adalah untuk membuat desain sederhana yang dapat
dengan mudah diimplementasikan dalam kode.

 Courage
Tim XP harus memiliki disiplin (keberanian) dalam merancang untuk hari ini,
mengakui bahwa persyaratan selanjutnya dapat berubah secara dramatis, sehingga
menuntut pengerjaan ulang yang substansial dari desain dan penerapan kode
 Respect
Dengan mengikuti masing-masing nilai di atas, XP menanamkan rasa hormat di
antara anggota-anggotanya, antara stakeholders lain dan anggota tim dan secara
tidak langsung untuk perangkat lunak itu sendiri.

Proses XP

XP model lebih memilih menggunakan pendekatan berorientasi objek


sebagai paradigma pengembangan, dan mencakup seperangkat aturan dan praktik
yang terjadi dalam konteks empat kerangka kerja: planning, design, coding, and
testing.

 Planning :
Kegiatan perencanaan dimulai dari mendengarkan (kegiatan pengumpulan
kebutuhan) yang memungkinkan anggota teknis dari Tim XP untuk memahami
konteks bisnis dari perangkat lunak dan untuk mendapatkan mendapatkan output
yang dibutuhkan dan fitur utama serta fungsionalitas. Mendengarkan mengarah
pada penciptaan satu set "story" (disebut juga user story) yang menggambarkan
output yang diperlukan, fitur, dan fungsionalitas untuk perangkat lunak yang akan
dibangun. Selama pengembangan berlangsung klien dapat menambahkan story,
mengubah nilai dari story yang ada, membagi story, atau menghilangkannya. Tim XP
kemudian mempertimbangkan kembali semua rilis yang tersisa dan memodifikasi
rencananya.

 Design
Design XP secara ketat mengikuti prinsip tetap sederhana. Desain sederhana
selalu lebih disukai daripada representasi yang lebih kompleks. XP menggunakan
CRC card yang berfungsi untuk mengenali dan mengatur object oriented class yang
sesuai dengan kriteria software increment yang relavan dengan peningkatan
perangkat lunak saat ini.
Jika masalah desain yang sulit ditemui sebagai bagian dari desain sebuah
cerita, XP merekomendasikan pembuatan langsung prototipe operasional dari
bagian desain tersebut, disebut dengan spike solution, desain prototipe di
implementasikan dan dievaluasi untuk menurunkan resiko ketika implementasi yang
sebenarnya dimulai. Gagasan utama di XP adalah desain yang terjadi baik sebelum
dan sesudah coding dimulai. Refactoring berarti bahwa desain terjadi secara terus
menerus saat sistem dibangun. Bahkan, kegiatan konstruksi itu sendiri akan
memberikan tim XP dengan panduan tentang cara meningkatkan desain.

 Coding
Setelah cerita dikembangkan dan desain awal selesai, tim tidak berpindah ke
kode, melainkan mengembangkan serangkaian tes unit yang akan melatih masing-
masing cerita yang akan dimasukkan dalam current release (software increment).
Setelah tes unit telah dibuat, pengembang lebih mampu fokus pada apa yang harus
dilaksanakan untuk melewati tes tersebut. Setelah kode selesai, pengujian unit dapat
segera dilakukan, sehingga memberikan umpan balik instan kepada pengembang.
Konsep kunci selama aktivitas pengkodean (dan salah satu aspek XP yang
paling banyak dibicarakan) adalah pair programming. XP merekomendasikan agar
dua orang bekerja bersama di satu komputer workstation untuk membuat kode
untuk sebuah cerita. hal ini membuat para pengembang fokus pada masalah yang
dihadapi. Dalam prakteknya, setiap orang mengambil peran yang sedikit berbeda.
Misalnya, satu orang mungkin berpikir tentang rincian pengkodean bagian tertentu
dari desain sementara yang lain memastikan bahwa standar pengkodean (bagian
yang diperlukan dari XP) sedipatuhi atau bahwa kode untuk cerita akan memenuhi
tes unit. Saat pair programmer menyelesaikan pekerjaan mereka, kode yang mereka
kembangkan diintegrasikan dengan pekerjaan orang lain.

 Testing
Pembuatan unit tests sebelum coding dimulai adalah elemen kunci dari
pendekatan XP. Unit tests yang dibuat harus diimplementasikan menggunakan
kerangka kerja yang memungkinkan mereka menjadi otomatis. Hal ini Ini mendorong
strategi pengujian regresi setiap kali kode diubah. XP acceptance test juga disebut
customer test, ditentukan oleh pelanggan dan fokus pada fitur dan fungsionalitas
sistem secara keseluruhan yang dapat dilihat dan ditinjau oleh pelanggan. Tes
penerimaan berasal dari story pengguna yang telah diimplementasikan sebagai
bagian dari rilis perangkat lunak.

Advantage of XP models:
 Memungkinkan penghematan biaya dan waktu, karena XP menghilangkan
aktivitas yang tidak produktif untuk mengurangi biaya dan fustasi semua
orang yang terlibat. Hal ini memungkinkan pengembang untuk fokus pada
pengkodean.
 Feedback yang konsisten, XP memiliki kemampuan untuk menjadwalkan
implementasi fungsi secara fleksible dalam menanggapi kebutuhan bisnis
yang berubah.
 Meningkatkan koordinasi & berbagi pengetahuan antara programmer selama
pair programming
 Partisipasi klien lebih aktif
Disadvantage of XP models:
 Terlalu banyak keterlibatan pelanggan bisa menjadi masalah bagi tim
pengembang
 Beberapa poyek memiliki berbagai macam klien, masiang-masing dengan
kebutuhannya sendiri. Di XP, tim itu sendiri bertugas mengasimilasi
kebutuhan pelanggan yang berbeda, pekerjaan yang mungkin berada di luar
jangkauan otoritas mereka.
 Pedoman standar pengkodean harus diikuti untuk memastikan kode dapat
dimengerti oleh keseluruhan tim
 Desain arsitektur pada XP tidak diutamakan, karena metode XP memang
membatasi kompleksitas dan mengutamakan pengkodean.

Area of usage of XP models:


 XP dapat digunakan pada situasi dengan kebutuhan yang tidak jelas atau
cepat berubah (tidak stabil). XP bagus untuk situasi ini, yang mana
menguntungkan karena persyaratan perlu diubah untuk beradaptasi dengan
perubahan cepat dalam dunia bisnis modern
 XP dapat digunakan dengan tim dari berbagai ukuran. Nilai dan prinsip di
balik XP dapat diterapkan dalam skala apa pun. Secara praktik metode XP
perlu ditambah dan diubah ketika banyak orang terlibat.
AGILE MODEL

Agile yaitu berarti cepat, ringan, bebas bergerak, waspada. Kata ini digunakan
sebagai penggambaran konsep model proses yang berbeda dari konsep model-
model proses yang sudah ada. Konsep Agile Software Development dicetuskan oleh
Kent Beck dan 16 rekannya dengan menyatakan bahwa Agile Software Development
adalah cara membangun software dengan melakukannya dan membantu orang lain
membangunnya sekaligus pada tahun 2001 melalui manifesto.

Agile Development Methods memiliki empat nilai, yang disebut Agile Alliace’s
Manifesto
1. Dalam Agile Software Development interaksi dan personel lebih penting
daripada proses dan alat
2. Software yang berfungsi lebih penting daripada dokumentasi yang lengkap
3. Kolaborasi dengan klien lebih penting daripada negosiasi kontra
4. Dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti
rencana.

Namun, sama seperti proses model yang lain, Agile juga mempunyai
kelebihab dan kekurangan sehingga tidak dapat diterapkan untuk semua jenis
perancangan Software. Tergantung pada proyek, produk, orang dan situasi.

Prinsip dari Agile Development Methods


Salah satu agile adalah tim yang tanggap terhadap perubahan. Dikarenakan
perubahan adalah hal yang utama dalam pengembangan software. Perubahan
kebutuhan software, perubahan anggota tim, perubahan teknologi dan lainnya. Agile
Development Methodsjuga melihat pentingnya komunikasi antar anggota tim, orang
teknis dan businessman, antara developer dan managernya. Ciri lain dari adalah
klien menjadi bagian dari tim dalam pembangunan software. Semua ciri-ciri ini
didukung oleh 12 prinsip yang ditetapkan oleh Agile Alliance.
Agile Alliance menetapkan prinsip-prinsip sebagai berikut :
1. Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih
awal dan terus menerus
2. Menerima perubahan kebutuhan, sekalipun diakhir pengembangan
3. Penyerahan hasil/Software dalam hitungan waktu 2 minggu sampai 2 bulan
4. Bagian bisnis dan pembangunan kerja sama tiap hari selama proyek
berlangsung
5. Membangun proyek dilingkungan orang-orang yang bermotivasi tinggi yang
bekerja dalam lingkungan yang mendukung dan yang dipercaya untuk dapat
menyelesaikan proyek
6. Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan
efisien
7. Software yang berfungsi adalah ukuran utama dari kemajuan proyek
8. Dukungan yang stabil dari sponsor, pembangun dan pengguna diperlukan
untuk menjaga perkembangan yang berkesinambungan
9. Perhatian kepada kemampuan teknis dan desain yang baik untuk
meningkatkan sifat agile
10. Kesederhanaan penting
11. Arsitektur, kebutuhan dan desain yang baik muncul dari tim yang mengatur
dirinya sendiri
12. Secara periodik tim mengevaluasi diri dan mencari cara yang lebih efektif dan
segera melakukannya.
Kedua belas prinsip tersebut menjadi suatu dasar bagi model-model proses
yang mempunyai sifat agile. Dengan prinsip tersebut, Agile Development Methods
berusaha untuk menyiasati 3 asumsi penting tentang proyek software pada
umumnya :
1. Kebutuhan software sulit diprediksi dari awal dan akan selalu berubah. Selain
itu, prioritas klien juga sering berubah seiring berjalannya proyek
2. Desain dan pembangunan sering tumpeng tindih. Sulit diperkirakan seberapa
jauh desain yang diperlukan sebelum pembangunan
3. Analisis, Desain, Pembangunan dan Testing tidak dapat diperkirakan seperti
yang diinginkan.
Agile Unified Process

Setiap iterasi AUP membahas proses-proses berikut ini:

 Modeling : Representasi UML dari domain bisnis dan masalah dibuat.


 Implementation : Model diterjemahkan ke dalam kode sumber.
 Testing : Seperti XP, tim mendesain dan mengeksekusi serangkaian tes untuk
mengungkap dan memastikan bahwa kode sumber memenuhi
persyaratannya
 Deployment : Seperti aktivitas proses generik, deployment dalam konteks ini
berfokus pada penyampaian peningkatan perangkat lunak dan perolehan
umpan balik dari pengguna akhir.
 Configuration and Project Management: Dalam konteks AUP, manajemen
konfigurasi membahas manajemen perubahan, manajemen risiko, dan
kontrol produk kerja yang persisten, yang dihasilkan oleh tim. Manajemen
proyek melacak dan mengontrol perkembangan tim dan mengkoordinasikan
kegiatan tim.
 Environment management: Manajemen lingkungan mengkoordinasikan
infrastruktur proses yang mencakup standar, alat, dan teknologi pendukung
lainnya yang tersedia bagi tim.

Advantage of Agile models:


 Meningkatkan rasio kepuasan pelanggan
 Bisa melakukan review pelanggan mengenai software yang dibuat lebih awal

Disadvantage of Agile models:


 Total lama pengembangan menjadi lebih lama
 Meningkatkan resiko kesalahan teknis
 Proses pengembangan menjadi agak kurang terorganisir

Area of usage of Agile models:


Metodologi agile project management dalam beberapa tahun terakhir telah
banyak digunakan untuk mengembangkan, mengimplementasikan sistem teknologi
informasi, seiring dengan mulai banyak diadopsinya konsep agile pada proses
manufaktur dan produksi. Konsep agile project management itu sendiri mengikuti
life cycle di atas dengan menggabungkan konsep agility dalam prosesnya.
DAFTAR PUSTAKA

Pressman, Roger S., 2010. Software Engineering A Practitioner’s Approach.


7th ed. New York: McGraw-Hill.

Sommerville, Ian., 2011. Software engineering. 9th ed. London: Addison-


Wesley

Khalaf, S.J., Al-Jedaiah, M.N. (2008) “Software Quality and Assurance in


Waterfall

Beck, K., & Gamma, E. (2000). Extreme programming explained: embrace


change. addison-wesley professional.

Ambler, Scott W. "An Introduction to Agile Modeling." Agile Modeling Home


Page. 2001-2008.

You might also like