Jakarta Aktual
Jakarta Aktual

Berita Aktual dan Faktual

Jakarta Aktual
Jakarta Aktual© 2026
Jakarta Aktual
Jakarta Aktual

Berita Aktual dan Faktual

BerandaWikiPemrograman ekstrem
Artikel Wikipedia

Pemrograman ekstrem

Pemrograman ekstrem adalah metodologi pengembangan perangkat lunak yang dimaksudkan untuk memperbagus mutu perangkat lunak dan ketanggapan untuk keperluan pelanggan yang terus berubah. Sebagai suatu jenis pengembangan perangkat lunak tangkas, pemrograman ekstrem menganjurkan rilis yang sering dalam daur pengembangan pendek, dimaksudkan untuk memperbagus keproduktifan dan memperkenalkan titik pengecekan di mana keperluan pelanggan baru dapat diangkat.

Wikipedia article
Diperbarui 11 Oktober 2025

Sumber: Lihat artikel asli di Wikipedia

Pemrograman ekstrem
Perencanaan dan umpan balik berkesinambungan dalam pemrograman ekstrem.

Pemrograman ekstrem (bahasa Inggris: extreme programming, XPcode: en is deprecated ) adalah metodologi pengembangan perangkat lunak yang dimaksudkan untuk memperbagus mutu perangkat lunak dan ketanggapan untuk keperluan pelanggan yang terus berubah. Sebagai suatu jenis pengembangan perangkat lunak tangkas,[1][2][3] pemrograman ekstrem menganjurkan rilis yang sering dalam daur pengembangan pendek, dimaksudkan untuk memperbagus keproduktifan dan memperkenalkan titik pengecekan ([checkpoints] Galat: {{Lang}}: text has italic markup (bantuan)) di mana keperluan pelanggan baru dapat diangkat.

Unsur lain pemrograman ekstrem termasuk pemrograman secara berpasangan atau melakukan peninjauan kode secara luas, pengujian unit pada semua kode, tidak memprogramkan fitur baru sampai memang dibutuhkan, struktur pengelolaan datar, kejelasan dan kesederhanaan kode, mengharapkan perubahan dalam keperluan pelanggan begitu waktu berlalu sehingga masalah dipahami lebih baik, dan komunikasi sering dengan pelanggan dan pemrogram sejawat.[2][3][4] Metodologi ini memperoleh namanya dari gagasan bahwa praktik-praktik tradisional dari rekayasa perangkat lunak dapat dibawa unsur bermanfaatnya ke tahap yang "melampau". Misal, peninjauan kode dianggap praktik yang bermanfaat, dan bila dilaksanakan secara ekstrem, kode dapat ditinjau secara "berkesinambungan" (dengan kata lain, adalah praktik pemrograman berpasangan).

Sejarah

Kent Beck mengembangkan pemrograman ekstrem selama pekerjaannya di proyek penggajian [Chrysler Comprehensive Compensation System] Galat: {{Lang}}: text has italic markup (bantuan) (C3).[5] Beck menjadi pemimpin proyek C3 pada Maret 1996. Dia mulai memperhalus metodologi yang digunakan dalam proyeknya dan menulis sebuah buku tentang metodologinya, berjudul [Extreme Programming Explained] Galat: {{Lang}}: text has italic markup (bantuan), yang diterbitkan pada Oktober 1999.[5] Chrysler membatalkan proyek C3 pada Februari 2000, setelah tujuh tahun, ketika Daimler-Benz mengambil alih perusahaan.[6] Dalam pengembangan metodologi ini juga, Ward Cunningham menjadi salah satu yang turut memberi pengaruh.

Banyak praktik yang terkait pemrograman ekstrem telah ada sejak lama, sebab dalam gagasannya metodologi ini membawa praktik-praktik terbaik ke tahap melampau. Misal, "praktik pengembangan, perencanaan, dan penulisan pengujian terlebih dahulu sebelum setiap peningkatan mikro" telah digunakan sejak Proyek Merkurius NASA, pada awal tahun 1960-an.[7] Untuk mempersingkat waktu pengembangan secara keseluruhan, beberapa dokumen uji formal (seperti untuk pengujian penerimaan) telah dikembangkan secara sejalan dengan (atau sesaat sebelum) perangkat lunak yang siap diuji. Sehingga misal, sebuah kelompok penguji mandiri dari NASA dapat menulis tata cara pengujian, berdasarkan persyaratan formal dan batasan logis, sebelum pemrogram menulis perangkat lunak dan menyatupadukannya dengan perangkat keras. XP membawa konsep ini ke tingkat yang ekstrem, termasuk memprogrtamkan pengujian otomatis (terkadang di dalam modul perangkat lunak) yang mengabsahkan pengoperasian bahkan bagian kecil dari pengodean perangkat lunak, alih-alih hanya menguji fitur yang lebih besar.

