Anda di halaman 1dari 22

MAKALAH ANALISIS DAN PERENCANAAN SISTEM

SYSTEM DEVELOPMENT LIFE CYLE (SDLC)

Untuk Memenuhi Tugas Mata Kuliah Analisis Dan Perencanaan Sistem

Dosen Pengampu: Rizal Furqan Ramadhan, S.Kom., M.T.

Kelompok 5

Anggota Kelompok:

1. Miya Erika Febriana (126403202109)

2. Intan Risqi Andriani (126403202113)

3. Ayu Reza Michelowenta (126403202115)

4. Binti Lestari Saputri (126403202122)

5. Ervina Nur Afifah (126403202131)

6. Rifka Nazwa Septiani J. (126403202137)

KELAS 6C

AKUNTANSI SYARIAH

FAKULTAS EKONOMI DAN BISNIS ISLAM

UNIVERSITAS ISLAM NEGERI SAYYID ALI RAHMATULLAH


TULUNGAGUNG

APRIL 2023
KATA PENGANTAR

Puji syukur senantiasa tercurahkan kepada Allah SWT atas segala rahmat, karunia,
taufik, serta hidayah-Nya yang diberikan kepada semua umat muslim. Tidak lupa sholawat
serta salam tercurahkan kepada junjungan kita Nabi Muhammad SAW yang telah
membawa Islam dari zaman jahiliyah ke zaman yang terang benderang, sehingga kami
dapat menyelesaikan penulisan makalah untuk memenuhi tugas Mata Kuliah Analisis dan
Perencanaan Sistem. Adapun judul yang kami buat dalam makalah ini adalah “System
Development Life Cyle (SDLC)”.
Kami juga ingin menyampaikan ucapan terima kasih dengan rasa hormat dan
segala ketulusan hati kepada:
1. Prof. Dr. H. Maftukhin, M.Ag. selaku Rektor UIN Sayyid Ali Rahmatullah
Tulungagung.
2. Dr. H. Dede Nurrohman, M.Ag. selaku Dekan Fakultas Ekonomi dan Bisnis Islam
UIN Sayyid Ali Rahmatullah Tulungagung.
3. Dyah Pravitasari, S.E., M.S.A. selaku Koordinator Prodi Akuntansi Syariah.
4. Rizal Furqan Ramadhan, S.Kom., M.T. selaku dosen pengampu Mata Kuliah
Analisis dan Perencanaan Sistem yang telah memberi tugas dan membimbing
kami.
5. Orang tua yang memberi dukungan kepada kami.
6. Semua pihak yang telah membantu dalam pembuatan makalah ini.
Dengan adanya makalah ini semoga dapat memberikan ilmu dan manfaat bagi
kami, serta para pembaca pada umumnya. Kami menerima kritik dan saran dari berbagai
pihak yang bersifat membangun agar tercapainya kesempurnaan makalah ini.

Tulungagung, 10 April 2023

Kelompok 5

ii
DAFTAR ISI

KATA PENGANTAR .......................................................................................................ii


DAFTAR ISI ......................................................................................................................iii
BAB I PENDAHULUAN ..................................................................................................1
A. Latar Belakang ......................................................................................................1
B. Rumusan Masalah .................................................................................................2
C. Tujuan ....................................................................................................................2
BAB II PEMBAHASAN ...................................................................................................3
A. Definisi SDLC .......................................................................................................3
B. Macam-macam SDLC (Waterfall, Prototype, RAD, Spiral, XP, Adaptif) ...........4
BAB III PENUTUP ...........................................................................................................17
A. Kesimpulan ...........................................................................................................17
B. Saran ......................................................................................................................17
DAFTAR PUSTAKA ........................................................................................................18

iii
BAB I
PENDAHULUAN

A. Latar Belakang
Saat ini teknologi informasi mengalami perkembangan yang begitu pesat. Banyak
manusia menggunakan sistem informasi sebagai alat bantu dalam pengambilan
keputusan dan juga digunakan sebagai bahan untuk memperoleh hasil pencarian dari
suatu pokok permasalahan. Diharapkan hasilnya akan memberikan solusi serta
pengambilan keputusan dengan tepat. Teknologi informasi membuat aliran informasi
dapat berjalan secara optimal dan terintegrasi, sehingga memungkinkan perusahaan
untuk mendapatkan informasi yang cepat, tepat, dan akurat.
Penyajian informasi seputar perusahaan, organisasi dan lembaga
pendidikan dilakukan dengan metode penyajian program aplikasi atau sistem yang
dirancang dengan baik dan bahkan dapat diakses dari berbagai pengguna. Oleh karena
itu, dalam membuat suatu perangkat lunak atau aplikasi harus memiliki teknik analisa
kebutuhan dan teknik permodelan yang baik. Sehingga, terdapat beberapa tahapan yang
harus dilalui, salah satu metode yang umum digunakan adalah System Development Life
Cycle (SDLC).
System Development Life Cycle (SDLC) merupakan suatu bentuk penggambaran
tahapan proses pengembangan sistem. Siklus hidup pengembangan sistem atau SDLC
menyajikan metodologi atau proses yang diorganisasikan untuk membangun suatu
sistem. Fungsi utama dari SDLC adalah mengakomodasi kebutuhan pengguna berkaitan
dengan sistem yang akan dikembangkan. Kebutuhan pengembangan sistem dapat berupa
perubahan atau penciptaan aplikasi baru apakah secara secara modular maupun dengan
proses instalasi baru.1 Dalam menggunakan metode ini, diharapkan dalam pembuatan
suatu aplikasi atau sistem menjadi lebih terarah dan sistematis. Sehingga, ouput yang
dihasilkan dapat sesuai dengan apa yang diharapkan.

