Anda di halaman 1dari 16

1.

Model Waterfall - (Indonesian Journal on Networking and Security - Volume 5


No 4 – Oktober 2016)
Metode air terjun (Waterfall Model) merupakan metode pertama yang banyak
digunakan dalam industri perangkat lunak. model ini merupakan pendekatan tradisional, dan
jauh kurang fleksibel daripada metodologi gesit dengan pengembangan dipecah menjadi
sprint tunggal, tetapi dapat dilengkapi dengan loop umpan balik dan loopback. Metode air
terjun sering dinamakan siklus hidup klasik, dimana hal ini menggambarkan pendekatan
yang sistematis dan juga berurutan pada pengembangan perangkat lunak.

a. Penjelasan Alur Proses (Gambar) :

Alur proses gambar diatas :


1. Analisis Kebutuhan Perangkat Lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk menspesifikasikan
kebutuhan perangkat lunak agar dapat dipahami seperti apa yang dibutuhkan oleh
user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu di dokumentasikan.
2. Desain
Desain perangkat lunak adalah proses multi langkah yang fokus pada desain
pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat
lunak, representasi antar muka dan prosedur pengkodean. Tahap ini mentranslasi
kebutuhan perangkat dari tahap analisis kebutuhan ke reprentasi desain agar dapat di
implementasikan program pada tahap selanjutnya. Desain perangkat lunak yang di
hasilkan pada tahap ini juga perlu di dokumentasikan.
3. Pembuatan Kode Program
Desain harus ditranslasikan kedalam program perangkat lunak. Hasil dari tahap ini
adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain.
4. Pengujian
Pengujian fokus pada perangkat lunak dari segi logik dan fungsional serta memastikan
bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan
(error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.
5. Pendukung (support) atau Pemeliharaan (maintenance)
Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika
sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yang
muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi
dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi
proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak
yang sudah ada, tapi tidak untuk membuat perangkat lunak baru.

b. Kelebihan :
 Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya
secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
 Model ini mengarah pada dokumentasi teknis yang luas, yang merupakan kelegaan
bagi programmer dan pengembang baru dan juga berguna dalam tahap pengujian.
 Metode ini masih lebih baik digunakan walaupun sudah tergolong kuno, daripada
menggunakan pendekatan asal-asalan. Selain itu, metode ini juga masih masuk akal
jika kebutuhan sudah diketahui dengan baik.

c. Kekurangan :
 Kekurangan menggunakan metode waterfall adalah metode ini tidak memungkinkan untuk
banyak revisi jika terjadi kesalahan dalam prosesnya. Karena setelah aplikasi ini dalam tahap
pengujian, sulit untuk kembali lagi dan mengubah sesuatu yang tidak terdokumentasi dengan
baik dalam tahap konsep sebelumnya.
 Pengiriman perangkat lunak membutuhkan waktu lebih lama karena departemen tidak
bekerja secara bersamaan dan setiap fase hanya dapat dimulai ketika fase sebelumnya
selesai.
 Diperlukan majemen yang baik, karena proses pengembangan tidak dapat dilakukan
secara berulang sebelum terjadinya suatu produk.
 Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap
desain sudah selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu yang
lama.

d. Manfaat :
 Kualitas software tetap terjaga karena pengembangannya yang terstruktur da terawasi.
 Proses pemeliharaan dapat dilakukan dengan mudah.
 Menghasilkan Mature proses pada setiap tahapannya.
 Mudah untuk diaplikasikan pada sebuah proyek.

e. Contoh Implementasi
“Penerapan Metode Waterfall pada Sistem Informasi Penjualan Furniture Berbasis
Web”
 Metode yang digunakan penulis dalam jurnal ini adalah dengan metode
pengembangan perangkat lunak yang didalamnya mencangkup analisi kebutuhan
perangkat lunak, desain, pembuatan kode program, implementasi dan pengujian unit
kepada website e-commerce ini. Kesimpulan yang didapatkan bahwa website
ecommerce ini dibuat dengan menggunakan bahasa pemograman PHP yang
dikombinasikan dengan database MySQL. Kelebihan pemesanan produk secara online
adalah menghemat waktu dan biaya dibandingkan dengan pemesanan secara langsung
datang ke toko, dan pembeli dapat melihat katalog yang dapat langsung dilihat di
halaman website ini.
 Dalam perancangan sistem ini dilakukan menggunakan pendekatan waterfall model
melalui lima tahapan yaitu fase analisa yang mengindentifikasi informasi apa yang
harus diproses. Fase desain fokus pada desain basis data dan desain antar muka. Fase
pembuatan kode program dimana desain harus ditranslasikan kedalam program
perangkat lunak. Fase implementasi dan pengujian unit dimana sistem diuji
menggunakan black box testing. Dengan rancangan website ini, diharapkan seluruh
pengguna (user) dapat mengetahui apa saja yang ada pada toko furniture.

2. Prototyping - (e-Proceeding of Engineering : Vol.2, No.1 April 2015 | Page 1042)


Yaitu proses merancang sebuah model dari suatu sistem, bisa diaktakan sebagai
bentuk awal (contoh) atau standar ukuran untuk suatu objek yang akan dikerjakan nanti.
Dengan metode prototyping, pengembang dan pelanggan dapat saling berinteraksi selama
proses dan menentukan hasil yang terbaik.
Menurut Anisya S.Kom., M.Kom., kunci agar model prototipe ini berhasil dengan baik
adalah dengan mendefinisikan aturan mainnya yaitu pengembang dan pelanggan harus
setuju bahwa prtotoype dibangun untuk mendefinisikan kebutuhan. Prototipe akan
dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual di rekayasa dengan
kualitas dan implementasi yang sudah ditentukan.

a. Penjelasan alur proses (gambar) :


Alur proses gambar diatas :
1. Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat
lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
2. Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada
penyajian kepada pelanggan (misalnya dengan membuat input dan format output).
3. Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah
sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil.
Jika tidak prototyping direvisi dengan mengulang langkah 1, 2 , dan 3.
4. Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa
pemrograman yang sesuai.
5. Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites
dahulu sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box,
Basis Path, pengujian arsitektur dan lain-lain.
6. Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang
diharapkan. Jika ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.
7. Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.

b. Kelebihan :
 Adanya komunikasi yang baik antara pengembang dan pelanggan.
 Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
 Pelanggan berperan aktif dalam pengembangan system.
 Lebih menghemat waktu dalam pengembangan system.
 Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
 membuat klien mendapat gambaran awal dari prototype.
 Membantu mendapatkan kebutuhan detil lebih baik.

c. Kekurangan :
 User sibuk.
 User ingin program segera.
 User berharap terlalu banyak.

d. Manfaat :
 Adanya komunikasi yang intensif antara pengembang dan user.
 Membantu dalam menganalisis.
 Peran user meningkat.
 Pengembangan lebih cepat.
 Mudah dalam implementasinya.

e. Contoh Implementasi
“Pengembangan Web E-Commerce Bojana Sari Menggunakan Metode Prototype”
 Web e-commerce Bojana Sari yang telah dikembangkan memiliki fitur
pengelolaan produk, sistem pemesanan, sistem pembayaran, dan pelacakan
status. Dalam fitur pengelolaan produk, perusahaan dapat dengan mudah
menyampaikan informasi mengenai produk perusahaan kepada pelanggan.
Pelanggan juga dapat dengan mudah memperoleh informasi tersebut tanpa terhalang
oleh jarak dan waktu. Proses pemesanan dan validasi pembayaran dapat dilakukan
dengan mudah dengan adanya fitur sistem pemesanan dan fitur sistem pembayaran
dalam web e-commerce Bojana Sari. Fitur pelacakan status mempermudah
pelanggan dalam mendapatkan informasi mengenai status pemesanan, status
pembayaran, dan status pengiriman yang disampaikan oleh perusahaan.

3. V-Model – (Jurna Disprotek, Volume 9 Nomor 1, Januari 2018)


Model ini merupakan perluasan dari model waterfall. Disebut sebagai perluasan
karena tahap-tahapnya mirip dengan yang terdapat dalam model waterfall. Jika dalam model
waterfall proses dijalankan secara linear, maka dalam model V proses dilakukan bercabang.
Dalam model V ini digambarkan hubungan antara tahap pengembangan software dengan
tahap pengujiannya.

a. Penjelasan alur proses (gambar) :


1. Requirement Analysis & Acceptance Testing
Tahap Requirement Analysis sama seperti yang terdapat dalam model waterfall.
Keluaran dari tahap ini adalah dokumentasi kebutuhan pengguna. Acceptance Testing
merupakan tahap yang akan mengkaji apakah dokumentasi yang dihasilkan tersebut
dapat diterima oleh para pengguna atau tidak.
2. System Design & System Testing
Dalam tahap ini analis sistem mulai merancang sistem dengan mengacu pada
dokumentasi kebutuhan pengguna yang sudah dibuat pada tahap sebelumnya.
Keluaran dari tahap ini adalah spesifikasi software yang meliputi organisasi sistem
secara umum, struktur data, dan yang lain. Selain itu tahap ini juga menghasilkan
contoh tampilan window dan juga dokumentasi teknik yang lain seperti Entity
Diagram dan Data Dictionary.
3. Architecture Design & Integration Testing
Sering juga disebut High Level Design. Dasar dari pemilihan arsitektur yang akan
digunakan berdasar kepada beberapa hal seperti: pemakaian kembali tiap modul,
ketergantungan tabel dalam basis data, hubungan antar interface, detail teknologi yang
dipakai.
4. Module Design & Unit Testing
Sering juga disebut sebagai Low Level Design. Perancangan dipecah menjadi modul-
modul yang lebih kecil. Setiap modul tersebut diberi penjelasan yang cukup untuk
memudahkan programmer melakukan coding. Tahap ini menghasilkan spesifikasi
program seperti: fungsi dan logika tiap modul, pesan kesalahan, proses input-output
untuk tiap modul, dan lain-lain.
5. Coding
Dalam tahap ini dilakukan pemrograman terhadap setiap modul yang sudah dibentuk.
b. Kelebihan :
 Bahasa yang digunakan untuk merepresentasikan konsep V model menggunakan
bahasa formal. Contoh : dengan menggunakan objek model ataupun frame-frame.
 Penyesuaian yang cepat pada projek yang baru.
 Memudahkan dalam pembuatan dokumen projek.
 Biaya yang murah dalam perawatan dan modifikasinya.
 V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan
pengurangan method dan tool secara dinamik. Akibatnya sangat mudah untuk
melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan
sangat mudah untuk menambahkan method dan tool baru atau menghilangkan method
dan tool yang dianggap sudah obsolete.
 V Model dikembangkan dan di-maintain oleh publik. User dari V Model berpartisipasi
dalam change control board yang memproses semua change request terhadap V
Model.

c. Kekurangan :
 Aktifitas V-Model hanya difokuskan pada projectnya saja, bukan pada keseluruhan
organisasi. V-Model adalah proses model yang hanya dikerjakan sekali selama project
saja, bukan keseluruhan organisasi.
 Prosesnya hanya secara sementara. Ketika project selesai, jalannya proses model
dihentikan. Tidak berlangsung untuk keseluruhan organisasi.
 Metode yang ditawarkan terbatas. Sehingga kita tidak memiliki cara pandang dari
metode yang lain. Kita tidak memiliki kesempatan untuk mempertimbangkan jika ada
tools lain yang lebih baik.
 Toolnya tidak selengkap yang dibicarakan. SDE (Software Development
Environment).Tidak ada tools untuk hardware di V-Model. Tool yang dimaksud
adalah “software yang mendukung pengembangan atau pemeliharaan / modifikasi dari
system IT.
 V Model terlalu fleksibel dalam arti ada beberapa activity dalam V Model yang
digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang
termasuk dalam activity tersebut dan apa yang tidak.

d. Manfaat :
 Mewujudkan sistem sesungguhnya dalam sebuah replika sistem yang akan berjalan,
menampung masukan dari pengguna untuk kesempurnaan sistem.
 Pengguna akan lebih siap menerima setiap perubahan sistem yang berkembang
sesuai dengan berjalannya prototype sampai dengan hasil akhir pengembangan yang
akan berjalan nantinya.
 Prototype dapat ditambah maupun dikurangi sesuai berjalannya proses
pengembangan. Kemajuan tahap demi tahap dapat diikuti langsung oleh pengguna.
 Penghematan sumberdaya dan waktu dalam menghasilkan produk yang lebih baik
dan tepat guna bagi pengguna.

e. Contoh Implementasi :
“Model V Untuk Perangkat Lunak Management Pendaftaran Anggota Di Perpustakaan
Daerah Kabupaten Kudus”
 Mengingat perkembangan informasi yang semakin cepat peneliti akan menganalisis
proses pendaftaran yang konseptual menjadi sistem manajemen pendaftaran
peminjaman buku dan akan menghasilkan sebuah sistem pengolahan pendaftaran
anggota dan peminjaman serta pengembalian buku di Perpustakaan dan Arsip Daerah
Kabupaten Kudus. Perangkat lunak ini akan dikembangkan dengan tools Microsoft
Visual Studio (yang sering juga disebut dengan VB.Net). Untuk perancangan aplikasi
sistem management ini mengunakan model V sehingga mudah untuk mendesign
perangkat lunak ini. Dengan adanya aplikasi perangkat lunak ini diharapkan dapat
meningkatkan mutu pelayanan, meningkatkan efisiensi dan efektivitas manajemen
sumber data serta meningkatkan pelayanan.
 Untuk mengatasi permasalahan tersebut adalah memberikan pengetahuan kepada
admistratif untuk memudahan pengarsipan secara terkomputerisasi yang dapat
mempermudah atau mempercepat proses pendaftaran anggota dengan mengunakan
model V.

4. Fountain Model – (Jurnal FASILKOM Vol.2 No.1, 1 Maret 2004 SYSTEM


DEVELOPMENT LIFE CYCLE DENGAN BEBERAPA PENDEKATAN. I. Joko
Dewanto)
Model Fountain merupakan perbaikan logis dari model waterfall, langkah langkah dan
urutan prosedurnya pun masih sama. Namun pada model Fountain ini kita dapat
mendahulukan sebuah step ataupun melewati step tersebut, akan tetapi ada yang tidak bisa
anda lewati stepnya seperti kita memerlukan design sebelum melakukan coding jika itu di
lewati maka akan ada tumpang tindih dalam siklus SDLC.

a. Penjelasan alur proses (gambar) :


Alur dalam Fountain Model :
 Tahap Requirement Analysis :
Menganalisis kebutuhan sistem dan semua yang berkaitan dengan proses yang terjadi
pada sistem yang diperlukan untuk membangun sistem sehingga dapat berjalan
dengan baik dan maksimal.
 Tahap User Requirement Specification :
MenjeJaskan tentang kebutuhan dari sisi pengguna (user), sehingga user dapat
menjalan sistem dengan baik.
 Tahap Software Requirement Specification :
Menjelaskan tentang kebutuhan sistem dari sisi software sehingga sistem yang ada
dapat berjalan dengan baik dan maksirnal.
 Tahap Sistem Design :
Pada tahap perancangan ini diberikan gambaran umum yang jelas kepada pengguna
dan rancang bangun yang lengkap tentang sistem yang akan dikembangkan kepada
pihak-pihak yang terlibat dalam pengembangan sistem. Perancangan disini dilakukan
dengan permodelan menggunakan metode Object Orientied dengan tools UML
(Unified Modeling Language).
 Tahap Program Design :
Proses perancangan dan pembuatan kerangka program yang mengacu pada tahap
sebelumnya, sehingga program yang dibuat dapat memenuhi kebutuhan dari sistem
dan mencakup penyelesaian masalah yang ada.
 Tahap Unit Testing :
Proses pengujian terhadap setiap unit yang ada pada system sehingga dapat unit
tersebut dapat melakukan kerja sesuai dengan yang diharapkan.
 Tahap Coding :
Proses penterjemahan tahap perancangan ke dalam bahasa pemrograman. Proses
coding meliputi unit-unit yang ada pada keseluruhan system.
 Tahap Testing :
Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak
dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean.
 Tahap Program Use :
 Proses pengaplikasian dan pemakaian program yang telah dibuat untuk memastikan
apakah tujuan yang semula telah terpenuhi,
 Tahap Maintenance :
Pada tahap maintenance, setelah dilakukan pengujian dan sistem diyakini telah valid,
selanjutnya sistem tersebut didistribusikan kepada pengguna. Banyak software tidak
dapat bertahap 10 sampai 15 tahun, meskipun software tersebut dibuat dengan
dengan desain dan teknik pengkodean terbaik saat dibuat. Software akan memburuk
dengan semestinya ketika pindah platform sistem operasi berbeda, kebutuhan baru
dari pengguna atau software tidak cukup bisa menjawab kebutuhan fungsional.
 Tahap Further Development :
Pada tahap ini dijelaskan kemungkinan yang ada untuk proses pengembangan sistem.

b. Kelebihan :
Perbaikan logis dari model waterfall, langkah langkah dan urutan prosedurnya pun masih
sama. Namun pada model Fountain ini kita dapat mendahulukan sebuah step ataupun
melewati step tersebut

c. Kekurangan :
Ada yang tidak bisa anda lewati stepnya seperti kita memerlukan design sebelum
melakukan coding jika itu di lewati maka akan ada tumpang tindih dalam siklus SDLC

d. Manfaat :
Hampir sama dengan Waterfall, namun cara kerja dari usernya saja yang berbeda

e. Contoh Implementasi :
“Aplikasi penentuan jarak minimum dengan mengimplementasikan metode Dynamic
Programming menggunakan Spiral Model.”

5. Spiral Model – (Vol 4, No 2 (2015) - Arsia Rini)


Model Spiral (spiral model) salah satu bentuk dari Metode Pengembangan Perangkat
Lunak atau yang disebut SDLC (Software Development Life Cycle), yang sangat populer
digunakan dalam bidang teknologi informasi. Model Spiral yaitu gabungan dari Model
Prototyping dan Model Waterfall dengan penekanan yang tinggi pada analisis resiko tiap
tahapannya.
Fungsi Model Spiral ini untuk melakukan perubahan, penambahan dan pengembangan
suatu software dengan deretan pertambahan menjadi lebih baik secara cepat dan tepat
berdasarkan keinginan dan kebutuhan penggunanya.

a. Penjelasan Alur Proses (Gambar) :

Dalam Model Spiral terdapat lima tahap untuk merealisasikan penggunaannya sebagai
berikut :
1. Tahap Liason
Tahap ini berhubungan dengan komunikasi antara orang yang akan mengembangkan
software (system analyst) dengan pelanggan. Tujuannya adalah agar dapat
memuaskan pelanggan dengan memperbaiki dan mengembangkan software sesuai
dengan kebutuhan, kepentingan dan keinginannya.
2. Tahap Planning
Tahap perencanaan meliputi estimasi biaya yang digunakan, batas waktu, pengaturan
jadwal, identifikasi lingkungan kerja, sumber-sumber infomasi untuk melakukan
iterasi. Hasilnya adalah dokumen spesifikasi kebutuhan sistem dan bisnis.
3. Tahap Analisis Risiko
Tahap ini berfungsi untuk mengidentifikasi risiko yang berpotensial untuk terjadi dan
menghasilkan suatu solusi alternatif secara teknis dan manajemen saat strategi
mitigasi risiko direncanakan dan diselesaikan.
4. Tahap Rekayasa (engineering)
Pada tahap ini, yang dilakukan adalah sebagai berikut :
 Menguji, coding dan mengembangkan software.
 Menginstal software.
 Membuat prototipe.
 Mendesain dokumen.
 Meringkas suatu pengujian software.
 Membuat laporan atas kekurangan dari software agar segera diperbaiki.
5. Tahap Evaluasi
Peran pelanggan sangat diperlukan pada tahap ini. Mereka dapat memberikan
masukan dan tanggapan, mengevaluasi produk kerja dan memastikan bahwa produk
yang dibutuhkan sesuai dengan semua ketentuan. Jika terdapat perubahan, semua
tahapan akan diperbaiki sesuai dengan kepuasan pelanggan. Namun, mengidentifkasi
dan memantau risiko yang terjadi juga diperlukan, seperti cost overrun.

b. Kelebihan :
 Dapat disesuaikan agar perangkat lunak dapat dipakai selama hidup perangkat lunak
komputer.
 Estimasi biaya menjadi mudah karena pembuatan prototipe telah selesai dalam
fragmen yang kecil.
 Pembangunan yang cepat dan mudah secara sistematis.
 Manajemen waktu yang lebih baik.
 Mudah dalam melakukan perubahan kebutuhan dan dokumentasi jika perubahan
terjadi di tengah-tengah perubahan.
 Produksi software terjadi lebih cepat.

c. Kekurangan :
 Belum terbukti apakah metode ini cukup efisien karena usianya yang relative baru.
 Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.
 Kurang efisien dalam penerapan model spiral karena waktu yang digunakan.
 Membutuhkan sumber pengalaman sebagai proses sehingga sangat kompleks.
 Dalam melakukan proyek kecil, estimasi biaya akan sangat tinggi.
 Risiko dalam tahap planning, jika terjadi perbedaan dalam jadwal pengembangan
atau dalam anggaran belanja..

d. Manfaat :
Model ini dapat terus digunakan meskipun software sudah dikirimkan karena proses
(siklus)dapat berputar lagi jika ada perubahan pada software sampai tidak ada permintaan
perupbahan pada software oleh client.

e. Contoh Implementasi :
“Penerapan Model Spiral Pada Sistem Informasi Kepuasan Siswa di Lembaga Kursus
Pelatihan (LKP) Palcomtech Palembang”
 Penerapan model spiral pada Lembaga Kursus dan Pelatihan (LKP) Palcomtech
Palembang bertujuan untuk meningkatkan kinerja staf pada LKP Palcomtech
Palembang dan mempermudah siswa dalam memberikan penilaian terhadap kinerja
staf berupa kuesioner online.
Model Spiral memiliki tahapan-tahapan seperti perencanaan, analisis dan desain,
pembuatan prototype serta pengujian.

6. Extreme Programming – (Jurnal PROSISKO Vol. 3 No. 1 Maret 2016 - Ahmad


Fatoni, Dhany Dwi)
Extreme Programming (berikutnya akan disingkat sebagai XP) 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.
Extreme Programming (XP) yaitu sebuah metode pengembangan software yang cepat,
efisien, beresiko rendah, fleksibel, terprediksi, scientific, dan menyenangkan.

a. Penjelasan alur proses (gambar) :

1. Planning/Perencanaan
Pada tahap perencanaan ini dimulai dari pengumpulan kebutuhan yang membantu tim
teknikal untuk memahami konteks bisnis dari sebuah aplikasi. Selain itu pada tahap ini
juga mendefinisikan output yang akan dihasilkan, fitur yang dimiliki oleh aplikasi dan
fungsi dari aplikasi yang dikembangkan.
2. Design/Perancangan
Metode ini menekankan desain aplikasi yang sederhana, untuk mendesain aplikasi
dapat menggunakan Class-Responsibility-Collaborator (CRC) cards yang
mengidentifikasi dan mengatur class pada object-oriented.
3. Coding
Sebelum membuat code, lebih baik membuat unit test tiap story untuk dimasukkan
dalam software increment. XP menyarankan agar dua orang bekerja bersama pada satu
komputer workstation untuk membuat code dari satu story (pair programming), untuk
menyediakan real time problem solving dan jaminan real time quality. Setelah pair
programming selesai, code diintegrasikan dengan kerja laiinnya (continuous
integration).
4. Testing
Unit test yang telah dibuat harus diimplementasikan menggunakan suatu framework
dan diatur ke dalam universal testing suite, integrasi dan validasi sistem dapat
dilakukan setiap hari. Customer test (acceptance test) dilakukan oleh customer dan
fokus pada keseluruhan fitur dan fungsional sistem. Acceptance test diperoleh dari
customer stories yang telah diimplemetasikan sebagai bagian dari software release.

b. Kelebihan :
 Meningkatkan kepuasan kepada klien.
 Pembangunan system dibuat lebih cepat.
 Menjalin komunikasi yang baik dengan client.
 Meningkatkan komunikasi dan sifat saling menghargai antar developer.

c. Kekurangan :
 Cerita-cerita yang menunjukkan requirements dari pelanggan kemungkinan besar tidak
lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan
akan selalu diterima.
 Tidak bisa 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.

d. Manfaat :
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 orang.
 Adanya permintaan dari pelanggan secara langsung.
e. Contoh Implementasi :
“Rancang Bangun Sistem Extreme Programming Sebagai Metodologi Pengembangan
Sistem”
 Extreme Programming bisa di terapkan pada perusahaan atau organisasi yang
mempunyai tim khusus untuk pengembangan suatu sistem. Perusahaan atau organisasi
yang ingin menerapkan Extreme Programming diharapkan untuk bisa memahami dan
mengerti Extreme Programming practice, dan scrum. Jika perusahaan atau organisasi
sudah mengerti Extreme Programming practice dan scrum, maka bisa mempelajari
scrum terlebih dahulu lalu full Extreme Programming.
Extreme Programming berguna untuk mempercepat pekerjaan suatu tim dalam
organisasi atau perusahaan. Karena dalam Extreme Programming life cycle menuntut
ke suatu tim untuk menyelesaikan rangkaian aktivitas Planning, Analys, Design &
Code, Test, Deploy dalam tempo waktu yang telah ditentukan.

7. Agile Model – (Jurnal E-31, Mgs. Afriyan Firdaus, Dwi Rosa Indah, Idris)
Pengertian metode agile adalah sekumpulan metode sebuah pengembangan
perangkat lunak(software) atas dasar prinsip yang sama atau pengembangan sistem jangka
pendek. Sehingga metode agile memerlukan adaptasi yang cepat dari pengembang terhadap
perubahan dalam bentuk apapun. Pengertian metode agile adalah salah satu metode yang
sangat mudah beradaptasi dalam bentuk apapun. Metode agile adalah metode yang
mengutamakan kelincahan tim sehingga metode ini sangat cepat dalam pengembangannya.
Selain itu, pengertian metode agile dapat mengatasi perubahan secara singkat dan dapat
diperbaiki dengan cepat.

a. Penjelasan alur proses (gambar) :

 Iterasi yang cepat dan pengiriman software yang befungsi secara regular memastikan
kepuasan pelanggan.
 Perubahan yang telat dapat ditangani dengan mudah dan juga diterima secara
terbuka.
 Perkembangan dinilai berdasarkan implementasi software.
 Komunikasi pelanggan dan pengguna ditekankan secara bertatap muka.
 Setiap pertemuan dengan anggota tim dilakukan secara bertatap muka.
 Setiap anggota tim pengembang adalah orang yang berkomitmen dan bermoivasi
timggi serta kompeten dan dapat dipercaya.

b. Kelebihan :
 Pembangunan system dibuat lebih cepat
 Meningkatkan kepuasan kepada klien
 Mengurangi resiko kegagalan implementasi software dari segi non-teknis
 Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi
relative kecil.

c. Kekurangan :
 Siap menghadapi beberapa perubahan
 Bekerja dengan cepat, jika tim tidak dapat menyesuaikan tidak akan maksimal
 Rencana awal dapat berubah se waktu-waktu
 Jadwal tidak menentu
 Jika tim tidak bisa komunikasi dengan baik maka akan terjadi kemunduran

d. Manfaat :
 Metodologi pengembangan Agile memberikan kesempatan untuk menilai arah
proyek melalui siklus pengembangan
 Dengan berfokus pada pengulangan siklus kerja disingkat serta produk fungsional
mereka menghasilkan, metodologi tangkas digambarkan sebagai “berulang” dan
“incremental”.
 Dalam paradigma tangkas, setiap aspek persyaratan pembangunan, desain, dan lain-
lain terus ditinjau kembali selama pemakaian.

e. Contoh Implementasi :
“Penerapan Scrum Agile Development Dalam Pengembangan Sistem Informasi
Monitoring Mahasiswa Bidikmisi Berbasis Web (Studi Kasus Di Universitas Sriwijaya)”

Anda mungkin juga menyukai