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.
- 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 :
- 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.
- 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.
- 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.
- 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:
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
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
Posting Komentar