Nama : Aji Saputra
Kelas : TK20A
Npm : 20316013
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.
TAHAPAN DALAM EXTREME PROGRAMMING
XP membantu pengembang membuat code berkualitas dan cepat. Mendefinisikan kualitas sebagai sebuah basis code yang sesuai dengan desain spesifikasi 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]
Contoh
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
Pemilik Toko
2. Use Case Diagram Pegawai
Pegawa
3. Use Case Diagram Pembeli
Use Case Pembeli
4. Prosedur Pembelian.
Prosedur Pembelian
b. Pemodelan UI Sistem
1. Tampilan Pendaftaran/Login.
Login
2. Tampilan Halaman Barang/Produk.
Halaman Barang/Produk
3. Tampilan Halaman Pembelian Barang/Produk.
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.
Komentar
Posting Komentar