model agile & extreme programming (xp)

18

Click here to load reader

Upload: ferryxz-yamato

Post on 21-Apr-2017

1.718 views

Category:

Devices & Hardware


0 download

TRANSCRIPT

Page 1: Model Agile & eXtreme Programming (XP)

i

Kade Ferry Apriyna

[email protected]

Page 2: Model Agile & eXtreme Programming (XP)

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

Page 3: Model Agile & eXtreme Programming (XP)

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).

Page 4: Model Agile & eXtreme Programming (XP)

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.

Page 5: Model Agile & eXtreme Programming (XP)

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.

Page 6: Model Agile & eXtreme Programming (XP)

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.

Page 7: Model Agile & eXtreme Programming (XP)

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].

Page 8: Model Agile & eXtreme Programming (XP)

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

Page 9: Model Agile & eXtreme Programming (XP)

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

Page 10: Model Agile & eXtreme Programming (XP)

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).

Page 11: Model Agile & eXtreme Programming (XP)

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

Page 12: Model Agile & eXtreme Programming (XP)

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,

Page 13: Model Agile & eXtreme Programming (XP)

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.

Page 14: Model Agile & eXtreme Programming (XP)

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

Page 15: Model Agile & eXtreme Programming (XP)

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.

Page 16: Model Agile & eXtreme Programming (XP)

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.

Page 17: Model Agile & eXtreme Programming (XP)

15

DAFTAR PUSTAKA

1Aditya, Achmad Cahya. 2013. “Metode Agile”. Tersedia pada http://www.top-

ilmu.com/2013/10/metode-agile.html. Diakses pada tanggal 6 April

2016.

2Anonim. 2013. “Model Extreme Programming (XP)”. Tersedia pada https://

levi91.wordpress.com/2013/03/17/model-extreme-programming-xp/.

Diakses pada tanggal 6 April 2016.

3Dennislouis. 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.

4Ependi, 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.

5Imansyah, Dani. 2012. “Agile Model Proses”. Tersedia pada

https://www.scribd.com/doc/84897015/Agile-Model-Proses. Diakses

pada tanggal 6 April 2016.

6Ningsih,

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.

7Prasetyo, Dimas. (tt). Aplikasi Pelacakan Lokasi Sales Marketing dengan Remote

GPS Berbasis Android. Semarang: Program Studi Teknik Informatika,

Fakultas Ilmu Komputer, Universitas Dian Nuswantoro

8Widodo 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.

9Widodo. 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.

Page 18: Model Agile & eXtreme Programming (XP)

16

10Wikipedia. 2016. “Agile Development Methods”. Tersedia pada

https://id.wikipedia.org/wiki/Agile_Development_Methods. Diakses

pada tanggal 6 April 2016.