1
Parasian D. P Silitonga dan Doni El Rezen Purba, “Implementasi System Development Life Cycle Pada
Rancang Bangun Sistem Pendaftaran Pasien Berbasis Web”, dalam
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwia57zin5_-AhV6-
DgGHTj_AVwQFnoECBkQAQ&url=https%3A%2F%2Fjurnal.kaputama.ac.id%2Findex.php%2FJSIK%2Farti
cle%2Fdownload%2F632%2Fpdf&usg=AOvVaw1yDfWwzOF9vCo8g_-rUTca, diakses pada 10 April 2023
1
Berdasarkan uraian tersebut, dengan melihat pentingnya SDLC dalam hal
penyusunan sistem, maka pada makalah ini akan membahas mengenai definisi beserta
macam-macam System Develpment Life Cycle (SDLC).

B. Rumusan Masalah
Rumusan masalah merupakan pertanyaan yang jelas terhadap topik tertentu yang
diangkat oleh penulis dan menjadi titik fokus pada pembahasan. Berdasarkan latar
belakang yang telah dikemukakan diatas, agar dalam penyusunan dan penulisan makalah
ini terfokus pada ruang lingkup penulisan, maka penulis membatasi permasalahan pada
judul yaitu “System Development Life Cyle (SDLC)”. Maka rumusan masalah dalam
makalah ini sebagai berikut:
1. Apa definisi SDLC?
2. Apa macam-macam SDLC (waterfall, prototype, RAD, spiral, XP, adaptif)

C. Tujuan
Tujuan makalah adalah pernyataan untuk menginformasikan, menganalisis suatu
ide, serta mengajak para pembaca untuk berpikir secara kritis mengenai topik yang
dibahas dalam makalah. Tujuan dari makalah ini, antara lain:
1. Untuk mengetahui definisi SDLC.
2. Untuk mengetahui macam-macam SDLC (waterfall, prototype, RAD, spiral, XP,
adaptif).

2
BAB II
PEMBAHASAN

A. Definisi SDLC
SDLC (Software Development Life Cycle) adalah kerangka kerja atau model
manajemen proyek terstruktur yang menguraikan fase-fase yang diperlukan untuk
membangun sistem IT dari awal hingga hasil akhir. Tujuan dari Software Development
Life Cycle adalah untuk menciptakan proses produksi yang efektif dan berkualitas tinggi
agar dapat memenuhi atau melampaui harapan klien sesuai dengan anggaran dan jadwal
yang telah ditentukan.
Kerangka kerja ini sudah banyak digunakan oleh berbagai perusahaan IT baik itu
perusahaan besar ataupun kecil. Dengan tetap patuh terhadap kerangka kerja SDLC ini,
maka perusahaan dapat mempercepat proses pengembangan dan meminimalkan risiko
proyek terkait waktu dan biaya yang diperlukan.2
Di bawah ini pengertian SDLC menurut para ahli, antara lain:3
1. Rosa & Shalahuddin
Menyatakan bahwa, SDLC atau Software Development Life Cycle adalah proses
mengembangkan atau mengubah suatu sistem perangkat lunak dengan menggunakan
model dan metodologi yang digunakan orang untuk mengembangkan sistem tersebut.
2. O’brien
Mengemukakan SDLC adalah aplikasi dari penerapan pencarian masalah (problem
solving) yang diperoleh dari pendekatan sistem pengembangan solusi sistem
informasi untuk masalah bisnis.
3. Turban
Menurut pandangan Turban, System Development Life Cycle (SDLC) merupakan
suatu metode pengembangan sistem tradisional yang digunakan oleh sebagian besar
organisasi saat ini. SDLC merupakan kerangka kerja dirancang secara terstruktur,
berisi tentang proses yang berurut dimana sistem informasi dikembangkan.

2
Feradhita, “Pengertian, Model, dan Tahapan SDLC (Software Development Life Cycle)”
https://www.logique.co.id/blog/2021/04/28/tahapan-sdlc/ diakses pada tanggal 06 April 2023.
3
Dewinta Noniya, "Pengertian Software Development Life Cycle Menurut Para Ahli"
https://lambeturah.id/pengertian-software-development-life-cycle-menurut-ahli/ diakses pada 6 April 2023
3
4. Azhar Susanto
Menyatakan bahwa, System Development Life Cycle (SDLC) atau siklus hidup
pengembangan sistem (SDLC) adalah salah satu metode pengembangan sistem
informasi yang populer ketika sistem informasi pertama kali dikembangkan.
Dari pemaparan pengertian di atas, maka dapat disimpulkan bahwa System
Development Life Cycle (SDLC) atau siklus hidup pengembangan sistem adalah suatu
metode atau proses dalam pengembangan sistem atau mengubah sistem dengan
menggunakan model atau metodologi pendekatan sistem pengembangan solusi sistem
informasi yang dirancang secara terstruktur.

B. Macam-macam SDLC (Waterfall, Prototype, RAD, Spiral, XP, Adaptif)


