You are on page 1of 13

Makalah

Sistem Informasi Manajemen


Extreme Programming

DOSEN PENGAJAR
ASEP JALALUDIN.ST.MM

NAMA KELOMPOK 1
DEDE KUSAERIAH
ABDUL HARIS WANDA
DIRMAN

12429038
12429001

12429046

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER


(STMIK) CIKARANG
1|Page

DAFTAR ISI
COVER..1
Daftarisi.........................................................................................2
kata pengantar..............................................................................3
pendahuluan ................................................................................4
A. Pembahasan.5
>Sekilas eXtremeProgramming..5
>12 practices utama XP...............................................................6
>Penjelasan12 practices utama......................................7
>Documentasi..............................................................................8
>Prinsip XP padapada Agile Methods .....................................9
>Metodesemi formal...................................................................10
>TujuanXp...11
>KelebihandanKekurangan.......11
B. Penutup................................................................12
C. Daftarpustaka ........................................................................13

2|Page

KATA PENGANTAR

Puji syukur kehadirat ALLAH SWT, yang telah senantiasa melimpahkan


Rahmat dan Hidayah- NYA sehingga kita semua dalam keadaan sehat
walafiat dalam menjalankan aktifitas sehari-hari. Penyusun juga
panjatkan kehadiran ALLAH SWT, karena hanya dengan keridoan-NYA
Makalah dengan judul Extreme Programming ini dapat terselesaikan.
Penulis menyadari betul sepenuhnya bahwa tanpa bantuan dari berbagai
pihak, makalah ini tidak akan terwujud dan masih jauh dari sempurna,
oleh karena itu dengan segala kerendahan hati penulis berharap saran dan
kritik demi perbaikan-perbaikan lebih lanjut.
Akhirnya penulis berharap, semoga makalah ini dapat memberikan
manfaat bagi yang membutuhkan.

Penulis
Dede kusaeriah , Abdul haris, Dirman

3|Page

PENDAHULUAN
Perkembangan teknologi informasi yang pesat membawa pengaruh yang
sangat berarti pada kehidupan manusia dewasa ini. Teknologi informasi
memiliki berbagai unsur yang membangunnya menjadi kesatuan yang kokoh.
Salah satu unsur teknologi informasi adalah perangkat lunak. Perangkat lunak
merupakan kumpulan objek yang membentuk konfigurasi yang dapat berupa
program, dokumen, atau data. Perangkat lunak adalah sesuatu yang
dikembangkan, bukan dibuat secara pabrikan seperti perangkat keras.
Pengembangan perangkat lunak memerlukan langkah-langkah yang tepat,
efektif dan efisien untuk menjamin terpenuhinya kebutuhan user. Untuk itulah
berkembang berbagai metodologi pengembangan perangkat lunak. Sebelum
era 2000-an kita mengenal metodologi waterfall, spiral model, Rapid
Application Development, dan masih banyak beberapa lainnya. Semua
metodologi tersebut merupakan metodologi yang formal, dalam arti
seluruhnya berjalan mengikuti aturan-aturan baku yang telah ditetapkan.
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. Saat ini 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)
>Feature Driven Development (FDD)
4|Page

Pada makalah ini hanya eXtreme Programming yang akan dibahas, karena
metodologi ini sangat populer. Disamping itu jika dilihat dari tingkat
keformalannya, yang akan dibahas pada bagian berikutnya, XP merupakan
metodologi yang paling kecil tingkat keformalannya

A. PEMBAHASAN
>Sekilas eXtreme Programming
eXtreme Programming (XP) merupakan agile methods yang paling populer saat
ini. XP digunakan untuk mengatasi masalah requirements yang tidak jelas dan
sering berubah-ubah (vague and volatile requirements). XP berjalan
berdasarkan 4 values. Keempat values tersebut adalah communication,
simplicity, feedback, dan courage. XP menjadi begitu populer sejak
diperkenalkan oleh Kent Beck menjadi sebuah metodologi untuk
pengembangan perangkat lunak. XP dimunculkan untuk menangani
perubahan-perubahan yang biasanya sering terjadi pada saat pengembangan
berlangsung bahkan pada saat proses pengembangan sudah hampir berakhir.
Selain itu XP juga dimunculkan untuk mengatasi berbagai requirements yang
tidak jelasdari user. Sebagai sebuah metodologi untuk mengembangkan
peragkat lunak XP tentu memiliki siklus hidup. Siklus hidup pada XP ini terdapat
lima fase yaitu [1] :
1. Exploration Phase
2. Planning Phase
3. Iteration to Release Phase
4. Productionizing Phase
5. Maintenance Phase
6. Death Phase

