Extreme Programming (XP)

                                                                        Extreme Programming (XP)


Sejarah Extreme Programming

Proyek Pemrograman Extreme pertama dimulai 6 Maret 1996. Extreme Programming adalah salah satu dari beberapa Proses Agile populer. Sudah terbukti sangat sukses di banyak perusahaan dari berbagai ukuran dan industri di seluruh dunia.

XP dikembangkan oleh Kent Beck, yang menulis buku yang berjudul “eXtreme Programming eXplained”. Dua buku yang barunya akan dipasarkan pada bulan Oktober ini. Proses instalasi Extreme Programming dilakukan oleh Ron Jeffries, Ann Anderson, dan Chet Hendrickson. Sedangkan Planning Extreme Programming dilakukan oleh Kent Beck dan Martin Fowler.

Extreme Programming atau dikenal XP adalah suatu metode dalam membangun software yang dikembangkan oleh Agile Software Development.

Pada metode pengembangan perangkat lunak Extreme Programming atau XP ini didasari oleh empat nilai, yaitu bagaimana pengembangan perangkat lunak dilakukan yang didasarkan pada :

  • ·         komunikasi
  • ·         kesederhanaan
  • ·         umpan balik
  • ·         keberanian

Extreme Pemrograman menekankan kerja sama tim. Pengelola, pelanggan, dan pengembang semua mitra setara dalam sebuah tim kolaboratif. Extreme Pemrograman menerapkan, sederhana namun efektif yang memungkinkan tim lingkungan menjadi sangat produktif. Tim mengorganisir diri mengatasi masalah untuk menyelesaikannya seefisien mungkin.

 

Definisi Extreme Programming


Extreme Programming adalah suatu model yang termasuk dalam pendekatan agile yang diperkenalkan oleh Kent Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP) adalah metode pengembangan software yang cepat, efisien, beresiko rendah, fleksibel, terprediksi, scientific, dan menyenangkan.“. Model ini cenderung menggunakan pendekatan Object-Oriented. Tahapan-tahapan yang harus dilalui antara lain: Planning, Design, Coding, dan Testing. Sasaran Extreme Programming 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. Extreme Programming merupakan agile methods yang paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal.

Pada metode pengembangan perangkat lunak extreme programming atau XP ini didasari oleh 4 nilai, yaitu bagaimana pengembangan perangkat lunak dilakukan yang didasarkan pada :

  • Komunikasi (Communication) adalah penyebab utama dari kegagalan pengembangan software. Dikarenakan itu XP harus memfokuskan pada hubungan komunikasi yang baik antar anggota tim, Klien dan pemimpin proyek. Komunikasi dalam XP dibangun dengan cara melakukan pemrograman berpasangan  atau bisa disebut dengan pair programming. Klien diharuskan untuk terlibat dalam proses pengembangan perangkat lunak dengan mempunyai tujuan untuk memberikan pandangan pengembang sesuai dengan kebutuhan pengguna sistem yang akan dibangun.
  • Kesederhanaan (Simplicity) metode XP untuk dapat melakukan semua pekerjaan secara efektif tanpa harus mengurangi fungsi utamanya. Dalam pengerjaan, metode yang dipilih merupakan metode yang pendan dan cukup simpel. Sehingga jangan terlalu rumit dalam melakukan pembuatan desain, hilangkan fitur-fitur yang tidak digunakan. Dengan kata lain lebih baik untuk dapat melakukan hal yang sederhana sesuai dengan kebutuhan dan mengembangkannya dengan sesuai dengan permintaan klien.
  • Umpan Balik (Feedback) merupakan salah satu evaluasi dari perkembangan perangkat lunak yang sedang dikerjakan. Segala informasi harus dikumpulkan setiap interval waktu yang konsisten dan kesalahan-kesalahan yang akan muncul selama proses pengembangan perangkat lunak harus dibahas dan dicari solusinya. Umpan balik tersebut berfungsi sebagai indicator untuk kemajuan proyek dan menginformasikannya ke pemimpin proyek apabila ada sebuah perubahan yang perlu dibuat.
  • Keberanian (Courage) dalam programmer XP harus didorong untuk berani berekperimen dan menulis ulang kode jika mereka merasa tidak puas dengan kode atau desain yang sudah ada. Hal ini dapat mempertahankan dalam sifat moral serta intgritas para pengembang proyek dan dapat mendukung lebih lanjut komunikasi dengan anggota proyek lainnya.