1. Waterfall
Metode dalam System Development Lilfe Cycle (SDLC) melalui pendekatan
model waterfall atau dapat diartikan dengan pendekatan model air terjun. Artinya
pendekatan ini adalah pendekatan beruntun dan bersiklus, dimana urutan dari proses
penelitian akan terus berputar hingga hasil desain yang diharapkan sudah tepat dan
sesuai dengan keinginan dan kebutuhan client. Adapun langkah-langkah proses
System Development Life Cycle (SDLC) dengan pendekatan waterfall ini adalah
seperti gambar di bawah ini (Somerville, I 2011):

Keterangan:
a. Requirements analysis and definition. Layanan sistem, kendala, dan tujuan
ditetapkan oleh hasil konsultasi dengan pengguna yang kemudian didefinisikan
secara rinci dan berfungsi sebagai spesifikasi sistem.
b. System and software design. Tahapan perancangan sistem mengalokasikan
kebutuhan-kebutuhan sistem baik perangkat keras maupun perangkat lunak
4
dengan membentuk arsitektur sistem secara keseluruhan. Perancangan perangkat
lunak melibatkan identifikasi dan penggambaran abstraksi sistem dasar perangkat
lunak dan hubungannya.
c. Implementation and unit testing. Pada tahap ini, perancangan perangkat lunak
direalisasikan sebagai serangkaian program atau unit program. Pengujian
melibatkan verifikasi bahwa setiap unit memenuhi spesifikasinya.
d. Integration and system testing. Unit-unit individu program atau program
digabung dan diuji sebagai sebuah sistem lengkap untuk memastikan apakah
sesuai dengan kebutuhan perangkat lunak atau tidak. Setelah pengujian,
perangkat lunak dapat dikirimkan ke customer.
e. Operation and maintenance. Biasanya tahapan ini merupakan tahapan yang
paling panjang. Sistem dipasang dan digunakan secara nyata. Maintenance
melibatkan pembetulan kesalahan yang tidak ditemukan pada tahapan-tahapan
sebelumnya, meningkatkan implementasi dari unit sistem, dan meningkatkan
layanan sistem sebagai kebutuhan baru.
Keunggulan model pendekatan pengembangan software metode waterfall
adalah pencerminan kepraktisan rekayasa yang bisa membuat kualitas software tetap
terjaga. Jenis model yang bersifat lengkap sehingga proses pemeliharaan nya lebih
mudah. Sedangkan, kelemahan model waterfall ini adalah lambatnya proses
pengembangan perangkat lunak. Dikarenakan proses yang satu tidak bisa diloncat-
loncat. Maka dari itu, model ini sangat memakan waktu dalam mengembangkannya.
Kelemahan yang lain yaitu kinerja tidak optimal dan kurang efisien.4

2. Prototype
Metode SDLC selanjutnya adalah prototype. Metode prototype adalah metode
yang memungkinkan pengguna atau user memiliki gambaran awal tentang perangkat
lunak yang akan dikembangkan, serta pengguna dapat melakukan pengujian di awal
sebelum perangkat lunak dirilis. Metode ini bertujuan untuk mengembangkan model
menjadi perangkat lunak yang final. Artinya sistem akan dikembangkan lebih cepat
dan biaya yang dikeluarkan lebih rendah. Metode prototype ini memiliki tahap-tahap
yang harus dilakukan dalam pengembangan perangkat lunak.
4
UII, “BAB III METODOLOGI PENELITIAN” dalam
https://dspace.uii.ac.id/bitstream/handle/123456789/17235/05.3%20bab%203.pdf?sequence=8&isAllowed=y,
diakses pada 9 April 2023
5
Berikut adalah tahap-tahap pengembangan perangkat lunak menggunakan
metode prototype:

Keterangan:
a. Analisa kebutuhan. Pada tahap ini pengembang melakukan identifikasi perangkat
lunak dan semua kebutuhan sistem yang akan dibuat.
b. Membuat prototype. Membuat rancangan sementara yang berfokus pada alur
program kepada pengguna.
c. Evaluasi prototype. Evaluasi dilakukan untuk mengetahui apakah model prototype
sudah sesuai dengan harapan.
d. Mengkodekan sistem. Jika prototype disetujui maka akan diterjemahkan ke dalam
bahasa pemrograman yang sesuai.
e. Pengujian sistem. Setelah perangkat lunak sudah siap, perangkat lunak harus
melewati pengujian. Pengujian ini biasanya dilakukan dengan White Box Testing,
Black Box Testing, dan lain-lain.
f. Evaluasi sistem. Pengguna melakukan evaluasi apakah perangkat lunak sudah
sesuai dengan apa yang diharapkan atau tidak. Jika iya, maka melakukan tahap
selanjutnya. Jika tidak, maka mengulangi tahap mengkodekan sistem dan
pengujian sistem.
g. Menggunakan sistem
Perangkat lunak yang telah diuji dan disetujui siap untuk digunakan.
Sebagai suatu metode yang sering digunakan, metode prototype pasti memiliki
kelebihan dan kekurangan. Berikut adalah kelebihan dari metode prototype:
a. Mempersingkat waktu pengembangan perangkat lunak.
b. Penerapan fitur menjadi lebih mudah, karena pengembang mengetahui apa yang
diharapkan.