Asal-usul

Pada tahun 1990-an, terdapat dua pengaruh besar yang membentuk pengembangan perangkat lunak:

  • Dari dalam, pemrograman berorientasi objek menggantikan pemrograman prosedural sebagai paradigma pemrograman yang disukai oleh beberapa pengembang.
  • Dari luar, munculnya Internet dan ledakan dot-com (bahasa Inggris: dot-com boomcode: en is deprecated ) menekankan kecepatan masuk pasar dan pertumbuhan perusahaan sebagai faktor bisnis yang bersaing.

Dari sinilah pada dunia komputer, muncul keperluan pelanggan yang terus berubah dalam waktu singkat, yang membuat metode tradisional pengembangan perangkat lunak kurang efisien. Keperluan demikian menuntut daur hidup produk yang lebih pendek.

[Chrysel Comprehensive System] Galat: {{Lang}}: text has italic markup (bantuan) (C3) dimulai untuk menentukan cara terbaik memakai teknologi objek dengan digunakannya sistem [payroll] Galat: {{Lang}}: text has italic markup (bantuan) oleh Chryslercode: en is deprecated sebagai objek penelitan, dengan [Smalltalk] Galat: {{Lang}}: text has italic markup (bantuan) sebagai bahasa dan GemSyone sebagai lapisan akses data. Chrysler mendatangkan Kent Beck,[5] seorang pelaksana Smalltalk terkemuka, untuk melakukan penyetelan kinerja pada sistem, tetapi perannya meluas saat dia mencatat beberapa masalah dengan proses pengembangan. Dia memanfaatkan kesempatan ini untuk mengusulkan dan menerapkan beberapa perubahan dalam praktik pengembangan - berdasarkan hasil karyanya dengan seorang pekerja sejawatnya, Ward Cunningham. Beck menguraikan pengonsepanbawal metode ini (diterjemakan dari bahasa Inggris):[8]

Saat pertama kali diminta untuk memimpin tim, saya meminta mereka untuk melakukan beberapa hal yang saya rasa masuk akal, seperti pengujian dan tinjauan. Kali kedua, ada banyak yang dipertaruhkan. Saya berpikir, "Persetan dengan urusan-urusan ini, setidaknya ini akan jadi artikel yang bagus," dan saya meminta tim untuk memaksimalkan segala hal yang saya anggap penting, dan meninggalkan semua yang lainnya.


Beck mengundang Ron Jeffries ke proyek untuk membantu mengembangkan dan menyempurnakan metodologi mereka. Jeffries kemudian bertindak sebagai pelatih untuk menanamkan praktik-praktik tersebut sebagai kebiasaan dalam tim C3.

Informasi mengenai landasan dan tata laksana di balik XP disebarluaskan ke seluruh dunia, melalui perbincangan di WikiWikiWeb milik Cunningham (yang merupakan wiki pertama yang diterbitkan). Berbagai kontributor memperbincangkan dan mengembangkan gagasan tersebut, dan dari situlah muncul beberapa metodologi hasil sampingan (lihat pula pengembangan perangkat lunak tangkas). Selain itu, konsep XP telah dijelaskan, selama beberapa tahun, menggunakan peta sistem hiperteks di situs web XP pada http://www.extremeprogramming.org ca 1999.

Beck menyunting serangkaian buku tentang XP, dimulai dengan bukunya sendiri [Extreme Programming Explained] Galat: {{Lang}}: text has italic markup (bantuan) (1999, ISBN 0-201-61641-6), yang menyebarkan gagasannya ke khalayak yang jauh lebih luas.

Keadaan terkini

XP menarik minat besar di kalangan komunitas perangkat lunak pada akhir tahun 1990-an dan awal 2000-an dengan adanya penerimaan metodologi tersebut di sejumlah lingkungan yang sangat berbeda dari asalnya.

Tata tertib tinggi yang dituntut oleh praktik-praktik asli XP seringkali terlupakan yang menyebabkan beberapa diantaranya sering terlipakan, seperti praktik-praktik yang dianggap terlalu kaku, ditinggalkan atau dikurangi, atau bahkan dibiarkan tak selesai, di situs-situs individu. Misal, praktik uji integrasi di penghujung hari untuk proyek tertentu dapat diubah ke jadwal akhir pekan, atau cukup dikurangi bebannya menjadi pengujian pada tanggal yang disetujui bersama. Jadwal yang lebih longgar demikian dapat menghindari orang-orang merasa terdesak membuat rintisan setengah-setengah hanya demi lulus pengujian di penghujung hari. Jadwal yang kurang kaku malahan memungkinkan pengembangan fitur-fitur kompleks selama beberapa hari.

