SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
i
Kade Ferry Apriyna
Zipgit_14@yahoo.com
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
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).
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.
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.
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.
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].
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
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
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).
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
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,
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.
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
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.
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.
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.
16
10
Wikipedia. 2016. “Agile Development Methods”. Tersedia pada
https://id.wikipedia.org/wiki/Agile_Development_Methods. Diakses
pada tanggal 6 April 2016.

Weitere ähnliche Inhalte

Was ist angesagt?

Metode pengembangan game digital
Metode pengembangan game digitalMetode pengembangan game digital
Metode pengembangan game digitalToto Haryadi
 
Slide Presentasi Game
Slide Presentasi GameSlide Presentasi Game
Slide Presentasi GameHamid San
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKMiftahul Muttaqin
 
MATERI UML(Unified Modelling Language)
MATERI UML(Unified Modelling Language)MATERI UML(Unified Modelling Language)
MATERI UML(Unified Modelling Language)Febry Mbah Man
 
Kerangka kerja interaksi
Kerangka kerja interaksiKerangka kerja interaksi
Kerangka kerja interaksiAriev Kusuma
 
Laporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptLaporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptWahyu Anggara
 
SISTEM INFORMASI MANAJEMEN-Badan Pengawasan Keuangan Pembangunan
SISTEM INFORMASI MANAJEMEN-Badan Pengawasan Keuangan PembangunanSISTEM INFORMASI MANAJEMEN-Badan Pengawasan Keuangan Pembangunan
SISTEM INFORMASI MANAJEMEN-Badan Pengawasan Keuangan PembangunanMila Masduki Masduki
 
Kerangka Acuan Kerja (Pengembangan Aplikasi Web Pengajuan Tugas Akhir)
Kerangka Acuan Kerja (Pengembangan Aplikasi Web Pengajuan Tugas Akhir)Kerangka Acuan Kerja (Pengembangan Aplikasi Web Pengajuan Tugas Akhir)
Kerangka Acuan Kerja (Pengembangan Aplikasi Web Pengajuan Tugas Akhir)Ivanda Zevi Amalia
 
Dokumen perencanaan proyek
Dokumen perencanaan proyekDokumen perencanaan proyek
Dokumen perencanaan proyekFirman Maulana
 
Tnd - Pengantar Manajemen Proyek Sistem Informasi - Temu 3
Tnd - Pengantar Manajemen Proyek Sistem Informasi - Temu 3Tnd - Pengantar Manajemen Proyek Sistem Informasi - Temu 3
Tnd - Pengantar Manajemen Proyek Sistem Informasi - Temu 3Tino Dwiantoro
 
Konsep Desain Sistem
Konsep Desain SistemKonsep Desain Sistem
Konsep Desain SistemRos Dina
 
Tata kelola teknologi informasi
Tata kelola teknologi informasiTata kelola teknologi informasi
Tata kelola teknologi informasiFaith Posumah
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...Uofa_Unsada
 
metode pengembangan JAD
metode pengembangan JADmetode pengembangan JAD
metode pengembangan JADRizma Ariyani
 

Was ist angesagt? (20)

Metode pengembangan game digital
Metode pengembangan game digitalMetode pengembangan game digital
Metode pengembangan game digital
 
Slide Presentasi Game
Slide Presentasi GameSlide Presentasi Game
Slide Presentasi Game
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMK
 
MATERI UML(Unified Modelling Language)
MATERI UML(Unified Modelling Language)MATERI UML(Unified Modelling Language)
MATERI UML(Unified Modelling Language)
 
Kerangka kerja interaksi
Kerangka kerja interaksiKerangka kerja interaksi
Kerangka kerja interaksi
 
Laporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptLaporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android ppt
 
SISTEM INFORMASI MANAJEMEN-Badan Pengawasan Keuangan Pembangunan
SISTEM INFORMASI MANAJEMEN-Badan Pengawasan Keuangan PembangunanSISTEM INFORMASI MANAJEMEN-Badan Pengawasan Keuangan Pembangunan
SISTEM INFORMASI MANAJEMEN-Badan Pengawasan Keuangan Pembangunan
 
sejarah dan perkembangan imk
sejarah dan perkembangan imksejarah dan perkembangan imk
sejarah dan perkembangan imk
 
Kerangka Acuan Kerja (Pengembangan Aplikasi Web Pengajuan Tugas Akhir)
Kerangka Acuan Kerja (Pengembangan Aplikasi Web Pengajuan Tugas Akhir)Kerangka Acuan Kerja (Pengembangan Aplikasi Web Pengajuan Tugas Akhir)
Kerangka Acuan Kerja (Pengembangan Aplikasi Web Pengajuan Tugas Akhir)
 
Dokumen perencanaan proyek
Dokumen perencanaan proyekDokumen perencanaan proyek
Dokumen perencanaan proyek
 
Tnd - Pengantar Manajemen Proyek Sistem Informasi - Temu 3
Tnd - Pengantar Manajemen Proyek Sistem Informasi - Temu 3Tnd - Pengantar Manajemen Proyek Sistem Informasi - Temu 3
Tnd - Pengantar Manajemen Proyek Sistem Informasi - Temu 3
 