6
Sedangkan, kekurangan dari metode prototype:
a. Proses yang dilakukan untuk analisis dan perancangan terlalu singkat.
b. Kurang fleksibel jika terjadi perubahan.5

3. Rapid Application Development (RAD)


Rapid Application Development (RAD) adalah salah satu metode
pengembangan suatu sistem informasi dengan waktu yang relatif singkat. Untuk
pengembangan suatu sistem informasi yang normal membutuhkan waktu minimal 180
hari, akan tetapi dengan menggunakan metode RAD suatu sistem dapat diselesaikan
hanya dalam waktu 30-90 hari. Pada saat RAD diimplementasikan, maka para
pemakai bisa menjadi bagian dari keseluruhan proses pengembangan sistem dengan
bertindak sebagai pengambil keputusan pada setiap tahapan pengembangan.
Metode RAD mempunyai bebrerapa tahapan yaitu:
a. Rencana Kebutuhan (Requirement Planning)
Pada tahap ini, user dan analyst melakukan semacam pertemuan untuk
melakukan identifikasi tujuan dari aplikasi atau sistem dan melakukan identifikasi
kebutuhan informasi untuk mencapai tujuan. Dapat juga melakukan koordinasi
dengan Chief Information Office (CIO) atau bagian perencana strategis terutama
untuk mengembangkan suatu aplikasi e-commerce berbasis web untuk
mendapatkan informasi yang lebih detail akan tujuan dari suatu organisasi.
b. Proses Desain (Design Workshop)
Pada tahap ini adalah melakukan proses desain dan melakukan perbaikan-
perbaikan apabila masih terdapat ketidaksesuaian desain antara user dan analyst.
Untuk tahap ini maka keaktifan user yang terlibat sangat menentukan untuk
mencapai tujuan, karena user bisa langsung memberikan komentar apabila
terdapat ketidaksesuaian pada desain.
c. Implementasi (Implementation)
Setelah desain dari sistem yang akan dibuat sudah disetujui baik itu oleh
user dan analyst, maka pada tahap ini programmer mengembangkan desain
menjadi suatu program. Setelah program selesai baik itu sebagian maupun secara

5
Rony Setiawan, “Metode SDLC Dalam Pengembangan Software” dalam
https://www.dicoding.com/blog/metode-sdlc/, diakses pada 9 April 2023
7
keseluruhan, maka dilakukan proses pengujian terhadap program tersebut apakah
terdapat kesalahan atau tidak sebelum diaplikasikan pada suatu organisasi.
d. Tahapan keseluruhan
Dengan berdasarkan pada tahapan-tahapan tersebut maka proses utama
pengembangan suatu sistem dengan menggunakan metode RAD adalah sebagai
berikut:
1) Pengembang membuat prototype berdasarkan kebutuhan-kebutuhan yang
sudah didefinisikan sebelumnya.
2) Desainer melakukan penilaian terhadap prototype.
3) User melakukan uji coba pada prototype dan memberikan masukan
mengenai kebutuhan-kebutuhan yang kurang.
4) User dan developer melakukan pertemuan untuk memberikan penilaian
terhadap produk secara bersama-sama, menyesuaikan kebutuhan serta
memberikan komentar apabila diperlukan perubahan.
5) Semua kebutuhan akan sistem dan perubahan-perubahan yang terjadi
dilakukan proses “timeboxed” dengan mempunyai 2 kemungkinan yaitu
perubahan yang tidak dapat ditampung seperti yang sudah direncanakan
harus dihilangkan dan jka diperlukan kebutuhan-kebutuhan yang bersifat
sekunder ditiadakan.
Beberapa kelebihan dalam menggunakan metode RAD, yaitu:
a. Membeli sistem yang baru memungkinkan untuk lebih menghemat biaya.
b. Mudah untuk diamati karena menggunakan model prototype, sehingga user
lebih mengerti akan sistem yang dikembangkan.
c. Lebih fleksibel karena pengembang dapat melakukan proses desain ulang pada
saat yang bersamaan.
d. Mempercepat waktu pengembangan sistem secara keseluruhan karena
cenderung mengabaikan kualitas.
e. Tampilan yang lebih standar dan nyaman dengan bantuan software
pendukung.
Sedangkan, kekurangan dalam menggunakan metode RAD, yaitu:
a. Kesulitan melakukan pengukuran mengenai kemajuan proses.
b. Lebih banyak terjadi kesalahan apabila hanya mengutamakan kecepatan
dibandingkan dengan biaya dan kualitas.
8
c. Fasilitas-fasilitas banyak yang dikurangi karena terbatasnya waktu yang
tersedia.
d. Sistem sulit diaplikasikan di tempat yang lain.
e. Fasilitas yang tidak perlu terkadang harus disertakan karena menggunakan
komponen yang sudah jadi sehingga hal ini membuat biaya semakin
meningkat karena harga komponen yang lebih lengkap semakin mahal.6

