EXTREME PROGRAMMING (XP) - INFORMATIKA 16

Latest

Saturday, August 31, 2019

EXTREME PROGRAMMING (XP)

PROYEK PERANGKAT LUNAK
Kelompok :
Ricky Satria (F1D016077)
Zhafran saloom (F1D016089)

Di zaman yang berkembang ini, teknologi sebagai kebutuhan yang harus di penuhi dan sangat berpengaruh pada kehidupan manusia saat ini. Perkembangan teknologi informasi sebagai motor utama perkembangan ilmu pengetahuan. Perkembangan ilmu pengatahuan yang tinggi membuat para pembuat perangkat lunak menciptakan berbagai macam variasi perangkat lunak, dikarenakan permintaan para pengguna yang tinggi, Untuk menjamin terpenuhinya kebutuhan para pengguna, pengembang perangkat lunak memerlukan langkah-langkah yang tepat, efektif, dan efisien. Untuk itulah berkembang berbagai metodologi perkembangan perangkat lunak. Salah satunya.[2] Pada pembahasan ini adalah metode Extreme Programming (XP). Bagai teman-teman yang belum tau tentang Extreme Programming itu apa ? kelebihan dan kekurangan dari metode yang lain ? maka dari mari kita mulai !!!

11. APA ITU EXTREME PROGRAMMING (XP) ?
Simpelnya Extreme Programming adalah metodologi pengembangan perangkat lunak untuk meningkatkan kualitas perangkat lunak dan responsive terhadap perubahan kebutuhan pelanggan.[3]
Dan dari sumber yang terpercaya Extreme Programming adalah sebuah pendekatan atau model pengembangan perangkat lunak yang mencoba menyederhanakan berbagai tahapan dalam proses pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel. XP bukan hanya berfokus pada coding tetapi meliputi seluruh area pengembangan perangkat lunak. XP mengambil pendekatan ‘ekstrim’ dalam iterative development.[3]
Dari pengertian di atas teman-teman sudah sangat betul-betul paham kan …!!!

  2. SEJARAH
asal mula XP digunakan karena pada saat itu permintaan dari customer yang sering berubah dengan cepat sehingga mengakibatkan putaran kehidupan metode pengembangan perangkat lunak tradisional menjadi lebih pendek dan tidak selaras dengan metode tradisional karena pada umumnya memerlukan desain yang luas dan itu mengakibatkan perubahan desain yang terjadi dan tentu saja memerlukan biaya yang lebih tinggi.[3] Tujuan utama dari XP adalah Meminimalisir biaya yang di perlukan jika ada perubahan dalam pengembangan Perangkat lunak.
Dari tujuan di atas maka Kent Beck dan Ward Cunningham mengusulkan metode baru yang bernama Extreme Programming pada bulan maret 1997.

  3. TAHAPAN DALAM EXTREME PROGRAMMING
XP membantu pengembang membuat code berkualitas dan cepat. Mendefinisikan kualitas sebagai sebuah basis code yang sesuai dengan desain sprsifikasi dan Ekspektasi pelanggan.
Sasaran XP adalah tim yang dibentuk berukuran antara kecil sampai medium saja, tidak perlu sampai menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi requirements yang sangat cepat.[1]
Seluruh kontributor dalam proyek yang mengguanakan pendekatan XP duduk Bersama sebagai suatu tim. Tim ini terdiri beberapa peran, antara lain :
-          Programmer
-          Penguji
-          Orang yang mengerti bisnis
-          Analis
-          Manajer
-          Dan lain-lainnya.
Setiap peran tidak mutlak menjadi peran dari satu orang saja. Tim terbaik dalam XP tidak harus memiliki pakar, hanya kontributor umum dengan keterampilan khusus saja. Semua orang di tim XP memberikan kontributor dengan cara apapun yang mereka dapat lakukan.[3]

XP fokus pada:
-          Implentasi desain sederhana
-          Komunikasi antara pengembang dan pelanggan
-          Secara terus menerus menguji basis code
-          Refaktorisasi untuk mengakomodasi perubahan spesifikasi
-          Mencari timbal bailk pelanggan