Sementara itu, praktik pengembangan tangkas lainnya tidak tinggal diam, dan Templat:Aa of XP terus berkembang, menyerap lebih banyak pelajaran dari pengalaman di lapangan, untuk digunakan dalam praktik lain. Dalam edisi kedua [Extreme Programming Explained] Galat: {{Lang}}: text has italic markup (bantuan) (November 2004), lima tahun setelah edisi pertama, Beck menambahkan lebih banyak nilai dan praktik serta membedakan antara praktik utama dan praktik pelengkap.

Praktik

Pemrograman ekstrem dapat diterangkan memiliki 12 praktik, dikelompokkan menjadi empat jenis:

Umpan balik skala halus

  • Pemrograman berpasangan[5]
  • Permainan perencanaan
  • Pengembangan berbasis pengujian
  • Tim menyeluruh

Proses berkesinambungan

  • Integrasi berkesinambungan
  • Pemfaktoran ulang atau perbaikan rancangan[5]
  • Rilis kecil-kecilan

Pemahaman bersama

  • Standar kode
  • Kepemilikan kode kolektif[5]
  • Rancangan sederhana[5]
  • Metafora sistem

Kesejahteraan pemrogram

  • Kecepatan berkelanjutan

Kritikan

Omongan awal tentang pemrograman ekstrem dan landasan kontroversialnya, macam pemrograman berpasangan dan rancangan berkesinambungan, telah mendapat kecaman tertentu, seperti yang datang dari McBreen,[9] Boehm and Turner,[10] Matt Stephens dan Doug Rosenberg.[11] Namun, sebagian besar kecaman tersebut diyakini oleh pelaksana tangkas sebagai kesalahpahaman tentang cara pengembangan tangkas dikerjakan.[12]

Secara khusus, pemrograman ekstrem telah ditinjau dan dikritik oleh [Extreme Programming Refactored] Galat: {{Lang}}: text has italic markup (bantuan) karya Matt Stephens dan Doug Rosenberg.[6]

Referensi

  1. ↑ "Human Centred Technology Workshop 2006 ", 2006, PDF, Human Centred Technology Workshop 2006
  2. 1 2 UPenn-Lectures-design-patterns "Design Patterns and Refactoring", University of Pennsylvania, 2003 Diarsipkan August 2, 2010, di Wayback Machine..
  3. 1 2 USFCA-edu-601-lecture Extreme Programming.
  4. ↑ "Manifesto for Agile Software Development". Agilemanifesto.org. 2001. Diakses tanggal March 26, 2019.
  5. 1 2 3 4 5 6 7 Computerworld-appdev-92 "Extreme Programming", Computerworld (online), December 2001.
  6. 1 2 Rosenberg, Doug; Stephens, Matt (2003). Extreme Programming Refactored: The Case Against XP. Apress. ISBN 978-1-59059-096-6.
  7. ↑ Larman & Basili 2003.
  8. ↑ Interview with Kent Beck and Martin Fowler. March 23, 2001.
  9. ↑ McBreen, P. (2003). Questioning Extreme Programming. Boston, MA: Addison-Wesley. ISBN 978-0-201-84457-3.
  10. ↑ Boehm, B.; R. Turner (2004). Balancing Agility and Discipline: A Guide for the Perplexed. Boston, MA: Addison-Wesley. ISBN 978-0-321-18612-6.
  11. ↑ Stephens, Matt; Doug Rosenberg (2004). The irony of extreme programming. MA: Dr Dobbs journal.
  12. ↑ sdmagazine Diarsipkan March 16, 2006, di Wayback Machine.

Bacaan lebih lanjut

  • Ken Auer and Roy Miller. Extreme Programming Applied: Playing To Win, Addison–Wesley.
  • Ken Auer; Ron Jeffries; Jeff Canna; Glen B. Alleman; Lisa Crispin; Janet Gregory (2002). "Are Testers eXtinct? How Can Testers Contribute to XP Teams?". Extreme Programming and Agile Methods — XP/Agile Universe 2002. Lecture Notes in Computer Science. Vol. 2418. Springer-Verlag. hlm. 287. doi:10.1007/3-540-45672-4_50. ISBN 978-3-540-44024-6.
  • Kent Beck: Extreme Programming Explained: Embrace Change, Addison–Wesley. First edition, 1999. Second edition, with Cynthia Andres, 2004.
  • Kent Beck and Martin Fowler: Planning Extreme Programming, Addison–Wesley.
  • Alistair Cockburn: Agile Software Development, Addison–Wesley.
  • Martin Fowler: Refactoring: Improving the Design of Existing Code.With Kent Beck, John Brant, William Opdyke, and Don Roberts (1999). Addison-Wesley.
  • Harvey Herela (2005). Case Study: The Chrysler Comprehensive Compensation System. Galen Lab, U.C. Irvine.
  • Jim Highsmith. Agile Software Development Ecosystems, Addison–Wesley.
  • Ron Jeffries, Ann Anderson and Chet Hendrickson (2000), Extreme Programming Installed, Addison–Wesley.
  • Larman, C.; Basili, V.R. (June 2003). "Iterative and incremental developments. a brief history" (PDF). Computer. 36 (6): 47–56. doi:10.1109/MC.2003.1204375.
  • Matt Stephens and Doug Rosenberg (2003). Extreme Programming Refactored: The Case Against XP, Apress.
  • Waldner, JB. (2008). "Nanocomputers and Swarm Intelligence". In: ISTE, 225–256.