4. Model Spiral
Model spiral adalah salah satu metode yang dapat digunakan dalam
pengembangan perangkat lunak. Model spiral merupakan penggabungan dari model
prototyping dan model waterfall. Model prototyping yang fokus pada penyajian atau
presentasi kepada user dengan format input dan output kemudian perangkat lunak
akan dievaluasi. Model waterfall yang fokus kepada proses pengembangan perangkat
lunak yang sistematis atau berurutan. Model spiral menekankan pada analisa resiko
setiap tahapannya. Fungsi model spiral adalah untuk melakukan perubahan,
penambahan dan pengembangan perangkat lunak dengan memaksimalkan aspek
kecepatan dan ketepatan berdasarkan keinginan dan kebutuhan penggunanya.
Dalam penerapan model spiral, terdapat lima tahapan untuk merealisasikan
penggunaannya, yaitu sebagai berikut:
a. Tahap Liason. Tahap ini berhubungan dengan komunikasi antara pihak-pihak
yang terlibat dalam pengembangan softaware (seperti: system analyst) dengan
pelanggan (user). Tujuannya adalah memperbaiki dan mengembangan software
sesuai kebutuhan dan keinginan hingga memuaskan pelanggan.
b. Tahap Planning. Tahap perencanaan meliputi estimasi biaya yang digunakan,
batas waktu, pengaturan jadwal, identifikasi lingkungan kerja, sumber-sumber
informasi untuk melakukan iterasi (teknik perulangan). Hasil dari tahapan ini
adalah dokumen spesifikasi kebutuhan sistem dan bisnis.
c. Tahap Analisis Risiko. Tahap analisis risiko berfungsi untuk mengidentifikasi
resiko yang berpotensi akan terjadi dan menghasilkan solusi alternatif secara
teknis dan manajemen saat strategi mitigasi (upaya untuk mengurangi resiko
bencana) direncanakan dan diselesaikan.
6
Agustinus Noertjahyana, “Studi Analisis Rapid Aplication Development sebagai Salah Satu Alternatif
Metode Pengembangan Perangkat Lunak” dalam https://media.neliti.com/media/publications/102434-ID-studi-
analisis-rapid-aplication-developm.pdf, diakses 9 April 2023
9
d. Tahapan Rekayasa (Engineering). Pada tahap rekayasa, beberapa kegiatan ini
yang akan dilakukan, yaitu: menguji, coding, mengembangkan software,
menginstal software, membuat prototype, mendesain dokumen, meringkas suatu
pengujian software, dan membuat laporan atas kekurangan dari software agar
segera diperbaiki.
e. Tahap Evaluasi. Pada tahap evaluasi, system analyst membutuhkan masukan dan
tanggapan dari para user dalam mengevaluasi perangkat/produk yang diuji dan
memastikan bahwa produk dibutuhkan sesuai ketentuan yang telah dibicarakan
diawal dengan user. System analyst memastikan pelanggan puas dengan produk
yang akan dihasilkan untuk menjawab persoalan bisnis mereka. Selain itu, system
analyst harus tetap memantau resiko yang akan terjadi.
Kelebihan dalam menggunakan model spiral :
a. Pembangunan dan perubahan perangkat lunak yang terjadi dapat diselesaikan
secara sistematis.
b. Mudah dalam mengestimasi biaya karena proses pembuatan prototype yang jelas
dan terencana dalam tahapan yang sistematis.
c. Manajemen dan analisa risiko yang lebih cepat dan mudah.
d. Mudah dalam melakukan perubahan kebutuhan dan dokumentasi.
e. Produksi software bisa terjadi lebih cepat.
Kekurangan dalam menggunakan model spiral:
a. Tidak cocok dan sulit diimplementasikan dalam projek kecil.
b. Memakan waktu yang cukup lama.
c. Membutuhkan best practice atau pengalaman sebelumnya karena proses yang
sangat kompleks.
d. Resiko dalam tahap planning cukup besar. Misalnya terjadi perbedaan dalam
jadwal pengembangan dan anggaran belanja.7

5. Extreme Programming (XP)


a. Definisi Extreme Programming (XP)
Extreme Programming (XP) adalah salah satu metodologi dari
pendekatan agile software development yang berfokus pada coding sebagai

7
Junyanti, “Pengembangan Sistem Spiral Model” dalam
https://sis.binus.ac.id/2019/04/29/pengembangan-sistem-spiral-model/, diakses 9 April 2023
10
aktivitas utama disemua tahap pada siklus pengembangan yang lebih responsif
terhadap kebutuhan customer dan membangun suatu software dengan kualitas
yang lebih baik pula.8
Menurut Pratama, Extreme Programming (XP) adalah sebuah
pendekatan atau model pengembangan perangkat lunak yang mencoba
menyederhanakan berbagai tahapan dalam proses pengembangan tersebut
sehingga menjadi lebih adaptif dan fleksibel. Sementara itu menurut Prabowo,
Extreme Programming (XP) merupakan sebuah proses rekayasa perangkat lunak
yang cenderung menggunakan pendekatan berorientasi objek dan sasaran dari
metode ini adalah tim yang dibentuk dalam skala kecil sampai medium serta
metode ini juga sesuai jika tim dihadapkan dengan requirement yang tidak jelas
maupun terjadi perubahan-perubahan requirement yang sangat cepat.9
Dapat tarik simpulan bahwa metode Extreme Programming (XP)
merupakan metode pengembangan perangkat lunak yang ringan dan
mengimplementasikan agile yang lebih cenderung menggunakan pendekatan
berorientasi objek serta lebih mengedepankan proses pengembangan yang lebih
responsif terhadap kebutuhan pengguna.10
b. Objek pada Extreme Programming (XP)
Objek yang dimaksud pada extreme programming sejatinya mengacu pada
pemrograman berorientasi objek (PBO) atau dalam bahasa Inggris dikenal
sebagai Object-Oriented Programming (OOP). Pemrograman berorientasi objek
adalah paradigma pemrograman berdasarkan konsep “objek” yang dapat berisi
data, dalam bentuk field atau dikenal juga sebagai atribut; serta kode, dalam
bentuk fungsi/prosedur yang dikenal sebagai method. Semua data dan fungsi di
dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.11
Mudahnya, extreme programming merupakan metode pengembangan
aplikasi yang banyak digunakan oleh tim atau programmer yang menggunakan
paradigma berorientasi objek. Sebetulnya, tidak ada hubungan langsung antara
paradigma pemrograman berorientasi objek dengan metodologi XP. Hanya saja,