XP memiliki empat kegiatan dasar mengenai XP untuk proses pengembangan parangkat lunak :
a.      Planning
Dasar XP adalah mekanisme berkelanjutan keterlibatan client melalui umpan balik dalam tahap pengembangan. Terlepas dari pelanggan, pengembang juga menerima umpan balik dari manajer proyek.
Dasar dari umpan balik adalah tes penerimaan pelanggan. Setiap umpan balik dari pelanggan yang menentukan persyaratan revisi menjadi dasar dari desain baru, dan proses desain-coding-tes-planning. Jika pelanggan tetap puas dengan hasl tes iterasi berakhir disana, dan desain untuk iterasi baru dimulai, yang lagi-lagi mengikuti siklus desain-coding-testing-planning.[2]
b.      Design
Iterasi pemrograman XP dimulai dengan merancang. Prinsip-Prinsip dari tahap ini adalah :
·         Dorongan pada kesederhanan dengan mengekspresikan hal yang hanya seklai dan tidak menambahkan fungsi antisipasi.
·         Menggunakan system metafora atau standar pada nama, nama kelas dan metode, dan menyepakati gaya seragam dan format untuk memastikan kompatibilitas antara kerja anggota tim yang berbeda.
·         Menggunakan tanggung jawab software class dan kolaborasi (CRC) kartu yang memungkinkan untuk keberangkatan dari pola pikir prosedural tradisional dan membuat teknologi berorientasi objek. Kartu tersebut memungkinkan semua anggota tim proyek untuk menyumbangkan ide-ide, dan menyusun ide-ide terbaik dalam desain.
·         Menciptakan solusi lanjutan atau program sederhana yang mengeksplorasi solusi protensi untuk masalah tertentu, mengabaikan semua masalah lain, untuk mengurangi resiko.[2]
c.       Coding
Coding merupakan fase paling penting dalam siklus hidup programming Extreme. Pemrograman XP memberikan Prioritas kepada coding yang sebenarnya atas semua tugas-tugas lain seperti dokumentasi untuk memastikan bahwa pelanggan menerima sesuatu yang substansial dalam nilai pada akhir hari. Standar terkait dengan coding meliputi:
·         Mengembangkan kode berdasarkan metofora dan standar yang telah disepakati, dan mengadopsi kebijakan kepemilikan kode kolektif.
·         Pasangan pemrograman atau kode berkembang oleh dua programmer bekerja sama pada satu mesin, yang bertujuan untuk menghasilkan kode berkualitas tinggi dengan biaya yang sama atau kurang.
·         Kepatuhan yang ketat untuk 40 jam workweeks tanpa lembur. Hal ini memastikan para pengembang bekerja di puncak kemampuan mental dan fisik meraka.
·         Integrasi sering kode ke repositori khusus, hanya dengan satu pasangan mengintegrasikan pada suatu waktu untuk mencegah konflik, dan optimasi di akhir.[2]
d.      Testing
Program ekstrim terintegrasi pengujian dengan tahap pengembang dari pada di akhir tahap pengembangan. Semua kode memiliki unit test untuk menghilangkan bug, dan kode melewati semua tes unit tersebut sebelum rilis.
Tes kunci lain adalah tes penerima client, berdasarkan spesifikasi pelanggan. Tas penerimaan dijalankan pada penyelesaian coding, dan pengembang menyediakan pelanggan dengan hasil tes penerimaan bersamaan dengan hasil tes penerimaan Bersama dengan demonstrasi.[2]

  4. KELEBIHAN DAN KEKURANGAN
Extreme Programming tepat untuk dipergunakan untuk pembuatan program yang:
·         Membutuhkan perubahan yang cepat (misalnya:game mobile)
·         Proyek beresiko tinggi dengan tantangan yang berat
·         Tim programmer sedikit, yaitu sekitar 2-10
·         Adanya permintaan dari pelanggan secara langsung
a)      Kelebihan Extreme Programming, yaitu:
·         Meningkatkan kepuasan kepada client.
·         Pembangunan system dibuat lebih cepat
·         Menjalin komunikasi yang baik dengan client.
·         Meningkatkan komunikasi dan sifat saling menghargai antara developer
b)      Kelemahan Extreme Programming, yaitu:
·         Cerita-cerita yang menunjukkan requirements dari pelanggan kemungkinan besar tidak lengkap sehingga developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima
·         Tidak bias membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
·         XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.[1]

  5. KESIMPULAN
a.       Extreme Programming (XP) merupakan salah satu metode pengembangan software yang termasuk dalam Agile Software Development
b.      Tujuan utama dalam extreme programming adalah menurunkan biaya dari adanya perubahan software

Refrensi
[3] https://www.it-jurnal.com/apa-itu-extreme-programming/

No comments:

Post a Comment