Tahapan Extreme Programming

 


Berikut ini merupakan proses dan tahapan Extreme Programming, yaitu :

  1. Planning adalah tahapan perencanaan digunakan untuk memahami konsep bisnis, pengumpulan kebutuhan sistem, menggambarkan output yang diperlukan, fitur-fitur, dan fungsionalitas yang akan dibangun menggunakan rekayasa perangkat lunak.
  2. Design adalah data yang diperoleh dari tahapan Planning seperti: analisis kebutuhan sistem, keluaran sistem, fitur-fitur dan fungsionalitas. Sehingga sistem dirancang menggunakan Unified Modelling Langguage (UML) yang mempunyai manfaat untuk pemodelan sistem yang sudah memiliki standar. Digunakan untuk dapat memastikan perangkat lunak yang akan dibangun selesai dengan tepat waktu, sesuai dengan anggaran, dan sesuai dengan sepesifikasi yang ditetapkan pada tahap Planning.
  3. Coding adalah tahap pengkodean perangkat lunak yang menggunakan, tim kecil akan bekerja  secara bertahap dengan panduan alur sistem yang sudah dirancang pada tahap design modul per modul. Dengan menggunakan refactoring, agar dapat mudah dibaca dan dimodifikasi yang merupakan ciri khas dari metode XP sehingga hasil yang diharapkan dengan pengembangan perangakat lunak menjadi cepat.
  4. Testing adalah tahap akhir dari metode XP yang akan dilakukan dengan cara beta pengujian untuk mendapatkan feedback dari orang yang telah melakukan pengujian fungsional perangkat lunak.


Kelebihan dan kekurangan

Kelebihan :

  • Meningkatkan rasa kepuasan kepada klien.
  • Melakukan pembangunan sistem dibuat dengan lebih cepat.
  • Saling menjalin komunikasi yang baik antara developer dan client.
  • Meningkatkan komunikasi dan sifat saling menghargai antar tim developer.

Kekurangan :

  • Klien yang menceritakkan requirements dari pelanggan kemungkinan besar belum lengkap. Sehingga membuat tim developer harus selalu siap dengan perubahan dari klien karenak perubahan tersebut akan selalu diterima.
  • Tidak dapat menentukan kode yang detail dari awal atau prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga.
  • XP tidak memiliki sifat dokumentasi yang formal yang dibuat selama pembangunan. Sehingga satu-satunya dokumentasi adalah dokumentasi awal yang diberikan oleh user.

 

Contoh Kasus

Salah satu jurnal yang membahas mengenai penggunaan metode XP atau Xtreme Programming dalam pengembangan sistem adalah jurnal oleh Irmawati Carolina & Adi Supriyatna (1 Maret 2019) dengan judul Penerapan Metode Extreme Programming Dalam Perancangan Aplikasi Perhitungan Kuota SKS Mengajar Dosen. Penjelasan lengkapnya sebagai berikut :

Judul : Penerapan Metode Extreme Programming Dalam Perancangan Aplikasi Perhitungan Kuota SKS Mengajar Dosen.

Oleh : Irmawati Carolina & Adi Supriyatna (1 Maret 2019)

 

Metode Penelitian :

Dalam pembangunan sistem informasi atau aplikasi terdapat beberapa pendekatan atau metodologi yang dapat digunakan antara lain System Development Life Cycle (SDLC), Rapid Application Development (RAD), Extreme Programming (XP) dan lain sebagainya. Pada penelitian ini metologi yang digunakan dalam pembangunan aplikasi perhitungan sks mengajar kuota sks mengajar dosen adalah metode Extreme Programming(XP).  Terdapat empat tahapan yang harus dikerjakan pada metode extreme programmin (XP) yaitu:

 1. Planning (Perencanaan).