8
Gamal Thabroni, “Extreme Programming (XP) – Definisi, Nilai, Tahapan" https://serupa.id/extreme-
programming-xp-definisi-nilai-tahapan/ diakses pada tanggal 07 April 2023.
9
Ibid.,
10
Ibid.,
11
Ibid.,
11
pada masa perkembangan XP, OOP juga merupakan paradigma pemrograman
yang tengah naik daun karena mampu menghasilkan kode yang efisien. Hal
tersebut karena setiap algoritma pada perangkat lunak dapat dibungkus pada
method yang dapat digunakan ulang (reusable function/method) jika kita
membutuhkan logic yang sama namun memiliki atribut yang berbeda.12
c. Nilai Utama XP
Hal pertama untuk mengaplikasikan extreme programming adalah
memahami berbagai nilai utama yang harus dijalankan dalam menggunakan
metode ini. Hal tersebut karena nilai-nilai ini mendasar pada setiap tahapan atau
langkah dari metode XP. Nilai-nilai utama dari extreme programming
adalah communications, courage, simplicity, dan feedback yang akan dijelaskan
di bawah ini.
1) Communications (komunikasi). XP memfokuskan pada hubungan komunikasi
yang baik antar anggota tim. Par aanggota tim harus membangun saling
pengertian, berbagi pengetahuan, serta keterampilan dalam mengembangkan
perangkat lunak.
2) Courage (Keberanian). Anggota tim dan penanggungjawab pengembang
perangkat lunak harus selalu memiliki keyakinan dan integritas dalam
melakukan tugasnya. Integritas haruslah dijaga bahkan dalam kondisi adanya
tekanan dari situasi sekitar (termasuk klien/pengguna).
3) Simplicity (Kesederhanaan). Lakukan segalanya dengan sederhana. Hal ini
merupakan salah satu nilai utama XP, yakni menggunakan metode yang
pendek dan simpel. Misalnya, jangan terlalu rumit dalam membuat desain,
hilangkan fitur yang tidak memiliki nilai guna.
4) Feedback (Umpan balik). Selalu berikan feedback kepada sesama anggota tim,
maupun pihak-pihak lain yang terlibat dalam pengembangan perangkat lunak.
Utarakan selalu pikiran kita dan diskusikan berbagai kesalahan yang muncul
selama proses pengembangan.13

12
Ibid.,
13
Ibid.,
12
d. Tahapan Extreme Programming (XP)
Empat kerangka kegiatan dari tahapan extreme programming adalah
sebagai berikut:
1) Planning
Kegiatan planning atau perencanaan dimulai dengan mengumpulkan
berbagai requirement dari perangkat yang akan dikembangkan. Hal ini
dilakukan agar anggota tim memahami konteks bisnis perangkat lunak dan
untuk mendapatkan pandangan umum terhadap output dan fungsi utama
dari perangkat lunak. Hal ini akan mengarah ke penciptaan suatu “story”
atau kisah kebutuhan pengguna untuk mendeskripsikan ouput, fitur, dan
fungsi dari aplikasi yang akan dikembangkan.
2) Design
Proses desain pada metodologi XP mengikuti prinsip KIS (Keep It Simple).
Desain yang sederhana selalu dipilih dibandingkan dengan desain yang
kompleks. Berbagai desain fungsi tambahan yang tidak diperlukan namun
developer merasa nantinya akan diminta oleh pengguna tidak boleh dibuat.
Hal ini karena XP menerapkan penggunaan CRC (Class Responsibility
Card) sebagai mekanisme yang efektif untuk memikirkan mengenai
software dalam konteks berorientasi objek. CRC akan mengidentifikasi dan
mengorganisasikan class berorientasi objek yang sesuai dengan peningkatan
software. Artinya, berbagai desain fitur tambahan tersebut lebih
dikembangkan ketika memang dibutuhkan (ketika diminta). Jika terjadi
masalah dalam pembuatan desain story pengguna, maka dalam XP akan
direkomendasikan suatu solusi yang disebut sebagai spike solution. Spike
solution adalah pembuatan segera suatu prototype operasional dari sebagian
desain yang mengalami masalah.
3) Coding
Setelah story pengguna dan desain kerangka kerja awal selesai, tim XP
tidak akan segera melanjutkan ke tahap coding, melainkan mengembangkan
serangkaian tes unit yang akan dijalankan pada setiap story yang akan
dibuat. Saat unit tes telah dibuat, developer akan lebih fokus pada apa yang
harus dibuat untuk melewati tes tersebut. XP merekomendasikan konsep
Pair Programming atau pemrograman berpasangan, yakni dua orang
13
bekerja bersama dalam penulisan kode atau program untuk satu story. Hal
ini memberikan kesempatan lebih besar pada pemecahan masalah yang
lebih cepat karena kolaborasi dari dua programmer yang menulis coding
yang sama.
4) Testing
Setelah tahapan pengkodean selesai maka dilakukan tahapan pengujian
sistem untuk mengetahui berbagai kesalahan yang timbul saat aplikasi
sedang berjalan serta untuk memastikan apakah perangkat lunak yang
dibangun telah sesuai dengan story kebutuhan pengguna.14
e. Kelebihan dan Kekurangan Metode XP
Berikut adalah beberapa kelebihan dan kekurangan dari metode extreme
programming:
Kelebihan:
1) Jika pair programming dilakukan, maka developer berpotensi untuk
didampingi langsung oleh pihak klien dalam melakukan coding dan unit
testing, sehingga klien terlibat langsung serta menghilangkan miskomunikasi
antara pengguna dan programmer.
2) Karena mengutamakan kesederhanaan, maka metodologi XP akan
membangun komunikasi yang lebih lancar serta menyederhanakan penjelasan-
penjelasan yang dibutuhkan dalam proses pengerjaan perangkat lunak.
3) Setiap feedback langsung ditanggapi dengan melakukan test, sehingga tidak
akan terjadi pembengkakan tenaga, biaya, dan waktu yang terbuang percuma
karena kesalahan penangkapan feedback dari pengguna.
4) Memberikan banyak ide baru dan keberanian untuk mencobanya.15
Kekurangan:
1) Developer harus selalu siap dengan perubahan, karena XP merupakan
metodologi yang selalu menerima perubahan, termasuk perubahan yang tiba-
tiba di waktu yang terbatas.
2) Tidak dapat membuat kode yang detail sedari awal karena prinsip simplicity
memberikan anjuran untuk melakukan apa yang diperlukan pada saat itu juga,
tidak boleh lebih awal atau lebih lambat.16