Perancangan Desain Grafis
Perancangan Desain GrafisPerancangan Desain Grafis
Perancangan Desain Grafis
 
Konsep Desain Sistem
Konsep Desain SistemKonsep Desain Sistem
Konsep Desain Sistem
 
ANALISA
ANALISA ANALISA
ANALISA
 
Tata kelola teknologi informasi
Tata kelola teknologi informasiTata kelola teknologi informasi
Tata kelola teknologi informasi
 
Transport layer
Transport layerTransport layer
Transport layer
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
 
PKM KC Mevici Dianresti
PKM KC Mevici Dianresti PKM KC Mevici Dianresti
PKM KC Mevici Dianresti
 
metode pengembangan JAD
metode pengembangan JADmetode pengembangan JAD
metode pengembangan JAD
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 

Ähnlich wie Model Agile & eXtreme Programming (XP)

Buku ajar kecil 01
Buku ajar kecil 01Buku ajar kecil 01
Buku ajar kecil 01Ainul Yaqin
 
Modul rpl (final 2013)
Modul rpl (final 2013)Modul rpl (final 2013)
Modul rpl (final 2013)Ikka Utamy
 
RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdf
RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdfRPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdf
RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdfAhmadFairuzabadi1
 
Kualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxKualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxssuser7cc91f
 
( kualitas source code).pptx
( kualitas source code).pptx( kualitas source code).pptx
( kualitas source code).pptxRainLovy
 
Kualitas Source Code dan pengujian Program pptx
Kualitas Source Code dan pengujian Program pptxKualitas Source Code dan pengujian Program pptx
Kualitas Source Code dan pengujian Program pptxBongSemoi1506
 
Istu dana aditya 1112510811 tugas 1 (individu)
Istu dana aditya 1112510811 tugas 1 (individu)Istu dana aditya 1112510811 tugas 1 (individu)
Istu dana aditya 1112510811 tugas 1 (individu)istudana13
 
Kualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramKualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramYiufian
 
Week 5 - Agile Methods and Software Engineering Practice.pptx
Week 5 - Agile Methods and Software Engineering Practice.pptxWeek 5 - Agile Methods and Software Engineering Practice.pptx
Week 5 - Agile Methods and Software Engineering Practice.pptxStevenAdiSantoso
 
Kualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramKualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramNoviaAlisa
 
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptxKualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptxSusantiwu1
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakLusiana Diyan
 

Ähnlich wie Model Agile & eXtreme Programming (XP) (20)

Agile
AgileAgile
Agile
 
Agile
AgileAgile
Agile
 
RPL
RPLRPL
RPL
 
Materi PPL.docx
Materi PPL.docxMateri PPL.docx
Materi PPL.docx
 
Buku ajar kecil 01
Buku ajar kecil 01Buku ajar kecil 01
Buku ajar kecil 01
 
Modul rpl (final 2013)
Modul rpl (final 2013)Modul rpl (final 2013)
Modul rpl (final 2013)
 
RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdf
RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdfRPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdf
RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdf
 
Kualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptxKualitas Source Code dan Pengujian Program.pptx
Kualitas Source Code dan Pengujian Program.pptx
 
( kualitas source code).pptx
( kualitas source code).pptx( kualitas source code).pptx
( kualitas source code).pptx
 
Kualitas Source Code dan pengujian Program pptx
Kualitas Source Code dan pengujian Program pptxKualitas Source Code dan pengujian Program pptx
Kualitas Source Code dan pengujian Program pptx
 
Scrum in agile
Scrum in agileScrum in agile
Scrum in agile
 
Istu dana aditya 1112510811 tugas 1 (individu)
Istu dana aditya 1112510811 tugas 1 (individu)Istu dana aditya 1112510811 tugas 1 (individu)
Istu dana aditya 1112510811 tugas 1 (individu)
 
TUGAS PPT _ WAWAN WIDODO.pptx
TUGAS PPT _ WAWAN WIDODO.pptxTUGAS PPT _ WAWAN WIDODO.pptx
TUGAS PPT _ WAWAN WIDODO.pptx
 
Ringkasan Projek Manajemen
Ringkasan Projek ManajemenRingkasan Projek Manajemen
Ringkasan Projek Manajemen
 
Kualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramKualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian Program
 
Week 5 - Agile Methods and Software Engineering Practice.pptx
Week 5 - Agile Methods and Software Engineering Practice.pptxWeek 5 - Agile Methods and Software Engineering Practice.pptx
Week 5 - Agile Methods and Software Engineering Practice.pptx
 
Kualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian ProgramKualitas Source Code dan Pengujian Program
Kualitas Source Code dan Pengujian Program
 
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptxKualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
 
MPSI_P_1.pptx
MPSI_P_1.pptxMPSI_P_1.pptx
MPSI_P_1.pptx
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
 

Model Agile & eXtreme Programming (XP)

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