5|Page

Gambar 1. Siklus hidup eXtreme Programming


Selain itu XP memiliki 12 practice yang sangat mencirikan ke-ekstremannya.
Meskipun para developer mungkin memiliki practices yang berbeda namun
secara mendasar XP memiliki 12 practices utama yaitu:
1) Planning Game
2)Small Releases
3) Metaphor
4) Simple Design
5) Testing
6)Refactoring
7) Pair Programming
8) Collective Ownership
9) Continuous Integration
10)40-hour week
11) On-site Customer
12)Coding Standard

6|Page

>Planning game merupakan practice yang digunakan untuk melakukan


perencanaan dan melakukan prioritas terhadap fitur-fitur yang dituliskan pada
index card oleh customer.
>Small releases, rilis yang dihasilkan untuk setiap iterasi sangat pendek dan
dengan umpan balik terhadap perubahan dari customer juga sangat cepat.
>Metaphor adalah semacam simple guidance bagi proses pengembangan dari
fase paling awal hingga terakhir.
>Simple design merupakan rancangan yang sederhana untuk di-deliver pada
setiap iterasi.
>Testing yang dilakukan adalah setiap saat bahkan terdapat testing diawal.
>Refactoring adalah proses untuk memperbaiki code selain untuk menghindari
berbagai redundansi yang mungkin terjadi. Pair programming menjadi practice
yang tidak terdapat pada agie methods yang lain.
>Pair programming adalah proses pengembangan dengan memprogram di
satu mesin komputer yang dilakukan oleh dua orang programmer.
>Collective ownership adalah keadaan di mana semua anggota tim harus
dapat menanggulangi semua hal yang berkaitan dengan proses
pengembangan.
>Continuous integration bahwa proses pengembangan setiap hari bahkan
setiap saat terdapat perubahan harus segera diintegrasikan.
>40-hour week adalah jumlah jam kerja selama satu minggu. Hal ini
sebenarnya tidak mutlak 40 jam, namun intinya adalah bahwa proses
pengembangan tidak mengenal lembur, semua harus diselesaikan pada saat
jam kerja. Semua masalah dan pekerjaan harus dioptimalkan pada waktu jam
kerja tersebut.
>On-site customer, merupakan salah satu keunggulan bagi metodologi ini
karena XP memerlukan satu orang dari pihak bisnis yang akan dibawa dalam
proses pengembangan dari awal sampai berakhir. Hal ini akan cepat dalam
mengatasi berbagai requirements yang mungkin akan berubah atau
bertambah, namun akan mengurangi produktivitas pada pihak bisnis.

7|Page

>Coding Standard adalah men-standarkan proses coding bagi programmer


terutama karena hal ini berkaitan dengan practice pair programming.

Dokumentasi
Salah satu perbedaan XP dengan metodologi lainnya adalah XP tidak memiliki
dokumentasi formal yang dibuat selama pengembangan. Satu-satunya
dokumentasi adalah dokumentasi awal yang dilakukan oleh user. Dokumentasi
tersebut berupa user stories yang ditulis manual pada sebuah index card. User
stories ini menggambarkan fiturfitur yang merupakan requirements dari user
yang diharapkan dapat diselesaikan menjadi fungsi-fungsi pada perangkat
lunak yang dibangun.
Dokumentasi awal yang dinyatakan oleh user pada index card tersebut juga
tidak memiliki umur yang lama. Jika satu story yang ditulis oleh user telah
berhasil diimplementasikan menjadi fungsi oleh programmer, maka user
stories tersebut segera dibuang. Ini adalah konsep dasar dari XP yang sangat
minimum dokumentasi. Hal ini dilakukan untuk menjaga ke-agile-an
metodologi ini, karena jika terlalu banyak dokumentasi (formal), maka sebuah
metodologi pengembangan perangkat lunak tidak lagi dapat diklasifikasikan ke
dalam agile methods.
Setiap perubahan atau penambahan fungsi maupun fiturfitur dapat
disampaikan langsung oleh onsite customer tanpa harus membuat surat resmi
yang menyatakan permintaan penambahan dan perubahan. Pihak
pengembang juga dapat merespon seketika tanpa harus membuat pernyataan
resmi, saat itu juga sesuai dengan practice collective ownership, meskipun
programmer mungkin sedang tidak berada di tempat (istirahat), maka
perubahan atau penambahan terhadap fungsi dalam code program dapat
dilakukan oleh siapapun yang siap.
Sebenarnya dokumentasi XP tersebut merupakan kelemahan bagi metodologi
ini. Penulis pernah mengusulkan dalam [6] untuk memperbaiki model
pengembangan dengan menambahkan satu fase yang
Exploration disebut requirements management phase. Fase ini tidak akan
mengeluarkan metodologi ini dari agile methods karena hanya menambahkan
8|Page