14
Ibid.,
15
Ibid.,
14
6. Adaptif
a. Sistem Adaptif
Sistem adaptif merupakan suatu sistem yang mampu menyesuaikan
dirinya terhadap perubahan yang terjadi di lingkungan sekitarnya, sehingga
diharapkan akan mampu mengatasi perubahan akibat beragam gangguan.17
Permasalahan yang umum dihadapi dalam suatu sistem adalah gangguan
yang muncul dari beragam sumber. Beragam cara dan metode telah
dikembangkan untuk mengatasi gangguan tersebut. Namun demikian pencarian
akan suatu metode yang paling baik terus dilakukan untuk mengatasi gangguan-
gangguan tersebut. Gangguan ini seringkali terus berubah, sehingga metode yang
ada haruslah memiliki kemampuan dalam menyesuaikan diri terhadap
perubahan.18
Untuk menghadapi hal tersebut dikembangkanlah suatu sitem yang
disebut sistem adaptif. Sistem adaptif merupakan suatu sistem yang mampu
menyesuaikan dirinya terhadap perubahan yang terjadi di lingkungan sekitarnya,
sehingga diharapkan akan mampu mengatasi perubahan akibat beragam
gangguan.19
Sistem adaptif sering digunakan dalam bidang-bidang berikut ini:
1) Identifikasi sistem
2) Prediksi
3) Inverse modelling
4) Interference canceling
Dalam kehidupan sehari-hari kita kerap menemui dan menggunakan
sistem adaptif pada sistem telekomunikasi (untuk interference cancelling, noise
reductrion)dan optimalisasi sistem industri (identifikasi sistem, inverse
modelling). Ada beberapa hal yang menyebabkan sistem adaptif dijadikan suatu
pilihan, antara lain :
1) Seringkali kita tidak dapat mengetahui jenis gangguan yang dihadapi.
2) Gangguan yang ada sifatnya berubah-ubah.

16
Gamal Thabroni, “Extreme Programming (XP) – Definisi, Nilai, Tahapan" https://serupa.id/extreme-
programming-xp-definisi-nilai-tahapan/ diakses pada tanggal 07 April 2023.
17
Ilmukomputer.org, “ Sistem Adaptif dan Contoh Aplikasinya” https://ilmukomputer.org/wp-
content/uploads/2007/04/sistem-adaptif.doc diakses pada tanggal 07 April 2023.
18
Ibid
19
Ibid
15
Kedua hal di atas dapat dijadikan suatu alasan yang kuat mengapa kita
menggunakan sistem adaptif dibandingkan dengan metode lain/konvensional.20
b. Kontrol Adaptif
Adaptive control merupakan mekanisme pengaturan cerdas dengan
penyesuaian parameter yang dapat mengatur sistem. Dengan memperbaiki nilai-
nilai parameter sistem secara on-line, diharapkan kinerja sistem makin baik
karena adanya penyesuaian parameter kendali.21
Kendali adaptif adalah kendali yang dapat beradaptasi terhadap
perubahan, baik terhadap lingkungan eksternal maupun internalnya, untuk
mempertahankan kinerja dan stabilitas sistem dengan memodifikasi parameter
dari sistem tersebut. 22

20
Ilmukomputer.org, “ Sistem Adaptif dan Contoh Aplikasinya” https://ilmukomputer.org/wp-
content/uploads/2007/04/sistem-adaptif.doc diakses pada tanggal 07 April 2023.
21
JawabanApapun.com, “Apa itu Kontrol Adaptif?” https://jawabanapapun.com/bagaimana-sistem-
adaptif/ diakses pada tanggal 07 April 2023.
22
Ibid.,
16
BAB III
PENUTUP

