Makalah Kelompok

RAKAYASA PIRANTI  LUNAK

MODEL EXTREME PROGRAMING

 Untitled

DISUSUN OLEH         :

Eva fahrudin

Eko

Hengky tornando

Linda

M, riyan surya n,

Richi setiawan

Zakiatu rofingah


SEKOLAH TINGGI MANAJEMEN DAN ILMU KOMPUTER
(STMIK) RAHARJA
TANGERANG
2012/2013

 

ABSTRAKSI

Extreme Programming (XP) merupakan salah satu metodologi dalam rekayasa perangkat lunak dan juga merupakan satu dari beberapa agile software development methodologies yang berfokus padacoding sebagai aktivitas utama di semua tahap pada siklus pengembangan perangkat lunak (software development lifecycle). Metodologi ini mengedepankan proses pengembangan yang lebih responsive terhadap kebutuhan customer (”agile”) dibandingkan dengan metode-metode tradisional sambil membangun suatu software dengan kualitas yang lebih baik.

Extreme Programming muncul menawarkan sebuah disiplin baru dalam pengembangan software secaraagile. Nilai dasar yang terkandung di dalam Extreme Programming adalah: Komunikasi (Communication), Kesederhanaan (Simplicity), Umpan balik (Feedback) Keberanian (Courage) dan menghormati (Respect).

Kata Kunci: Extreme Programming, agile, coding, komunikasi, kesederhanaan, umpan balik, keberanian, menghormati.

LATAR BELAKANG XP

Requirement yang berubah dengan cepat menuntut lifecycles yang lebih pendek, dan tidak selaras dengan metoda pengembangan tradisional, yang pada umumnya memerlukan disain luas di awal dan mengakibatkan perubahan desain yang terjadi kemudian memerlukan biaya yang lebih tinggi atau kehilangan milestones.

Berdasarkan hal ini kemudian dilahirkan konsep XP yang digagas oleh Kent Beck dan Ward Cunningham pada Maret 1996. Metode XP merupakan yang terpopuler dari beberapa metodologi pengembangan software yang dipakai untuk mengimplementasikan proyek pengembangan perangkat lunak.

TUJUAN XP

Tujuan utama XP adalah menurunkan biaya dari adanya perubahan software. Dalam metodologi pengembangan sistem tradisional, kebutuhan sistem ditentukan pada tahap awal pengembangan proyek dan bersifat fixed. 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 fleksibel terhadap perubahan.

KUNCI UTAMA XP

Menurut penggagas dari metode XP, Kent Beck mendefinisikan empat kunci utama (inti) dari XP yaitu:

1. Communication (Komunikasi)

Tugas utama developer dalam membangun suatu sistem perangkat lunak adalah mengkomunikasikan kebutuhan sistem kepada pengembang perangkat lunak. Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming). Developer didampingi oleh pihak klien dalam melakukan coding dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer. Tujuannya untuk memberikan pandangan pengembang sesuai dengan pandangan pengguna sistem.

2. Simplicity (Kesederhanaan)

XP mencoba untuk mencari solusi paling sederhana dan praktis. Perbedaan metode ini dengan metodologi pengembangan sistem konvensional lainnya terletak pada proses desain dan coding yang terfokus pada kebutuhan saat ini daripada kebutuhan besok, seminggu lagi atau sebulan lagi. Lebih baik melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan.

3. Feedback (Masukan)

Hal ini diperlukan untuk mengetahui kemajuan dari proses dan kualitas dari aplikasi yang dibangun. Informasi ini harus dikumpulkan setiap interval waktu yang singkat secara konsisten. Ini dimaksudkan agar hal-hal yang menjadi masalah dalam proses pengembangan dapat diketahui sedini mungkin. Setiap feed back ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).

4. Courage (Keberanian)

Berani mencoba ide baru. Berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki. Contoh dari courage adalah komitmen untuk selalu melakukan design dan coding untuk saat ini dan bukan untuk esok. Ketika ada kode yang terlalu rumit, sulit dibaca dan dipahami, tidak sesuai dengan kemauan pelanggan, dll maka seharusnya kode program seperti itu di refactor (kalau perlu dibangun ulang). Hal ini menjadikan pengembang merasa nyaman dengan refactoring program ketika diperlukan.

5. Respect (Menghormati)

Pentingnya respect terhadap anggota team lainnya karena dengan siklus pendek dan integrasi continue, programmer tidak boleh melakukan perubahan yang dapat merusak kompilasi dan menyebabkan keberadaan unit uji gagal atau memperlambat kerja team. Respects tiap individu akan selalu menghasilkan kualitas tinggi.

PENERAPAN XP

Beberapa hal yang harus dipertimbangkan sebelum seseorang masuk dalam dunia XP adalah sebagai berikut:

1. User harus memahami konteks bisnis yang akan dikembangkan sistemnya, sehingga developer dapat menangkap sistem secara aplikatif dan dapat mengusulkan teknologi apa yang dapat dikembangkan dalam sistem barunya.