Menganalisis permasalahan dan mengumpulkan segala kebutuhan yang diperlukan dalam pembuatan sistem.

2. Design (Perancangan).

Mendesain atau membuat rancangan sistem berupa gambar atau UI.

3. Coding (Pengkodean).

Pembuatan sistem yang dibangun menggunakan bahasa pemrograman.

4. Testing (Pengujian).

Pengujian sistem untuk mengetahui apakah sistem dapat beroperasi sesuai harapan.

 

Hasil Dan Pembahasan :

Planning (Perencanaan)

A. Identifikasi Masalah.

Berdasarkan hasil observasi dan wawancara yang telah dilakukan, maka dapat diidentifikasikan permasalahan yang saat ini dihadapi adalah sebagai berikut:

 

1. Membutuhkan waktu yang lama untuk melakukan rekapitulasi perhitungan sks mengajar dosen.

2. Masih sering terjadinya kesalahan dalam perhitungan yang menimbulkan keluhan dari dosen.

3. Pimpinan mendapatkan kesulitan dalam pengambilan keputusan.

 

B. Analisa Kebutuhan.

Berdasarkan permasalahan tersebut maka dapat didefinisikan kebutuhan fungsional dan non fungsional dari aplikasi perhitungan sks mengajar dosen. 

 

Kebutuhan fungsional.

1. Sistem menyediakan form untuk memasukkan data master seperti dosen, data jabatan, mata kuliah, kampus dan jadwal mengajar.

2. Sistem mampu menghitung rekap sks mengajar dosen sesuai dengan data yang tersedia

3. Waktu yang dibutuhkan sistem untuk melakukan penyimpanan data maksimal 2 detik per input.

4. Waktu yang dibutuhkan sistem untuk melakukan proses perhitungan sks mengajar maksimal 3 menit per proses. 

 

Kebutuhan non-fungsional.

1. Seluruh pengguna aplikasi dapat melakukan pengaksesan data tanpa harus melakukan login berulang kali, pengguna hanya harus melakukan satu kali login untuk sistem operasi.

2. Aplikasi hanya bisa diakses dari dalam jaringan perusahaan.

3. Aplikasi harus tersedia dalam 24 jam perhari, 7 hari perminggu.

4. Jika pada saat proses penarikan data dilakukan terjadi kegagalan yang dikarenakan beberapa hal di pusat data, maka data yang terdapat dipusat data tidak boleh rusak, hilang dan dapat dipulihkan

 

Design (Perancangan)

A. Pemodelan Sistem

1. Use Case Diagram

 



2. Activity Diagram

 


 

B. Pemodelan Arsitektur

1. Component Diagram.

 


 

 

2. Deployment Diagram

 

 


C. Pemodelan Basis Data.

Pada tahap pemodelan basis data, sistem dimodelkan dalam bentuk ERD atau Entity Relationship Diagram dan Logical Record Structure.

 

Coding (Pengkodean)

Pembuatan sistem ini menggunakan Visual Basic sebagai bahasa pemrogramannya. Visual Basic ini menyediakan tool untuk membuat aplikasi yang sederhana sampai aplikasi kompleks secara cepat dan mudah.

 

Testing (Pengujian)

Pengujian yang dilakukan menggunakan metode blackbox testing.

 

Pada kasus yang kami miliki, kami ingin membuat sistem penjualan berbasis desktop pada toko mainan anak Dana Sentosa dengan menggunakan metode Xtreme Programming dengan langkah-langkah dalam pengerjaan sesuai dengan jurnal oleh Irmawati Carolina & Adi Supriyatna (1 Maret 2019). Selain itu pada pengerjaan ini juga kami memodelkan hasil perancangan dalam bentuk Mind Mapping berupa gambar. Hasil serta penjelasan lengkapnya sebagai berikut :

Judul : Penggunaan metode Xtreme Programming dalam pembuatan sistem informasi penjualan berbasis desktop pada Toko Mainan Anak Dana Sentosa.

Oleh : Eka Dinata P. P (18120067), Catenary F (18120085), Moch. Abdul Rohman (18120078)

 

Metode Penelitian :