Pranala luar

  • A gentle introduction
  • Industrial eXtreme Programming
  • Problems and Solutions to XP implementation
  • Using an Agile Software Process with Offshore Development – ThoughtWorks' experiences with implementing XP in large distributed projects
  • l
  • b
  • s
Rekayasa perangkat lunak
Bidang
  • Analisis persyaratan
  • Analisis sistem
  • Desain perangkat lunak
  • Pemrograman komputer
  • Metode formal
  • Pengujian perangkat lunak
  • Penyebaran perangkat lunak
  • Pemeliharaan perangkat lunak
Konsep
  • Pemodelan data
  • Arsitektur perusahaan
  • Spesifikasi fungsional
  • Bahasa pemodelan
  • Paradigma pemrograman
  • Perangkat lunak
  • Arsitektur perangkat lunak
  • Metodologi pengembangan perangkat lunak
  • Proses pengembangan perangkat lunak
  • Kualitas perangkat lunak
  • Jaminan kualitas perangkat lunak
  • Arkeologi perangkat lunak
  • Analisis terstruktur
Orientasi
  • Agile
  • Berorientasi aspek
  • Berorientasi objek
  • Ontologi
  • Orientasi layanan
  • SDLC
Model
Model pengembangan
  • Agile
  • Model perancangan
  • RUP
  • EUP
  • Scrum
  • Model spiral
  • Model air terjun
  • XP
  • V-Model
  • Model bertahap
  • Model prototipe
Model lain
  • Automotive SPICE
  • CMMI
  • Model data
  • Model fungsi
  • Model informasi
  • Metamodeling
  • Model objek
  • Model sistem
  • Model pandangan
Bahasa pemodelan
  • IDEF
  • UML
  • SysML
Teknisi
Perangkat lunak
  • Kent Beck
  • Grady Booch
  • Fred Brooks
  • Barry Boehm
  • Peter Chen
  • Ward Cunningham
  • Ole-Johan Dahl
  • Tom DeMarco
  • Martin Fowler
  • C. A. R. Hoare
  • Watts Humphrey
  • Michael A. Jackson
  • Ivar Jacobson
  • James Martin
  • Bertrand Meyer
  • David Parnas
  • Winston W. Royce
  • Colette Rolland
  • James Rumbaugh
  • Niklaus Wirth
  • Edward Yourdon
  • Victor Basili
Bidang terkait
  • Ilmu komputer
  • Teknik komputer
  • Rekayasa usaha
  • Sejarah
  • Pengelolaan
  • Pengelolaan proyek
  • Manajemen mutu
  • Ergonomi perangkat lunak
  • Rekayasa sistem
  • Category Kategori
  •  Commons
Basis data pengawasan otoritas Sunting di Wikidata
Internasional
  • GND
Nasional
  • Amerika Serikat
  • Prancis
  • Data BnF
  • Republik Ceko
  • Spanyol
  • Israel
Lain-lain
  • Yale LUX

Bagikan artikel ini

Share:

Daftar Isi

  1. Sejarah
  2. Asal-usul
  3. Keadaan terkini
  4. Praktik
  5. Umpan balik skala halus
  6. Proses berkesinambungan
  7. Pemahaman bersama
  8. Kesejahteraan pemrogram
  9. Kritikan
  10. Referensi
  11. Bacaan lebih lanjut
  12. Pranala luar

Artikel Terkait

Pengujian unit

(test-driven development atau TDD), yang sering digunakan dalam pemrograman ekstrem dan scrum, pengujian unit diciptakan sebelum kode itu sendiri ditulis

Proses pengembangan perangkat lunak

pengembangan perangkat lunak antara lain adalah proses iteratif, pemrograman ekstrem, serta proses air terjun ([waterfall] Galat: {{Lang}}: text has italic

Nama-nama bilangan besar

artikel daftar Wikimedia

Jakarta Aktual
Jakarta Aktual© 2026