sedikit dokumentasi yang tidak berat. Atau alternatif lain dari penulis adalah
mengkombinasikan dengan Unified Process menjadi Enhanced XP [7].
Terlepas dari semua hal tersebut, XP menjadi sebuah metodologi yang semi
formal karena semua dilakukan dengan practice yang sederhana. Semua ini
karena XP mengacu pada proses pengembangan agile methods yang memiliki
prinsip-prinsip kesederhanaan.
Prinsip Agility pada XP yang mengacu pada Agile Methods
Agile Alliance mendefinisikan 12 prinsip untuk mencapai proses yang termasuk
dalam agility:
1. Prioritas tertinggi adalah memuaskan pelanggan melalui penyerahan awal
dan berkelanjutan perangkat lunak yang bernilai.
2. Menerima perubahan requirements meskipun perubahan tersebut diminta
pada akhir pengembangan.
3. Memberikan perangkat lunak yang sedang dikerjakan dengan sering,
beberapa minggu atau beberapa bulan, dengan pilihan waktu yang paling
singkat.
4. Pihak bisnis dan pengembang harus bekerja sama setiap hari selama
pengembangan berjalan.
5. Bangun proyek dengan individu-individu yang bermotivasi tinggi dengan
memberikan lingkungan dan dukungan yang diperlukan, dan mempercayai
mereka sepenuhnya untuk menyelesaikan pekerjaannya.
6. Metode yang paling efektif dan efisien dalam menyampaikan informasi
kepada tim pengembangan adalah dengan komunikasi langsung face-to-face.
7. Perangkat lunak yang dikerjakan merupakan pengukur utama kemajuan.
8. Proses agile memberikan proses pengembangan yang bisa ditopang.
Sponsor, pengembang, dan user harus bisa menjaga ke-konstanan langkah
yang tidak pasti.
9. Perhatian yang terus menerus terhadap rancangan dan teknik yang baik
meningkatkan agility.
9|Page

10. Kesederhanaan seni untuk meminimalkan jumlah pekerjaan adalah


penting.
11. Arsitektur, requirements, dan rancangan terbaik muncul dari tim yang
mengatur sendiri.
12. Pada interval reguler tertentu, tim merefleksikan bagaimana menjadi lebih
efektif, kemudian menyesuaikannya.
Selain hal tersebut XP memiliki empat values yang mencerminkan
kesederhanaan dalam proses pengembangannya seperti disebutkan oleh Kent
Beck [2].

Keempat values tersebut adalah :


1. Komunikasi (Communication)
2. Kesederhanaan (Simplicity)
3. Umpan Balik (Feedback)
4. Keberanian (Courage)

Metodologi Semi Formal


Setelah melihat sekilas beberapa practice XP dan prinsipprinsip agile methods,
maka dapat disempulkan XP merupakan metodologi pengembangan perangkat
lunak yang tidak terlalu formal atau bisa dikatakan semi formal. Beberapa hal
yang dapat menjadikan XP masuk kategori metodologi semi formal adalah: 1.
Komunikasi yang selalu bersifat oral tanpa dokumentasi formal. 2. Umpan balik
yang segera setelah mendapat respon dari user. 3. Collective ownership yang
tidak menggantungkan pekerjaan pada satu orang saja. 4. Perubahan dan
penambahan requirements dapat direspon meskipun proses pengembangan
sudah hampir selesai. 5. Proses pengembangan yang menyertakan satu orang
dari pihak user menjadi onsite customer memudahkan komunikasi selama
proses pengembangan.

10 | P a g e

Tujuan Extreme Programming