A. Kesimpulan
System Development Life Cycle (SDLC) atau siklus hidup pengembangan sistem
adalah suatu metode atau proses dalam pengembangan sistem atau mengubah sistem
dengan menggunakan model atau metodologi pendekatan sistem pengembangan solusi
sistem informasi yang dirancang secara terstruktur. Macam-macam SDLC, antara lain:
waterfall, prototype, RAD, spiral, XP, adaptif.
Waterfall adalah pendekatan beruntun dan bersiklus, dimana urutan dari proses
penelitian akan terus berputar hingga hasil desain yang diharapkan sudah tepat dan sesuai
dengan keinginan dan kebutuhan client. Prototype adalah metode yang memungkinkan
pengguna atau user memiliki gambaran awal tentang perangkat lunak yang akan
dikembangkan, serta pengguna dapat melakukan pengujian di awal sebelum perangkat
lunak dirilis. Rapid Application Development (RAD) adalah salah satu metode
pengembangan suatu sistem informasi dengan waktu sekitar 30-90 hari. Extreme
Programming (XP) merupakan metode pengembangan perangkat lunak yang ringan dan
mengimplementasikan agile yang lebih cenderung menggunakan pendekatan berorientasi
objek serta lebih mengedepankan proses pengembangan yang lebih responsif terhadap
kebutuhan pengguna. Sistem adaptif merupakan suatu sistem yang mampu menyesuaikan
dirinya terhadap perubahan yang terjadi di lingkungan sekitarnya, sehingga diharapkan
akan mampu mengatasi perubahan akibat beragam gangguan.

B. Saran
Mahasiswa perlu mengetahui bab mengenai SDLC ini. Perlu diketahui bahwa
SDLC berperan penting dalam pembuatan suatu perangkat atau sistem. Banyak sekali
yang harus dipelajari mengenai bab SDLC ini, baik segi definisinya maupun dari segi
macam-macamnya. Sehingga, nantinya apabila melakukan praktik membuat sistem atau
perangkat akan menciptakan suatu sistem yang baik dan dapat berjalan secara
profesional.
Penulis menyadari bahwa dalam proses penulisan makalah ini masih memiliki
kekurangan, baik dari segi penulisan maupun referensi yang kami cantumkan. Penulis
sangat mengharapkan saran dari pembaca, demi kesempurnaan makalah ini.
17
DAFTAR PUSTAKA

Feradhita. 2021."Pengertian, Model, dan Tahapan SDLC (Software Development Life


Cycle)" https://www.logique.co.id/blog/2021/04/28/tahapan-sdlc/, diakses pada 6
April 2023

Ilmukomputer.org. Sistem Adaptif dan Contoh Aplikasinya. https://ilmukomputer.org/wp-


content/uploads/2007/04/sistem-adaptif.doc diakses pada 07 April 2023.

JawabanApapun.com. Apa itu Kontrol Adaptif?. https://jawabanapapun.com/bagaimana-


sistem-adaptif/ diakses pada 07 April 2023.

Junyanti. 2019. "Pengembangan Sistem Spiral Model", dalam


https://sis.binus.ac.id/2019/04/29/pengembangan-sistem-spiral-model/, diakses
pada 9 April 2023.

Noertjahyana, Agustinus. "Studi Analisis Rapid Aplication Development sebagai Salah Satu
Alternatif Metode Pengembangan Perangkat Lunak". Jurnal Informatika, 3 (2): 74-
79, (https://media.neliti.com/media/publications/102434-ID-studi-analisis-rapid-
aplication-developm.pdf), diakses pada 9 April 2023.

Noniya, Dewinta. 2022. "Pengertian Software Development Life Cycle Menurut Para Ahli"
https://lambeturah.id/pengertian-software-development-life-cycle-menurut-ahli/,
diakses pada 6 April 2023

Setiawan, Rony. 2021. Metode SDLC Dalam Pengembangan Software, dalam


https://www.dicoding.com/blog/metode-sdlc/, diakses pada 9 April 2023.

Silitonga, Parasian D. P dan Doni El Rezen Purba. 2021. “Implementasi System Development
Life Cycle Pada Rancang Bangun Sistem Pendaftaran Pasien Berbasis Web”.
Jurnal Sistem Informasi Kaputama (JSIK), 5(2): 196-203,
(https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2a
hUKEwia57zin5_-AhV6-
DgGHTj_AVwQFnoECBkQAQ&url=https%3A%2F%2Fjurnal.kaputama.ac.id%2
Findex.php%2FJSIK%2Farticle%2Fdownload%2F632%2Fpdf&usg=AOvVaw1y
DfWwzOF9vCo8g_-rUTca), diakses pada 10 April 2023.

18
Thabroni, Gamal. 2022. Extreme Programming (XP) – Definisi, Nilai, Tahapan.
https://serupa.id/extreme-programming-xp-definisi-nilai-tahapan/ diakses pada 07
April 2023.

UII. BAB III METODOLOGI PENELITIAN, dalam


https://dspace.uii.ac.id/bitstream/handle/123456789/17235/05.3%20bab%203.pdf?
sequence=8&isAllowed=y, diakses pada 9 April 2023.

19

Anda mungkin juga menyukai