Pada penelitian dalam membuat sistem ini, penggunaan metode Extreme Programming(XP) memiliki beberapa tahapan atau step dalam penggunaannya. Tahapan-tahapan tersebut sebagai berikut :

 

1. Planning (Perencanaan).

Menganalisis permasalahan dan mengumpulkan segala kebutuhan yang diperlukan dalam pembuatan sistem.

2. Design (Perancangan).

Mendesain atau membuat rancangan sistem berupa gambar atau UI.

3. Coding (Pengkodean).

Pembuatan sistem yang dibangun menggunakan bahasa pemrograman.

4. Testing (Pengujian).

Pengujian sistem untuk mengetahui apakah sistem dapat beroperasi sesuai harapan.

 

Hasil Dan Pembahasan :

Hasil peracangan keseluruhan dalam model Mind Mapping :



Sistem Informasi Penjualan Toko Mainan Anak Dana Sentosa


Planning (Perencanaan)

A. Identifikasi Masalah.

Pembuatan sistem ini didasari oleh seringnya terjadi permasalahan dalam melakukan kegiatan pembelian yaitu :

 

1. Membutuhkan waktu yang lama untuk melakukan pembelian.

2. Kurang efektif serta perlu mengantri untuk membeli barang.

3. Pengelolaan atau pencatatan dan pembuatan laporan penjualan masih manual sehingga sering terjadi kesalahan.

 

B. Analisa Kebutuhan.

Berdasarkan permasalahan tersebut maka dapat didefinisikan kebutuhan dalam pembuatan sistem ini yaitu kebutuhan fungsional dan non fungsional.

 

Kebutuhan fungsional :

1. Pemilik Toko

    a. Pemilik toko dapat login dan logout.

    b. Dapat melihat data produk.

    c. Dapat melihat data transaksi.

    d. Dapat melihat data konsumen.

    e. Dapat melihat laporan.

2. Pegawai

    a. Pegawai dapat login dan logout.

    b. Dapat mengelola data produk.

    c. Dapat mengelola data konsumen.

    d. Dapat mengelola data transaksi.

    e. Dapat mengelola laporan.

3. Pembeli

    a. Dapat login dan logout.

    b. Dapat melihat, memesan dan membeli produk yang dijual.

    c. Dapat melihat laporan transaksi yang telah dilakukan.

 

Kebutuhan non-fungsional :

1. Sistem dapat menampilkan data produk atau barang.

2. Sistem dapat memiliki tampilan yang mudah dipahami, sehingga pembeli dapat lebih mudah dalam memesan dan melakukan kegiatan pembelian.

3. Sistem dapat dioperasikan dan menampilkan data dengan cepat, sehingga proses pembelian dapat berlangsung dengan efisien atau tidak membuang-buang waktu.

3. Sistem dapat dioperasikan dengan baik sesuai fungsinya.

 

Design (Perancangan)

A. Pemodelan Sistem

1. Use Case Diagram Pemilik Toko



2. Use Case Diagram Pegawai



3. Use Case Diagram Pembeli



4. Prosedur Pembelian.



B. Pemodelan UI Sistem

1. Tampilan Pendaftaran/Login.



2. Tampilan Halaman Barang/Produk.



3. Tampilan Halaman Pembelian Barang/Produk.



Coding (Pengkodean)

Pembuatan sistem ini menggunakan JAVA sebagai bahasa pemrogramannya. 

 

Testing (Pengujian)

Pengujian yang dilakukan menggunakan metode blackbox testing yaitu pengujian yang dilakukan pada tampilan program apakah program dapat berjalan dengan baik sesuai yang diinginkan.


Referensi :

http://www.kamarujung.my.id/2013/04/sejarah-extreme-programming.html?m=1

https://flinsetyadi.com/mengenal-extreme-programming-xp-secara-lengkap/

https://ilmurplkitabersama.blogspot.com/2020/03/metode-xtreme-programming-contoh.html


Nama : Irham Iswanda Duhair

NPM : 19316018

Kelas : TK 19 C


Komentar

Postingan populer dari blog ini

Tugas Pertemuan 13 Bahasa Indonesia

Tugas Enkapsulasi