2. Akan lebih efektif apabila developer pernah menangani proyek pengembangan sistem yang sejenis sehingga dapat memberikan usulan model sistem baru, di samping alasan bahwa developer telah memiliki template aplikasi sistem tersebut untuk dijadikan prototype sistem baru. Hal ini akan berimplikasi kepada kemudahan dalam konstruksi sistem karena dikembangkan berdasarkan template yang sudah ada.

3. Extreme programming menuntut komunikasi antar developer dan user secara intensif dan komunikasi internal antar developer secara komprehensif, sehingga akan lebih representatif apabila tahap pengembangan sistem dilakukan di lokal yang mendukung proses komunikasi tersebut.

XP adalah suatu bentuk pembangunan perangkat lunak yang berbasis nilai kemudahan, komunikasi, umpan balik, dan keberanian. Bekerja dalam whole team bersama-sama dengan praktek yang mudah. Adapun inti penerapannya adalah:

  1. Planning Game
  2. Small, frequent releases
  3. System metaphors
  4. Simple design
  5. Testing (unit testing & TDD)
  6. Frequent refactoring
  7. Pair programming
  8. Collective code ownership
  9. Continuous integration
  10. Sustainable pace
  11. Whole team together
  12. Coding standards

KESIMPULAN

Keuntungan XP:

  • Menjalin komunikasi yang baik dengan client.
  • Meningkatkan komunikasi dan sifat saling menghargai antar developer.

Kerugian XP:

  • Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
  • Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).

STUDI KASUS

IMPLEMENTASI TEST DRIVEN DEVELOPMENT DALAM LINGKUNGAN EXTREME PROGRAMMING STUDI KASUS: PEMINJAMAN BUKU DI PERPUSTAKAAN STT TELKOM THE IMPLEMENTATION OF TEST DRIVEN DEVELOPMENT IN EXTREME PROGRAMMING ENVIRONMENT CASE STUDY: BORROWING-BOOK SYSTEM IN STT TELKOM LIBRARY

Extreme Programming (XP) adalah sebuah metodologi pada pengembangan perangkat lunak yang berdasarkan pada simplicity, communication, feedback, dan courage. Salah satu praktik dari XP adalah TDD (Test Driven Development), TDD merupakan teknik pengembangan perangkat lunak yang melakukan tes pada interface-interface dari implementasi perangkat lunak dan semua kode program harus melalui tes. TDD digunakan untuk mengurangi kerugian yang ditimbulkan dari perubahan requirement. Proses yang terdapat dalam TDD salah satunya adalah refactoring. Refactoring adalah teknik untuk merestruktur program dengan teknikteknik tertentu supaya memiliki struktur kode program dan disain yang baik.
Pada tugas akhir ini telah dibangun suatu perangkat lunak peminjaman buku di Perpustakaan, studi kasus di Unit Pelayanan Teknis Perpustakaan STT Telkom. Perangkat lunak ini sebelumnya telah dibangun dengan mengutamakan disain bukan implementasi. Selanjutnya perangkat lunak dibangun ulang dengan teknik Test Driven Development supaya memiliki struktur dan disain yang lebih baik.
Refactoring dapat dikatakan berhasil jika telah memiliki nilai McCabe’s cyclomatic yang rendah yaitu 1 sampai 10. Karena dengan kecilnya nilai McCabe’s cyclomatic menyatakan kesederhana perangkat lunak dan memiliki resiko error yang kecil. Pada studi kasus ini nilai rata-rata McCabe’s cyclomatic sesudah di-refactoring lebih baik dari pada sebelum di-refactoring. Nilai rata-rata McCabe’s cyclomatic sebelum di-refactoring adalah 3,517, sedangkan sesudah di-refactoring adalah 1,241. Reusability object dapat diukur dengan teknik metrics suite, pada studi kasus ini nilai ideal belum dapat dicapai, namun hasilnya lebih baik dari pada hasil sebelum direfactoring. Nilai SCCr sebelum di-refactoring adalah 0,473, sedangkan nilai SCCr sesudah di-refactoring 0,46, sedangkan nilai ideal adalah 0,61 sampai 1. Nilai SCCp sebelum di-refactoring adalah 0,16, sedangkan nilai SCCp sesudah di-refactoring adalah 0,79, sedangkan nilai ideal adalah 0,42 sampai 0,77.

SUMBER:
http://adit279.com/?p=71 Diakses pada tanggal 18 Februari 2013, pada jam 11.57 WIB

http://digilib.ittelkom.ac.id/ 113010083, Syaiful Effendi, 2005, Diakses pada tanggal 18 Februari 2013, pada jam 12.21 WIB

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Logout / Ubah )

Twitter picture

You are commenting using your Twitter account. Logout / Ubah )

Facebook photo

You are commenting using your Facebook account. Logout / Ubah )

Google+ photo

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s