Model Agile dan Extreme Programming (XP) merupakan metodologi pengembangan perangkat lunak yang fleksibel dan iteratif. Model Agile menekankan interaksi manusia, kolaborasi dengan klien, dan tanggapan terhadap perubahan, sedangkan XP menitikberatkan komunikasi, kesederhanaan, umpan balik, dan keberanian. Kedua metodologi ini cocok untuk proyek skala kecil yang membutuhkan fleksibilitas terhadap perubahan.
2. ii
DAFTAR ISI
PENGANTAR ....................................................................................................
.............................................................................................................................Err
or! Bookmark not defined.
DAFTAR ISI ...................................................................................................... ii
BAB I PENDAHULUAN .................................................................................. 1
1.1 Latar Belakang ................................................................................ 1
1.2 Rumusan Masalah ........................................................................... 2
1.3 Tujuan .............................................................................................. 2
BAB II PEMBAHASAN .................................................................................... 3
2.1 Model Agile ..................................................................................... 3
A. Filosofi ........................................................................................ 3
B. Langkah Operasional .................................................................. 5
C. Keunggulan ................................................................................. 7
D. Kelemahan .................................................................................. 7
E. Kondisi Ideal .............................................................................. 7
2.2 Model XP (Extreme Programming)................................................. 8
A. Filosofi ........................................................................................ 8
B. Langkah Operasional .................................................................. 9
C. Keunggulan ................................................................................. 11
D. Kelemahan .................................................................................. 12
E. Kondisi Ideal .............................................................................. 12
BAB III PENUTUP ........................................................................................... 14
3.1 Kesimpulan....................................................................................... 14
DAFTAR PUSTAKA ......................................................................................... 15
3. 1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Bidang pengembangan perangkat lunak berkembang sangat pesat dewasa ini.
Dalam perkembangannya ini tidak terlepas dari peran metodologi yang digunakan
untuk membangun. Jika kita lihat kembali ke belakang, berbagai metodologi
untuk mengembangkan perangkat lunak telah cukup banyak diperkenalkan. Mulai
dari model waterfall sampai dengan model-model incremental. Semua metodologi
yang berkembang sebelumnya tidak mampu menangani kemungkinan perubahan
atau penambahan requirements yang terjadi pada saat pengembangan
dilaksanakan atau bahkan pada waktu fase terakhir pengembangan. Saat bekerja
dalam tim untuk mengerjakan suatu proyek sangatlah penting menentukan
metodologi pengembangan perangkat lunak dan proses pengembangan perangkat
lunak yang akan digunakan.
Metodologi pengembangan perangkat lunak sendiri adalah sebuah metodologi
yang digunakan untuk membuat struktur, rencana, dan kontrol pengerjaan suatu
proyek, sedangkan proses pengembangan perangkat lunak adalah model-model
dan metodologi yang digunakan untuk mengembangkan suatu perangkat lunak.
Hal ini yang mendorong munculnya metodologi atau model pengembangan
perangkat lunak yang baru yang mampu mengatasi kekurangan tersebut. Untuk
pembuatan atau pengembangan suatu perangkat lunak terdapat beberapa hal yang
harus di perhatikan, mulai dari sumber daya manusia (resources) yang menangani
proyek tersebut, sampai dengan metode apa yang harus diterapkan dalam proses
pengembangan perangkat lunaknya.
Pada era 2000-an mulai berkembang metodologi baru yang sangat fleksibel,
yaitu Agile methods. Agile methods dikembangkan karena pada metodologi
tradisional terdapat banyak hal yang membuat proses pengembangan tidak dapat
berhasil dengan baik sesuai tuntutan user. Metodologi ini sudah cukup banyak
berkembang, di antaranya adalah: eXtreme Programming (XP), Scrum
Methodology, Crystal Family, Dynamic Systems Development Method (DSDM),
Adaptive Software Development (ASD), dan Feature Driven Development (FDD).
4. 2
Pada makalah akan membahas salah satu dari agile methods yaitu eXtreme
Programming (XP).
1.2 Rumusan Masalah
1. Apa yang dimaksud dengan model Agile?
2. Apa yang dimaksud dengan model Extreme Programming?
1.3 Tujuan
1. Menjelaskan pengertian dari model Agile.
2. Menjelaskan pengertian dari model Extreme Programming.
5. 3
BAB II
PEMBAHASAN
2.1 Model Agile
A. Filosofi
Model Agile adalah proses pengembangan software yang berkembang
pada tahun 1990. Kata Agile berarti bersifat cepat, ringan, bebas bergerak,
waspada. Metodologi yang dikenal sebagai agile methods ini mengutamakan
fleksibilitas terhadap perubahan-perubahan yang terjadi selama
pengembangan. Model-model dari agile diantaranya Rational Unified Process
(1994), Scrum (1995), Crystal Clear, Extreme Programming (1996), dan
Adaptive Software Development, Feature Driven Development, and Dynamic
Systems Development Method (DSDM) (1995). Dan pada akhirnya
terbentuklah pada tahun 2001 proses pengembangan agile. Agile development
methods merupakan salah satu dari metodologi pengembangan perangkat
lunak yang digunakan dalam pengembangan perangkat lunak.
Dalam proses pengembangan agile dilakukan secara iterasi atau
perulangan. Singkatnya jika suatu proyek pengembangan software dikerjakan
dengan menggunakan metode agile, maka selama waktu pengerjaannya akan
selalu dijumpai proses pengembangan yang dilakukan berulang (dalam
Imansyah, 2012). Agile Software Development lebih mementingkan interaksi
dan personel dari pada proses dan alat, software yang berfungsi lebih penting
daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting
daripada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih
penting daripada mengikuti rencana.
Secara garis besar tujuan dirumuskannya agile development methods,
yaitu (dalam id.wikipedia.org):
1) High-value & working App system, diharapkan dengan memakai agile
development methods dapat dihasilkan perangkat lunak yang mempunyai
nilai jual yang tinggi, biaya pembuatan bisa di tekan dan perangkat lunak
bisa berjalan dengan baik.
6. 4
2) Iterative, incremental, evolutionary, agile adalah metode pengembangan
perangkat lunak yang iteratif, selalu mengalami perubahan, dan
evolusioner. Tim harus bekerja dalam waktu yang singkat (biasanya 13
minggu) dan juga selalu menambah fungsionalitas dari perangkat lunak
sesuai dengan kebutuhan klien.
3) Cost control & value-driven development, salah satu tujuan dari agile,
yaitu pengembangan perangkat lunak disesuaikan dengan kebutuhan
pengguna, tim bisa dengan cepat merespon kebutuhan yang diinginkan
pengguna sehingga waktu dan biaya pembuatan perangkat lunak bisa
dikontrol.
4) Highquality production, walaupun biaya pembuatan perangkat lunak bisa
ditekan dan proses pembuatan bisa dipercepat, tetapi kualitas dari
perangkat lunak yang dibuat harus tetap dijaga. Dengan melakukan tes
setiap fungsionalitas perangkat lunak.
5) Flexible & risk management, jika kita menggunakan metode pembuatan
yang biasanya dipakai, jika ingin mengubah fungsionalitas dari
wireframe yang telah dibuat di butuhkan proses yang rumit. Mulai dari
pertemuan dengan sistem analis untuk mengubah sistem perangkat lunak,
perubahan rencana rilis produk hingga perubahan biaya produksi.
Pertemuan dengan klien untuk melakukan tes perangkat lunak juga sering
dilakukan sehingga fungsionalitas perangkat lunak mudah diubah dan
akhirnya kegagalan perangkat lunakpun bisa diminimalisir.
6) Collaboration, dengan menggunakan agile, tim pengembang diharuskan
sering bertemu untuk membahas perkembangan proyek dan feedback dari
klien yang nantinya akan ditambahkan dalam perangkat lunak, sehingga
tim bisa berkolaborasi dengan maksimal.
7) Self-organizing, self-managing teams, rekrut orang terbaik, beri dan
dukung kebutuhan mereka lalu biarkan mereka bekerja. Itulah perbedaan
agile dan SDM lainnya. Dengan agile, developer dapat memanajemen
dirinya sendiri, sedangkan manajer tim hanya bertugas
mengkolaborasikan developer perangkat lunak dengan klien. Sehingga
terciptalah tim yang solid.
7. 5
B. Langkah Operasional
Gambar 1. Tahapan Model Agile
(Sumber: id.wikipedia.org)
Analisis Proyek: Menganalisis proyek sistem yang ingin
dikembangakan.
Pengembangan Proyek: Proses pengembangan sistem dilakukan.
Testing Proyek: Mencoba sistem yang sudah selesai sebelum
diberikan kepada client. Apabila sistem lulus test dan tidak ada
perubahan-perubahan, maka sistem tersebut sudah bisa digunakan
oleh client. Sementara apabila masih terjadi perubahan-perubahan
maka kembali lagi ke proses awal.
Dalam proses pengembangan model agile, perulangan (iterasi) meliputi
berbagai kegiatan yang wajib dilakukan dalam proyek pengembangan
software itu sendiri, yaitu (dalam Imansyah, 2012)
1) Perencanaan
Pada langkah ini pengembang dan klien membuat rencana tentang
kebutuhan dari perangkat lunak yang akan dibuat [10], melakukan sebuah
rencana untuk konsep yang dipakai dan kebutuhan apa saja yang dibutuhkan
dalam perencanaan tersebut [7].
8. 6
2) Requirements Analysis
Langkah ini merupakan analisa terhadap kebutuhan sistem. Pengumpulan
data dalam tahap ini bisa melakukan sebuah penelitian, wawancara atau study
literatur. Seorang sistemanalis akan menggali informasi sebanyak-banyaknya
dari user sehingga akan tercipta sebuah sistem komputer yang bisa melakukan
tugas-tugas yang diinginkan oleh user tersebut. Tahapan ini akan
menghasilkan dokumen user requirment atau bisa dikatakan sebagai data
yang berhubungan dengan keinginan user dalam pembuatan sistem. Dokumen
ini lah yang akan menjadi acuan sistem analis untuk menterjemahkan ke
dalam bahasa pemrograman.
3) Desain
Proses desain akan menerjemahkan syarat kebutuhan kesebuah
perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding.
Proses ini berfokus pada: struktur data, arsitektur perangkat lunak,
representasi interface, dan detail (algoritma) prosedural. Tahapan ini akan
menghasilkan dokumen yang disebut software requirement. Dokumen inilah
yang akan digunakan programmer untuk melakukan aktivitas pembuatan
sistemnya.
4) Coding
Coding merupan penerjemahan design dalam bahasa yang bisa dikenali
oleh komputer. Dilakukan oleh programmer yang akan meterjemahkan
transaksi yang diminta oleh user. Tahapan ini lah yang merupakan tahapan
secara nyata dalam mengerjakan suatu sistem. Dalam artian penggunaan
komputer akan dimaksimalkan dalam tahapan ini.
5) Testing
Testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut
dan kemudian bisa diperbaiki atau bebas dari error.
6) Dokumentasi
Dokumentasi merupakan bagian penting dari pengembangan perangkat
lunak. Masing-masing tahapan dalam model biasanya menghasilkan sejumlah
tulisan, diagram, gambar atau bentuk-bentuk lain yang harus
didokumentasikan dan merupakan bagian tak terpisahkan dari perangkat
9. 7
lunak yang dihasilkan [7]. Dokumentasi dapat berisi tentang deskripsi-
deskripsi, penjelasan-penjelasan, bagan alur, daftar-daftar, ataupun skema
pengerjaan proyek.
C. Keunggulan
Keunggulan/kelebihan lain yang terdapat pada model agile adalah (dalam
Dennislouis, 2014):
1) Meningkatkan kepuasan kepada klien.
2) Dapat melakukan review pelanggan mengenai software yang dibuat lebih
awal.
3) Pembangunan system dibuat lebih cepat.
4) Mengurangi resiko kegagalan implementasi software dari segi non-
teknis.
5) Jika pada saat pembangunan system terjadi kegagalan kerugian dari segi
materi relatif kecil.
D. Kelemahan
Sedangkan kelemahan/kekurangan dari agile antara lain (dalam
id.wikipedia.org):
1) Developer harus selalu siap dengan perubahan karena perubahan akan
selalu diterima [3].
2) Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
3) Tidak cocok dalam skala tim yang besar (>20 orang).
4) Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.
E. Kondisi Ideal
Metode Agile cocok untuk proyek yang memberikan kepuasan pelanggan
karena resiko kegagalan yang kecil dan lebih cepat dalam penyelesaian
software serta perubahan yang cepat dari software yang dibangun untuk
meningkatkan kualitas software yang lebih baik (Ningsih, 2013). Contoh
ideal penerapan model ini adalah untuk perusahaan yang memiliki team
10. 8
programmer sendiri yang ingin mengembangkan project yang digunakan
untuk perusahaan itu sendiri maupun akan dijual secara umum ke publik.
2.2 Model XP (eXtreme Programming)
A. Filosofi
eXtreme Programming (XP) adalah metode pengembangan perangkat
lunak yang ringan dan termasuk salah satu agile methods yang dipelopori
oleh Kent Beck, Ron Jeffries, dan Ward Cunningham. XP merupakan agile
methods yang paling banyak digunakan dan menjadi sebuah pendekatan yang
sangat terkenal. Sasaran XP adalah tim yang dibentuk berukuran antara kecil
sampai medium saja, tidak perlu menggunakan sebuah tim yang besar
(Widodo dan Massus Subekti, 2006:96).
eXtreme Programming sebagai sebuah metode yang dinamis
diperlihatkan dalam empat values yang dimilikinya dan keempatnya
merupakan dasar-dasar yang diperlukan dalam XP. XP juga digunakan untuk
mengatasi masalah requirements yang tidak jelas dan sering berubah-ubah
(vague and volatile requirements). Kent Beck menyatakan bahwa tujuan
jangka pendek individu sering berbenturan dengan tujuan sosial jangka
panjang. Karena itu dibuatlah values yang menjadi aturan, hukuman, dan juga
penghargaan. Keempat values tersebut adalah komunikasi (communication),
kesederhanaan (simplicity), umpan balik (feedback), dan keberanian
(courage). XP dimunculkan untuk menangani perubahan-perubahan yang
biasanya sering terjadi pada saat pengembangan berlangsung bahkan pada
saat proses pengembangan sudah hampir berakhir. (Widodo, 2008).
11. 9
B. Langkah Operasional
Gambar 2. Tahapan eXtreme Programming
(Sumber: www.top-ilmu.com)
Dalam eXtreme Programming terdapat 4 tahapan aktivitas utama dalam
pengerjaannya yang dapat dilihat dari diagram diatas, yaitu [2]
1) Planning
Planning atau perencanaan adalah proses metodis yang dirancang untuk
mencapai tujuan tertentu dan pengambilan keputusan untuk mencapai hasil
yang diinginkan. Kebutuhan yang dibutuhkan pada tahap ini, yaitu [4]
a) Teknik pengumpulan data
b) Analisis kebutuhan system
c) Identifikasi aktor
d) Identifikasi use case
Aktivitas planning pada model proses XP berfokus pada mendapatkan
gambaran fitur serta fungsi dari perangkat lunak yang akan dibangun. Pada
aktivitas ini dimulai dengan membuat kumpulan cerita atau gambaran yang
diberikan klien yang kemudian akan menjadi gambaran dasar dari perangkat
lunak.
Kumpulan tersebut nantinya dikumpulkan dalam sebuah indeks cerita
dimana setiap poin dari indeks tersebut ditentukan prioritasnya untuk
12. 10
dibangun. Anggota tim dari pengembang aplikasi nantinya akan menentukan
perkiraan waktu dan biaya yang dibutuhkan untuk setiap indeks tersebut.
Setelah menentukan kebetuhan tersebut, tim XP akan menentukan alur
pengembangan aplikasi dengan terlebih dahulu memulai mengembangkan
tugas dengan resiko dan nilai prioritas yang tinggi terlebih dahulu, dan
seluruh tugas akan selesai dalam tenggat waktu dua minggu.
Selama proses pengembangan, klien dapat mengubah, memperkecil,
membagi, dan membuang setiap rencana dari aplikasi. Tim XP akan
mempertimbangkan setiap perubahan yang diajukan klien yang berikutnya
akan mengubah setiap rencana dari pengembangan perangkat lunak tersebut
juga.
2) Design
Aktivitas design dalam pengembangan aplikasi bertujuan untuk mengatur
pola logika dalam sistem. Sebuah design yang baik, dapat mengurangi
ketergantungan antar setiap proses pada sebuah sistem. Dengan begitu, jika
salah satu fitur pada sistem mengalami kerusakan, tidak akan mempengaruhi
sistem secara keseluruhan.
Design pada model proses XP menjadi panduan dalam membangun
perangkat lunak yang didasari dari cerita klien sebelumnya. Dalam XP,
proses design terjadi sebelum dan sesudah aktivitas coding berlangsung.
Dimana aktivitas design terjadi secara terus-menerus selama proses
pengembangan aplikasi berlangsung.
3) Coding
Setelah menyelesaikan pengumpulan cerita dan menyelesaikan design
untuk aplikasi secara keseluruhan, XP lebih merekomendasikan tim untuk
terlebih dahulu membuat modul unit tes yang bertujuan untuk melakukan uji
coba setiap cerita yang didapat dari klien. Setelah berbagai unit tes selesai
dibangun, tim barulah melanjutkan aktivitasnya ke penulisan coding aplikasi.
XP menerapkan konsep pair programming dimana setiap tugas sebuah modul
dikembangkan oleh dua orang programmer. XP beranggapan, 2 orang akan
lebih cepat dan baik dalam menyelesaikan sebuah masalah. Selanjutnya,
13. 11
modul aplikasi yang sudah selesai dibangun akan digabungkan dengan
aplikasi utama.
4) Testing
Tahapana uji coba pada XP sudah dilakukan juga pada saat tahapan
sebelumnya yaitu coding. Pengujian perangkat lunak dimaksudkan untuk
menguji semua elemen-elemen perangkat lunak yang dibuat apakah sudah
sesuai dengan yang diharapkan [4]. XP menerapkan perbaikan masalah kecil
dengan sesegera mungkin akan lebih baik dibandingkan menyelesaikan
masalah pada saat akan mencapai tenggat akhir. Oleh karena itu, setiap modul
yang sedang dikembangkan akan terlebih dahulu mengalami pengujian
dengan modul unit tes yang telah dibuat sebelumnya.
Setelah semua modul telah dikumpulkan dalam sebuah sistem yang
sempurna, barulah pengujian penerimaan (acceptance test) dilakukan. Pada
tahapan pengujian ini aplikasi langsung diuji coba oleh pengguna atau klien
dan mendapat tanggapan langsung mengenai penerapan cerita yang telah
digambarkan sebelumnya.
C. Keunggulan
Keunggulan yang dimiliki eXtreme Programming, yaitu
1) Semua masalah dan pekerjaan harus dioptimalkan pada waktu jam kerja
(On-site customer), karena XP memerlukan satu orang dari pihak bisnis
yang akan dibawa dalam proses pengembangan dari awal sampai
berakhir.
2) XP menjadi sebuah metodologi yang semi formal karena semua
dilakukan dengan practice yang sederhana. Beberapa hal yang dapat
menjadikan XP masuk kategori metodologi semi formal adalah (Widodo,
2008):
a) Komunikasi yang selalu bersifat oral tanpa dokumentasi formal.
b) Umpan balik yang segera setelah mendapat respon dari user.
c) Collective ownership yang tidak menggantungkan pekerjaan pada
satu orang saja.
14. 12
d) Perubahan dan penambahan requirements dapat direspon meskipun
proses pengembangan sudah hampir selesai.
e) Proses pengembangan yang menyertakan satu orang dari pihak user
menjadi onsite customer memudahkan komunikasi selama proses
pengembangan.
Keunggulan lain yang dimiliki eXtreme Programming, yaitu
(Dennislouis. 2014)
1) Metode yang populer karena lebih santai dan non-restriktif.
2) Biaya lebih murah.
3) Mampu mengotomatiskan tes.
4) Setiap feedback ditanggapi dengan melakukan tes, unit tes atau system
integration dan jangan menunda karena biaya akan membengkak (uang,
tenaga, waktu).
5) Banyak ide baru dan berani mencobanya, berani mengerjakan kembali
dan setiap kali kesalahan ditemukan, langsung diperbaiki.
D. Kelemahan
Kelemahan yang dimiliki eXtreme Programming, yaitu tanpa
dokumentasi formal maka proses pengembangan ini akan kembali seperti
proses yang tidak terpola dan primitif [9]. Selain itu kelemahan XP, yaitu
(Dennislouis. 2014)
1) Developer harus selalu siap dengan perubahan karena perubahan akan
selalu diterima.
2) Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga
anjuran untuk melakukan apa yang diperlukan hari itu juga).
3) XP tidak memiliki dokumentasi formal yang dibuat selama
pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang
dilakukan oleh user.
E. Kondisi Ideal
Penerapan dari Extreme Programing cocok untuk teknologi atau
prototipe baru, dimana persyaratan berubah dengan cepat, atau beberapa
15. 13
pengembangan diperlukan untuk menemukan masalah pelaksanaan yang tak
terduga (Ningsih, 2013). Contoh penerapan ideal yaitu untuk pembuatan
aplikasi sistem perusahaan yang sedang melakukan transisi dari cara manual
ke system yang terkomputerisasi. Atau dengan kata lain untuk user yang
sudah terbiasa dengan system manual namun ingin meminta programmer
untuk membuat system computer yang sesuai dengan sitem manual yang
telah ada.
16. 14
BAB III
PENUTUP
3.1 Kesimpulan
Berdasarkan rumusan masalah diatas, maka dapat dapat ditarik kesimpulan
bahwa
1. Model Agile adalah proses pengembangan software yang berkembang pada
tahun 1990. Kata Agile berarti bersifat cepat, ringan, bebas bergerak,
waspada. Proses pengembangan agile dilakukan secara iterasi atau
perulangan. Singkatnya jika suatu proyek pengembangan software dikerjakan
dengan menggunakan metode agile, maka selama waktu pengerjaannya akan
selalu dijumpai proses pengembangan yang dilakukan berulang. Tahapan
model Agile, meliputi a) Perencanaan, b) Requirements Analysis, c) Desain,
d) Coding, e) Testing, dan f) Dokumentasi.
2. eXtreme Programming (XP) adalah metode pengembangan perangkat lunak
yang ringan dan termasuk salah satu agile methods yang dipelopori oleh Kent
Beck, Ron Jeffries, dan Ward Cunningham. eXtreme Programming sebagai
sebuah metode yang dinamis diperlihatkan dalam empat values yang
dimilikinya, yaitu komunikasi (communication), kesederhanaan (simplicity),
umpan balik (feedback), dan keberanian (courage). Tahapan eXtreme
Programming, meliputi a) Planning, b) Design, c) Coding, dan d) Testing.
17. 15
DAFTAR PUSTAKA
1
Aditya, Achmad Cahya. 2013. “Metode Agile”. Tersedia pada http://www.top-
ilmu.com/2013/10/metode-agile.html. Diakses pada tanggal 6 April
2016.
2
Anonim. 2013. “Model Extreme Programming (XP)”. Tersedia pada https://
levi91.wordpress.com/2013/03/17/model-extreme-programming-xp/.
Diakses pada tanggal 6 April 2016.
3
Dennislouis. 2014. “Kelebihan dan Kekurangan Agile, Waterfall, Rapid
Application Development (RAD), Extreme Programing (XP), Rational
Unified Process (RUP), Scrum Development”. Tersedia pada
http://dennis-louis.blogspot.co.id/2014/01/kelebihan-dan-kekurangan-
agile.html. Diakses pada tanggal 6 April 2016.
4
Ependi, Usman dan Qoriani Widayati. 2014. Rancang Bangun Aplikasi Kamus
Istilah Akuntansi pada Smartphone dengan Metode Extreme
Programming. Seminar Nasional Teknologi Informasi dan
Multimedia 2014. ISSN: 2302-3805. Yogyakarta: Program Studi
Teknik Informatika, Fakultas Ilmu Komputer, Universitas Bina
Darma.
5
Imansyah, Dani. 2012. “Agile Model Proses”. Tersedia pada
https://www.scribd.com/doc/84897015/Agile-Model-Proses. Diakses
pada tanggal 6 April 2016.
6
Ningsih, Dwix. 2013. “Kelebihan dan Kekurangan Model Metode Pengembangan
Sistem [II]”. Tersedia pada http://dwixuty.blogspot.com/
2013/10/kelebihan-dan-kekurangan-metode.html. Diakses pada
tanggal 6 April 2016.
7
Prasetyo, Dimas. (tt). Aplikasi Pelacakan Lokasi Sales Marketing dengan Remote
GPS Berbasis Android. Semarang: Program Studi Teknik Informatika,
Fakultas Ilmu Komputer, Universitas Dian Nuswantoro
8
Widodo dan Massus Subekti. 2006. Requirements Management pada Extreme
Programming. Seminar Nasional Aplikasi Teknologi Informasi 2006
(SNATI 2006). ISSN: 1907-5022. Yogyakarta: Jurusan Teknik
Elektro, Fakultas Teknik, Universitas Negeri Jakarta.
9
Widodo. 2008. Extreme Programming: Pengembangan Perangkat Lunak Semi
Formal. Konferensi dan Temu Nasional Teknologi Informasi dan
Komunikasi untuk Indonesia. Jakarta: Jurusan Teknik Elektro,
Fakultas Teknik, Universitas Negeri Jakarta.
18. 16
10
Wikipedia. 2016. “Agile Development Methods”. Tersedia pada
https://id.wikipedia.org/wiki/Agile_Development_Methods. Diakses
pada tanggal 6 April 2016.