Tujuan utama dalam extreme programming adalah menurunkan biaya dari
adanya perubahan software .Dalam metodologi pengembangan sistem
tradisional, kebutuhan sistem ditentukan padatahap awal pengembangan proyek
dan bersifat xed. Hal ini berarti biaya terhadap adanya perubahan kebutuhan
yang terjadi pada tahap selanjutnya akan menjadi mahal. XP diarahkan untuk
menurunkan biaya dari adanya perubahan dengan memperkenalkan nilai-nilai
basis dasar, prinsip dan praktis. Dengan menerapkan XP, pengembangan suatu
sistem haruslah lebih eksibel terhadap perubahan. Sasaran XP adalah tim yang
dibentuk berukuran antara kecil sampai medium saja, tidak perlu menggunakan
sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi requirements
yang tidak jelas maupun terjadinya perubahan-perubahan requirements yang
sangat cepat. XP dimunculkan untuk menangani perubahan-perubahan yang
biasanya sering terjadi pada saat pengembangan berlangsung bahkan pada saat
proses pengembangan sudah hampir berakhir.

Kelebihan dan Kelemahan Extreme Programing


Keunggulan:
Menjalin komunikasi yang baik dengan klien. (Planning Phase)
Menurunkan biaya pengembangan (Implementation Phase)
Meningkatkan komunikasi dan sifat saling menghargai antar developer.
(Implementation Phase)
XP merupkan metodologi yang semi formal. (Planning Developer harus
selalu siap dengan perubahan karena perubahan akan selalu diterima, atau
dengan
kata lain eksibel. (Maintenance Phase)
Kelemahan :
Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga
anjuran untuk melakukan
11 | P a g e

apa yang diperlukan hari itu juga). Selain dari keunggulan dan kelemahan XP
yang telah disebutkan
diatas, XP juga memiliki keunggulan yang sekaligus menjadi kelemahannya,
yaitu XP tidak memiliki
dokumentasi formal yang dibuat selama pengembangan. Satu-satunya
dokumentasi adalah dokumentasi awal yang dilakukan oleh user.

B. PENUTUP
Perkembangan ilmu rekayasa perangkat lunak yang semakin pesat dewasa ini
telah menyebabkan perkembangan metodologi pengembangannya. Tingkat
kepuasan user terhadap proses pengembangan perangkat lunak juga semakin
kompleks menyangkut berbagi perubahan dan penambahan requirements.
Oleh karena itu XP menjawabnya sebagai sebuah metodologi pengembangan
perangkat lunak yang semi formal. Kesemiformalannya tersebut diperlihatkan
dalam berbagai values, practice, maupun prinsip-prinsipnya yang mengacu
pada agile methods.
Konsep yang paling nyata dalam kesemiformalannya tersebut adalah
Komunikasi yang selalu bersifat oral. Dengan proses pengembangan yang
berkomunikasi secara oral, maka akan lebih terjalin komunikasi yang
memudahkan proses pengembangan perangkat lunak tersebut. Dengan
metodologi yang tidak terlalu resmi tersebut XP mempermudah jembatan
komunikasi antara pihak user dan pihak pengembang. Pihak user dapat
langsung memonitor proses pengembangan dengan onsite customer tanpa
kekakuan, dan pihak pengembang dapat lebih sering berkomunikasi langsung
dengan representasi dari pihak bisnis.

12 | P a g e

C. Daftar Pustaka
[1]. P. Abrahamsson, O. Salo, J. Ronkainen, and J. Warsta. Agile Software
Development Methods: Review and Analysis. VTT Publication 478. Finland
[2]. K. Beck, R. Jeffries, and W. Cunningham. Extreme Programming: Embrace
Change.AddisonWesley.2000.
[3]. S. Hayes and M. Andrews, An Introduction to Agile Methods.
http://www. khatovartech.com. Khatovar Technology. 2001
[4]. M.C. Paulk, Extreme Programming from a CMM Perspective.
http://www.sei.cmu.edu/ cmm/papers/xp-cmm-paper.pdf. 2001
[5]. R. Pressman, Software Engineering: A Practitioners Approach, 6th
edition, McGraw-Hill, 2005. [6]. Widodo, Requirements Managements pada
eXtreme Programming, Prosiding Seminar Nasional Ilmu Komputer dan
Teknologi Informasi (SNIKTI) Fakultas Ilmu Komputer Universitas Indonesia,
Januari 2007
[7]. Widodo, Enhanced Extreme Programming: Adopsi Model Unified Process
pada Metodologi eXtreme Programming, Prosiding Seminar Nasional
Teknologi Informasi (SNTI) Universitas Tarumanagara, Oktober 2007.

13 | P a g e

You might also like