Anda di halaman 1dari 31

Terdapat bermacam-macam model pengembangan perangkat lunak, contohnya adalah Rational

Unified Process (RUP), Extreme Programming (XP), Agile Modeling, dan Scrum.

1. Rational Unified Process (RUP)


Rational Unified Process (RUP) merupakan suatu model pengembangan sistem secara objek
oriented yang dikembangkan oleh Rational Rose, bagian dari IBM. Secara luas, RUP telah diakui
sebagai standar metodologi pengembangan sistem berorientasi objek. Vesri asli dari RUP
didefinisikan sangat rumit untuk setiap kegiatan, namun versi terbaru dari RUP yakni
metodologinya lebih sederhana. Ciri utama metode ini adalah menggunakan use-case driven
dan pendekatan iteratif untuk siklus pengembangan perangkat lunak.
>> RUP tepat digunakan saat kondisi :
a. Pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified
Modeling Language).
b. Mempunyai waktu pengembangan yang panjang.
c. Dikembangkan pada perangkat lunak sebagai sarana interaksi antara pengguna dan
perangkat keras.
d. Mempunyai tim programmer yang cukup banyak.
e. Pengembangan dan perubahan perangkat lunak berdasarkan kebutuhan user.
>> Keuntungan Pengembangan Perangkat Lunak RUP :
a. Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim.
b. Menyediakan petunjuk bagaimana menggunakan UML secara efektif.
c. Mendukung proses pengulangan dalam pengembangan software.
d. Memungkinkan adanya penambahan-penambahan pada proses.
e. Memungkinkan untuk secara sistematis mengontrol perubahan-perubahan yang terjadi pada
software selama proses pengembangannya.
f. Memungkinkan untuk menjalankan test case dengan menggunakan Rational Test Manager
Tool
>> Kekurangan Pengembangan Perangkat Lunak RUP :
a. Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yang
berorientasi objek dengan berfokus pada UML (Unified Modeling Language).
b. Membutuhkan waktu yang cukup lama dibandingkan XP dan Scrum

2. Extreme Programming (XP)

XP merupakan suatu model yang tergolong dalam pendekatan agile yang diusulkan oleh Kent
Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP) is
a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop software”.
Model ini cenderung menggunakan pendekatan Object-Oriented serta 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.

>> XP tepat digunakan saat kondisi:


a. Keperluan berubah dengan cepat
b. Resiko tinggi dan ada proyek dengan tantangan yang baru
c. Tim programmer sedikit, yaitu 2-10 orang
d. Mampu mengotomatiskan tes
e. Ada campur tangan klien secara langsung
>> Kelemahan XP:
a. Cerita-cerita yang menunjukkan requirements kemungkinan besar tidak lengkap sehingga
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
b. Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk
melakukan apa yang diperlukan hari itu juga).
c. XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya
dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
3. Agile Modeling

Agile Modeling merupakan filosofi tentang bagaimana membangun model dengan beberapa
diantaranya dilakukan dengan format yang terperinci sedangkan model lain beberapa ada yang
dilakukan secara samar dan minimalis. Agile Software Development juga melihat pentingnya
komunikasi antara anggota tim, antara orang-orang teknis dan businessman, serta antara
developer dan managernya. Ciri lain dari Agile Software Development adalah klien menjadi
bagian dari tim pembangun software.

>> Kelebihan dari Agile Modeling:


a. Meningkatkan kepuasan kepada klien
b. Pembangunan sistem dibuat lebih cepat
c. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
d. Jika pada saat pembangunan system terjadi kegagalan,kerugian dari segi materi relative kecil.
>> Kelemahan dari Agile Modeling:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
4. Scrum
Scrum bermula ketika anak buah Jeff Sutherland yang bekerja di Easel Corporation membaca
tulisan dari Professor Takeuchi Tanaka yang dimuat di Harvard Business Review mengenai
manajemen proyek pada tahun 1993. Tulisan tersebut memuat bagaimana Professor Takeuchi
Tanaka kagum dengan tim olahraga Rugby yang bekerja bersama menyingkirkan semua
hambatan yang ada di depannya. Professor Takeuchi Tanaka lalu membawa konsep ini ke
manajemen proyek dan menamakan metode kerja ini Scrum.
Scrum merupakan suatu kerangka kerja yang berupa deskripsi rinci tentang bagaimana segala
sesuatu yang harus dilakukan pada proyek. Hal ini dilakukan dikarenakan tim akan tahu
bagaimana cara terbaik untuk memecahkan masalah yang disajikan untuk mereka. Ada 3
elemen organisasi utama pada scrum yaitu product owner, Scrum master, dan Scrum team.
Scrum Master dapat dianggap sebagai pelatih / guru bagi tim yang mengajarkan cara kerja lebih
kolaboratif dan menyenangkan dalam mengembangkan software. Product Owner mewakili
bisnis, pelanggan atau pengguna dan memandu tim ke arah pengembangan produk yang tepat.
Sedangkan Scrum Team merupakan grup pengembang kecil biasanya terdiri dari 5-9 orang.
Untuk project yang sangat besar, biasanya pekerjaan akan dibagi dan didelegasikan ke grup-
grup kecil. Jika sangat dibutuhkan scrum master juga dapat ikut membantu dalam koordinasi
team.

>> Scrum tepat digunakan saat kondisi:


a. Keperluan berubah dengan cepat
b. Tim programmer sedikit, yaitu 5-9 orang
c. Pelanggan tidak terlalu paham dengan apa yang diinginkan
>> Scrum memiliki prinsip yaitu:
a. Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu
sama lain
b. Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
c. Proses menghasilkan beberapa software increment
d. Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
e. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
f. Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
>> Kelebihan Scrum antara lain:
a. Keperluan berubah dengan cepat
b. Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan
memberdayakan satu sama lain
c. Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
d. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
e. Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
>> Kelemahan Scrum antara lain:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.

  MODEL WATERFALL

Model Waterfall merupakan salah satu metode dalam SDLC (System Development Life Cycle) yang
mempunyai ciri khas pengerjaan setiap fase dalam watefall harus diselesaikan terlebih dahulu sebelum
melanjutkan ke fase selanjutnya. Artinya fokus terhadap masing-masing fase dapat dilakukan maksimal karena
tidak adanya pengerjaan yang sifatnya paralel.

1.      Fase dalam Metode Waterfall

Tahapan tahapan dari metode waterfall adalah sebagai berikut :


a.      Perancangan Sistem (System Enginering)
Perancangan sistem sangat diperlukan, karena piranti lunak biasanya merupakan bagian dari
suatu sistem yang lebih besar. Pembuatan sebuah piranti lunak dapat dimulai dengan melihat
dan mencari apa yang dibutuhkan oleh sistem. Dari kebutuhan sistem tersebut akan
diterapkan kedalam piranti lunak yang dibuat.

b.      Analisa Kebutuhan Piranti Lunak (Software Requirement Analysis)


Merupakan proses pengumpulan kebutuhan piranti lunak. Untuk memahami dasar dari
program yang akan dibuat, seorang analisis harus mengetahui ruang lingkup informasi,
fungsi-fungsi yang dibutuhkan, kemampuan kinerja yang ingin dihasilkan dan perancangan
antarmuka pemakai piranti lunak tersebut.

c.       Perancangan (Design)
Perancangan piranti lunak merupakan proses bertahap yang memfokuskan pada empat bagian
penting, yaitu: Struktur data, arsitektur piranti lunak, detil prosedur, dan karakteristik antar
muka pemakai.

d.      Pengkodean (Coding)
Pengkodean piranti lunak merupakan proses penulisan bahasa program agar piranti lunak
tersebut dapat dijalankan oleh mesin.

e.       Pengujian (Testing)
Proses ini akan menguji kode program yang telah dibuat dengan memfokuskan pada bagian
dalam piranti lunak. Tujuannya untuk memastikan bahwa semua pernyataan telah diuji dan
memastikan juga bahwa input yang digunakan akan menghasilkan output yang sesuai.

Pada tahap ini pengujian ini dibagi menjadi dua bagian, pengujian internal dan pengujian
eksternal. Pengujian internal bertujuan menggambarkan bahwa semua statement sudah
dilakukan pengujian, sedangkan pengujian eksternal bertujuan untuk menemukan kesalahan
serta memastikan output yang dihasilkan sesuai dengan yang diharapkan.

f.        Pemeliharaan (Maintenance)
Proses ini dilakukan setelah piranti lunak telah digunakan oleh pemakai atau konsumen.
Perubahan akan dilakukan jika terdapat kesalahan, oleh karena itu piranti lunak harus
disesuaikan lagi untuk menampung perubahan kebutuhan yang diinginkan konsumen.
2.      Kapan Sebaiknya Model Water Fall Digunakan

Teori-teori menyimpulkan beberapa hal, yaitu:


1.      Ketika semua persyaratan sudah dipahami dengan baik di awal pengembangan.
2.      Definisi produk stabil dan tidak ada perubahan saat pengembangan untuk alasan apapun
seperti perubahan eksternal, perubahan tujuan, perubahan anggaran atau perubahan teknologi.
Untuk itu, teknologi yang digunakan pun harus sudah dipahami dengan baik.
3.      Menghasilkan produk baru, atau versi baru dari produk yang sudah ada. Sebenarnya, jika
menghasilkan versi baru maka sudah masuk incremental development, yang setiap tahapnya
sama dengan Waterfall kemudian diulang-ulang.
4.      Porting produk yang sudah ada ke dalam platform baru.
Dengan demikian, Waterfall dianggap pendekatan yang lebih cocok digunakan untuk proyek pembuatan
sistem baru. Tetapi salah satu kelemahan paling dasar adalah menyamakan pengembangan perangkat keras
dengan perangkat lunak dengan meniadakan perubahan saat pengembangan. Padahal, galat diketahui saat
perangkat lunak dijalankan, dan perubahan-perubahan akan sering terjadi.

3.      Contoh Penerapan Metode Waterfall

Implementasi  waterfall pada sistem pendaftaran siswa  online di SMA 1 Ranau Tengah. Di SMA


1 Ranau Tengah, sebelumnya, pendaftaran/ registrasi dilakukan secara tatap muka datang langsung ke
lingkungan sekolah. Sistem akan dibuat  menggunakan bahasa pemrograman PHP, dengan basis data yang
digunakan adalah MySQL yang dilakukan di perangkat keras PC (personal computer) dengan sistem operasi
Microsoft Windows XP, Linux, dan lain sebagainya, yang digunakan untuk mempermudah siswa – siswi yang
ingin mendaftar pada suatu sekolah, universitas, akademik tanpa harus ke suatu sekolah yang ingin kita masuki. 
4.      Keuntungan Menggunakan Metode Waterfall

Proses menjadi lebih teratur, urutan proses pengerjaan menggunakan metode ini menjadi lebih teratur
dari satu tahap ke tahap yang selanjutnya. Dari sisi user juga lebih menguntungkan karena dapat merencanakan
dan menyiapkan seluruh kebutuhan data dan proses yang akan diperlukan.

Jadwal menjadi lebih menentu, jadwal setiap proses dapat ditentukan secara pasti. Sehingga dapat
dilihat jelas target penyelesaian pengembangan program. Dengan adanya urutan yang pasti, dapat dilihat pula
progress untuk setiap tahap secara pasti.

5.      Kelemahan Menggunakan Metode Waterfall

Sifatnya kaku, sehingga susah melakukan perubahan di tengah proses. Jika terdapat kekuarangan
proses atau prosedur dari tahan sebelumnya, maka tahapan pengembangan harus dilakukan mulai dari awal.
Hal ini akan memakan waktu yang cukup lama. Karena jika proses sebelumnya belum selesai sampai akhir,
maka proses selanjutnya juga tidak dapat berjalan. Maka, jika terdapat kekuarangan dalam permintaan user,
proses pengembangan harus dimulai dari awal.

Membutuhkan daftar kebutuhan yang lengkap di awal, tapi jarang konsumen bisa memberikan
kebutuhan secara lengkap diawal. Untuk menghindari pengulangan tahap dari awal, user harus memberikan
seluruhh prosedur, data dan laporan yang diinginkan mulai dari tahap awal pengembangan. Tetapi di banyak
kondisi, user sering melakukan permintaan si tahap pertengahan pengembangan sistem. Dengan metode ini,
maka development  harus dilakukan mulai dari tahap awal. Karena development  disesuaikan dengan design
hassil user pada saat tahap awal pengembangan.

6.      Permasalahan Yang Ada Di Pengembangan Waterfall

a.       Sebagai akibat dari biaya pembuatan dan persetujuan dokumen, iterasi menjadi mahal dan
melibatkan pengerjaan ulang yang signifikan. Dengan demikian, setelah sejumlah iterasi
kecil, normal membekukan bagian dari pengembangan seperti spesifikasi. Masalah-masalah
dikesampingkan, diabaikan atau dihindari untuk pemecahan kemudian. Pembekuan
persyaratan dini ini bisa berarti bahwa sistem tidak dapat melakukan seperti yang diinginkan
user.

b.      Sistem memiliki struktur yang buruk jika masalah perancangan dihindari dengan trik
implementasi. Dengan demikian pada fase akhir perangkat lunak digunakan, error dan
penghapusan persyaratan perangkat lunak yang asli akan ditemukan.

c.       Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel. Komitmen harus
dilakukan pada tahap awal proses dan akan sulit bagi perekayasa untuk menanggapi
perubahan persyaratan pelanggan.

B.     METODE PROTOTYPING
Prototyping merupakan salah satu metode pengembangan perangat lunak yang
banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat
salingberinteraksi selama proses pembuatan sistem.

Sering terjadi seorang pelanggan hanya mendefinisikan secara umum apa


yang dikehendakinya tanpa menyebutkan secara detal output apa saja yang
dibutuhkan, pemrosesan dan data-data apa saja yang dibutuhkan. Sebaliknya disisi
pengembang kurangmemperhatikan efesiensi algoritma, kemampuan sistem operasi dan
interface yang menghubungkan manusia dan komputer.

Untuk mengatasi ketidakserasian antara pelanggan dan pengembang, maka harus dibutuhakan


kerjasama yanga baik diantara keduanya sehingga pengembang akan mengetahui dengan
benar apa yang diinginkan pelanggan dengan tidak mengesampingkan segi-segi teknis dan
pelanggan akan mengetahui proses-proses dalm menyelasaikan system yang diinginkan.
Dengan demikian akan menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang
telah ditentukan.

Kunci agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan aturan-
aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype
dibangun untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau
seluruhnya dan perangkat lunak aktual aktual direkayasa dengan kualitas dan implementasi
yang sudah ditentukan.

1.      Tahapan-Tahapan Prototyping
Tahapan-tahapan dalam Prototyping adalah sebagai berikut :
a.       Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak,
mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.

b.    Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada
penyajian kepada pelanggan (misalnya dengan membuat input dan formatoutput).

c.       Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai
dengan keinginann pelanggan. Jika sudah sesuai maka langkah d akan diambil. Jika tidak
prototyping direvisi dengan mengulangu langkah a, b , dan c.

d.      Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam
bahasa pemrograman yang sesuai.

e.       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.

f.        Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan
yang diharapkan. Jika ya, langkah g dilakukan jika tidak ulangi langkah d dan e.

g.       Menggunakan Sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.

2.      Kelebihan Prototyping

Kelebihan prototyping adalah :


1.      Adanya komunikasi yang baik antara pengembang dan pelanggan
2.      Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
3.      Pelanggan berperan aktif dalam pengembangan system
4.      Lebih menghemat waktu dalam pengembangan system
5.      Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.

3.      Kekurangan Prototyping
1.      Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum
mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belummemikirkan
kemampuan pemeliharaan untuk jangja waktu lama.

2.      Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakanalgoritma


dan bahasa pemrograman yang sederhana untuk membuat prototyping lebihcepat selesai
tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakancetak biru sistem

3.      Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik


perancangan yang baik.

4.      Contoh Penggunaan Metode Prototyping


Pembuat mobil dapat mengembangkan sebuah purwarupa yang dapat digunakan dalam
lintasan pengujuan khusus dan kemudian ditampilkan dalam showroom. Informasi yang
diperoleh dari perlakuan seperti itu dapat digunakan untuk meningkatkan desain sebelum
implementasi/produksi dilakukan secara massal.

C.    MODEL RAD (RAPID APPLICATION DEVELOPMENT)

Rapid  Application  Development  (RAD)  atau rapid  prototyping  adalah  model  pro


ses pembangunanperangkat lunak yang tergolong dalam teknik incremental(bertingkat). RA
D menekankan pada siklus pembangunanpendek, singkat, dan cepat. Waktu yang singkat ada
lahbatasan yang penting untuk model ini.
Rapid application development menggunakanmetode
iteratif (berulang) dalam mengembangkan sistemdimana working model (model bekerja) sist
emdikonstruksikan di awal tahap pengembangan dengan tujuan
menetapkan kebutuhan (requirement) user dan selanjutnyadisingkirkan. Working model digu
nakan kadang-kadang sajasebagai basis desain dan implementasi sistem final.

1.      Tahapan Dalam Metode Rapid  Application  Development  

a.       Bussines Modelling

Aliran informasi diantara funsi-fungsi bisnisdimodelkan dengan suatu cara untuk
menjawab  pertanyaan-pertanyaan   berikut:   Informasi   apa   yg  mengendalikan proses 
bisnis? Informasi apa ygdimunculkan? Siapa yg memunculkan? Ke mana
informasi itu pergi? Siapa yg memprosesnya?

b.      Data Modelling

Aliran informasi yg di definisikan sebagai bagian darifase bussiness modelling di saring ke d
alamserangkaian objek data yg dibutuhkan untuk menopangbisnis tersebut. Karakteristik (dis
ebut atribut) masing-masing objek diidentifikasi dan hubungan antara objek-objek tersebut 
didefinisikan.

c.          ProsessModeling

Aliran informasi yg didefinisikan di dalam fase datamodelling ditransformasikan untuk menc
apai aliraninformasi yg perlu bagi implementasi sebuah fungsibisnis. Gambaran pemrosesan 
digunakan untukmenambah, memodifikasi, menghapus, ataumendapatkan kembali sebuah ob
jek data.
d.      Aplication  generation

RAD mengasumsikan pemakaian teknik generasi ke-empat. Selain menciptakan perangkat 
lunak denganmenggunakan bahasa pemrograman generasi ke-tiga ygkonvensional, RAD 
lebih banyak memproses kerjauntuk memakai lagi komponen program yg ada (padasaat mem
ungkinkan) atau menciptakan komponen ygbisa dipakai lagi (bila perlu). Pada semua kasus, 
alat-alat bantu otomatis dipakai untuk memfasilitasikonstruksi perangkat lunak.

e.       Testing and turnover

Karena proses RAD menekankan pada pemakaiankembali, banyak komponen program telah 
diuji. Hal inimengurangi keseluruhan waktu pengujian. Tetapikomponen baru harus diuji dan 
semua interface harusdilatih secara penuh.

2.      Kelebihan dari RAD (Rapid  Application  Development)

Kelebihan dari penggunaan RAD (Rapid  Application Development) :  


a.       Membeli sistem yang baru memungkinkan untuk lebih menghemat biaya ketimbang
mengembangkan sendiri.
b.      Proses pengiriman menjadi lebih mudah, hal ini dikarenakan proses pembuatan lebih banyak
menggunakan potongan-potongan script.
c.       Mudah untuk diamati karena menggunakan model prototype, sehingga user lebih mengerti
akan sistem yang dikembangkan.
d.      Lebih fleksibel karena pengembang dapat melakukan proses desain ulang pada saat yang
bersamaan.
e.       Bisa mengurangi penulisan kode yang kompleks karena menggunakan wizard.
f.       Keterlibatan user semakin meningkat karena merupakan bagian dari tim secara keseluruhan.
g.      Mampu meminimalkan kesalahan-kesalahan dengan menggunakan alat-alat bantuan (CASE
tools).
h.      Mempercepat waktu pengembangan sistem secara keseluruhan karena cenderung
mengabaikan kualitas.
i.        Tampilan yang lebih standar dan nyaman dengan bantuan software-software pendukung.

3.      Kelemahan Dari RAD

Kelemahan dari penggunaan RAD (Rapid  Application Development) :  


a.       Dengan melakukan pembelian belum tentu bisa menghemat biaya dibandingkan dengan
mengembangkan sendiri.
b.      Membutuhkan biaya tersendiri untuk membeli peralatan-peralatan penunjang seperti
misalnya software dan hardware.
c.       Kesulitan melakukan pengukuran mengenai kemajuan proses.
d.      Kurang efisien karena apabila melakukan pengkodean dengan menggunakan tangan bisa
lebih efisien.
e.       Ketelitian menjadi berkurang karena tidak menggunakan metode yang formal dalam
melakukan pengkodean.
f.       Lebih banyak terjadi kesalahan apabila hanya mengutamakan kecepatan dibandingkan
dengan biaya dan kualitas.
g.      Fasilitas-fasilitas banyak yang dikurangi karena terbatasnya waktu yang tersedia.
h.      Sistem sulit diaplikasikan di tempat yang lain.
i.        Fasilitas yang tidak perlu terkadang harus disertakan, karena menggunakan komponen yang
sudah jadi, sehingga hal ini membuat biaya semakin meningkat.

4.     Contoh Penerapan dalam Kehidupan


Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang
dicapai dengan menerapkan :
1.      Component based construction (pemrograman berbasis komponen bukan prosedural).
2.      Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
3.      Pembangkitan kode program otomatis/semi otomatis.
4.      Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama.
Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.

Jika keutuhan yang diinginkan pada tahap analisis kebutuhan telah lengkap dan jelas,
maka waktu yang dibutuhkan untuk menyelesaikan secara lengkap perangkat lunak yang
dibuat adalah berkisar 60 sampai 90 hari.

Model RAD hampir sama dengan model waterfall, bedanya siklus pengembangan
yang ditempuh model ini sangat pendek dengan penerapan teknik yang cepat.

Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan beberapa tim dalam
waktu yang hampir bersamaan dalam waktu yang sudah ditentukan. Model ini melibatkan
banyak tim, dan setiap tim mengerjakan tugas yang selevel, namun berbeda. Sesuai dengan
pembagian modul sistem.

D.   METODE SDLC
Model SDLC  atau Sekuensial Linier sering disebut juga Model Air Terjun. Model ini
mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan
sekunsial yang dimulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode,
pengujian, dan pemeliharaan

Model ini disusun bertingkat, setiap tahap dalam model ini dilakukan berurutan, satu
sebelum yang lainnya. Model ini biasanya digunakan untuk membuat sebuah software dalam
skala besar dan yang akan dipakai dalam waktu yang lama.

Sangat cocok untuk pengembangan sistem yang besar. Tidak sesuai atau tidak terlalu
disarankan untuk small scale projectkarena:
                       I.     Resource intensive
                    II.     Tidak fleksibel
                 III.     Sulit untuk aplikasi dengan perubahan cara pengambilan keputusan yang cepat.

1.      TAHAPAN-TAHAPAN (SDLC)
a.      Fase Perencanaan Sistem
Dalam tahapan ini dibentuk suatu struktur kerja strategis yang luas dan pandangan sistem
informasi baru yang jelas yang akan memenuhi kebutuhan-kebutuhan pemakai informasi.
Proyek sistem dievaluasi dan dipisahkan berdasarkan prioritasnya. Proyek dengan prioritas
tertinggi akan dipilih untuk pengembangan. Penyediaan sumber daya baru dan penyediaan
dana untuk pengembangan sistem.
Rencana kerja yang matang juga disusun untuk menjalankan tahapan-tahapan lainnya.
Hasil dari tahapan ini adalah Langkah-langkah detail rencana kerja dan penugasan untuk
anggota tim.

2. Fase Analisis Sistem


                            I.     Dilakukan proses penilaian, identifikasi dan evaluasi komponen dan hubungan timbal-balik
yang terkait dalam pengembangan system: definisi masalah, tujuan, kebutuhan, prioritas dan
kendala-kendala system, ditambah identifikasi biaya, keuntungan dan estimasi jadwal untuk
solusi yang berpotensi.
                         II.     Fase analisis sistem adalah fase profesional sistem melakukan kegiatan analisis sistem.
                      III.     Laporan yang dihasilkan menyediakan suatu landasan untuk membentuk suatu tim proyek
sistem dan memulai fase analisis sistem.
                      IV.     Tim proyek sistem memperoleh pengertian yang lebih jelas tentang alasan untuk
mengembangkan suatu sistem baru.
                         V.     Ruang lingkup analisis sistem ditentukan pada fase ini. Profesional sistem mewawancarai
calon pemakai dan bekerja dengan pemakai yang bersangkutan untuk mencari penyelesaian
masalah dan menentukan kebutuhan pemakai.
                      VI.     Beberapa aspek sistem yang sedang dikembangkan mungkin tidak diketahui secara penuh
pada fase ini, jadi asumsi kritis dibuat untuk memungkinkan berlanjutnya siklus hidup
pengembangan sistem.
                   VII.     Pada akhir fase analisis sistem, laporan analisis sistem disiapkan. Laporan ini berisi
penemuan-penemuan dan rekomendasi. Bila laporan ini disetujui,tim proyek sistem siap
untuk memulai fase perancangan sistem secara umum. Bila laporan tidak disetujui, tim
proyek sistem harus menjalankan analisis tambahan sampai semua peserta setuju.

3. Fase Perancangan Sistem secara Umum


Dibentuk alternatif-alternatif perancangan konseptual untuk pandangan pemakai.
Alternatif ini merupakan perluasan kebutuhan pemakai. Alternatif perancangan konseptual
memungkinkan manajer dan pemakai untuk memilih rancangan terbaik yang cocok untuk
kebutuhan mereka.
Pada fase ini analis sistem mulai merancang proses dengan mengidentifikasikan
laporan-laporan dan output yang akan dihasilkan oleh sistem yang diusulkan. Data masing-
masing laporan ditentukan. Biasanya, perancang sistem membuat sketsa form atau tampilan
yang mereka harapkan bila sistem telah selesai dibentuk. Sketsa ini dilakukan pada kertas
atau pada tampilan komputer.

4. Fase Evaluasi dan Seleksi Sistem


Akhir fase perancangan sistem secara umum menyediakan point utama untuk keputusan
investasi. Oleh sebab itu dalam fase evaluasi dan seleksi sistem ini nilai kualitas sistem dan
biaya/keuntungan dari laporan dengan proyek system dinilai secara hati-hati dan diuraikan
dalam laporan evaluasi dan seleksi sistem.
Jika tak satupun altenatif perancangan konseptual yang dihasilkan pada fase perancangan
sistem secara umum terbukti dapat dibenarkan, maka semua altenatif akan dibuang. Biasanya,
beberapa alternatif harus terbukti dapat dibenarkan, dan salah satunya dengan nilai tertinggi
dipilih untuk pekerjaan akhir. Bila satu alternatif perancangan sudah dipilih, maka akan
dibuatkan rekomendasi untuk sistem ini dan dibuatkan jadwal untuk perancangan detailnya.

5. Fase Perancangan Sistem secara Detail


Pada fase ini semua komponen dirancang dan dijelaskan secara detail. Perencanaan
output (layout) dirancang untuk semua layar, form-form tertentu dan laporan-laporan yang
dicetak. Semua output direview dan disetujui oleh pemakai dan didokumentasikan.
Berdasarkan perancangan output dan input, proses-proses dirancang untuk mengubah
input menjadi output. Transaksi-transaksi dicatat dan dimasukkan
secara online atau batch.Macam-macam model dikembangkan untuk mengubah data menjadi
informasi. Prosedur ditulis untuk membimbing pemakai dan pesonel operasi agar dapat
bekerja dengan sistem yang sedang dikembangkan.
Database dirancang untuk menyimpan dan mengakses data. Kendali-kendali yang
dibutuhkan untuk melindungi sistem baru dari macam-macam ancaman dan error ditentukan.
Pada akhir fase ini, laporan rancangan sistem secara detail dihasilkan. Laporan ini
mungkin berisi beribu-ribu dokumen dengan semua spesifikasi untuk masing-masing
rancangan sistem yang terintegrasi menjadi satu kesatuan. Laporan ini dapat juga dijadikan
sebagai buku pedoman yang lengkap untuk merancang, membuat kode dan menguji sistem;
instalasi peralatan; pelatihan; dan tugas-tugas implementasi lainnya.

6. Fase Implementasi Sistem dan Pemeliharaan Sistem


I. Sistem siap untuk dibuat dan diinstalasi.
                                  
                         II.     Sejumlah tugas harus dikoordinasi dan dilaksanakan untuk implementasi sistem baru.
                       III.     laporan implementasi yang dibuat pada fase ini ada dua bagian, yaitu:
-          Rencana implementasi dalam bentuk Gantt Chart atauProgram and Evaluation Review
Technique (PERT) Chart
                       IV.     Penjadwalan proyek dan teknik manajemen. Bagian kedua adalah laporan yang
menerangkan tugas penting untuk melaksanakan implementasi sistem, seperti :
-          Pengembangan perangkat lunak
-          Persiapan lokasi peletakkan sistem
-          Instalasi peralatan yang digunakan
-          Pengujian Sistem

g.      Kelebihan dan Kekurangan


1.      Kelebihan
-          Mudah diaplikasikan.
-          Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan
pemeliharaan.

2.      Kekurangan
-          Jarang sekali proyek riil mengikuti aliran sekuensial yang dianjurkan model karena model
ini bisa melakukan itersi tidak langsung.
-          Pelanggan sulit untuk menyatakan kebutuhan secara eksplisit sehingga sulit untuk
megakomodasi ketidakpastian pada saat awal proyek.
-          Pelanggan harus bersikap sabar karena harus menunggu sampai akhir proyrk dilalui. Sebuah
kesalahan jika tidak diketahui dari awal akan menjadi masalah besar karena harus mengulang
dari awal.
-          Pengembang sering malakukan penundaan yang tidak perlu karena anggota tim proyek harus
menunggu tim lain untuk melengkapi tugas karena memiliki ketergantungan hal ini
menyebabkan penggunaan waktu tidak efesien.

E.     METODE SPIRAL

Model spiral pada awalnya diusulkan oleh Boehm, adalah model proses perangkat lunak
evolusioner yang merangkai sifat iteratif dari prototype dengan cara kontrol dan aspek
sistematis model sequensial linier. Model iteratif ditandai dengan tingkah laku yang
memungkinkan pengembang mengembangkan versi perangkat lunak yang lebih lengkap
secara bertahap.

1.      Tahapan-tahapan Model Spiral


a.       Komunikasi Pelanggan
Yaitu tugas-tugas untuk membangun komunikasi antara pelanggan dan kebutuhan-
kebutuhan yang diinginkan oleh pelanggan.
b.      Perencanaan
Yaitu tugas-tugas untuk mendefinisikan sumber daya, ketepatan waktu, dan proyek
informasi lain yg berhubungan.
c.       Analisis Resiko
Yaitu tugas-tugas yang dibutuhkan untuk menaksir resikomanajemen dan teknis.
d.      Perekayasaan
Yaitu tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari apikasi
tersebut.
e.       Konstruksi dan Peluncuran
Yaitu tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang, dan
memberi pelayanan kepada pemakai.
f.       Evaluasi Pelanggan
Yaitu tugas-tugas untuk mendapatkan umpan balik dari pelanggan.

2.      Kelebihan dan Kekurangan


a.      Kelebihan
                                      I.     Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak
komputer.
                                   II.     Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
                                III.     Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko
setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses
                                IV.     Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di
dalam evolusi produk.
                                   V.     Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke
dalam kerangka kerja iteratif .
                                VI.     Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko
sebelum menjadi permaslahan yang serius.

b.      Kekurangan
                                      I.     Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
                                   II.     Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika
resiko mayor tidak ditemukan dan diatur.
                                III.     Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute

1. Linear Sequential Model (Model Sequential Linear)/ Model Waterfall

a. Model Waterfall

Menurut  (Pressman, Roger S. 2001) Metode Waterfall adalah suatu proses


pengembangan perangkat lunak berurutan, di mana kemajuan dipandang sebagai
terus mengalir ke bawah (seperti air terjun) melewati fase-fase perencanaan,
pemodelan, implementasi (konstruksi), dan pengujian.

Tahapan metode Waterfall dapat digambarkan sebagai

berikut: 
Dalam pengembangannya, metode Waterfall memiliki beberapa tahapan yang
runtut: Requirement (analisis kebutuhan), Desain Sistem (system design), Coding
& Testing, penerapan program dan pemeliharaan. Tahapan tahapan dari metode
Waterfall adalah sebagai berikut :

1. Requirement Analysis

Pada tahap ini, pengembang sistem diperlukan suatu komunikasi yang bertujuan
untuk memahami software yang diharapkan pengguna dan batasan software.
Informasi ini biasanya dapat diperoleh melalui wawancara, survei atau diskusi.
Informasi tersebut dianalisis untuk mendapatkan data yang dibutuhkan oleh
pengguna.

2. System Design

Spesifikasi kebutuhan dari tahap pertama akan dipelajari dalam fase ini dan desain
sistem disiapkan. Desain Sistem membantu dalam menentukan perangkat keras
dan sistem persyaratan dan juga membantu dalam mendefinisikan arsitektur sistem
secara keseluruhan.

3. Implementation

Pada tahap ini, sistempertama kali dikembangkan di program kecil yang disebut
unit, yang terintegrasi dalam tahap berikutnya. Setiap unit dikembangkan dan diuji
untuk fungsionalitas yang disebut sebagai Unit Testing.

4. Integration dan Testing

Semua unit yang dikembangkan dalam tahap implementasi diintegrasikan ke dalam


sistem setelah pengujian masing-masing unit. Pasca integrasi seluruh sistem diuji
untuk mengecek  setiap kesalahan dan kegagalan.

5. Operation dan Maintenance

Ini merupakan tahap terakhir dalam model waterfall. Softwareyang  sudah  jadi
dijalankan  serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam
memperbaiki  kesalahan yang tidakditemukan pada langkah sebelumnya.
Perbaikan implementasi unitsistem dan peningkatan jasa sistem sebagai kebutuhan
baru

Kelebihan Waterfall :

 Keuntungan pengembangan dengan metode waterfall adalah metode ini


memungkinkan untuk departementalisasi dan kontrol. proses pengembangan
model fase satu per satu, sehinggameminimalis kesalahan-kesalahan yang
mungkin akan terjadi. Pengembanganya bergerak dari konsep,  yaitu melalui
desain, implementasi, pengujian, instalasi, troubleshooting, dan berakhir di
operasi dan pemeliharaan.
 Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh
pelaksanaannya secara bertahap. Sehingga tidak terfokus pada tahapan
tertentu.
 Document pengembangan system sangat terorganisir, karena setiap fase
harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.
Jadi  setiap fase atau tahapan akan mempunyai dokumen tertentu.
 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.

Kerugian Waterfall :

 Kerugian pembangunan menggunakan metode waterfall adalah tidak


memungkinkan untuk banyak refleksi atau revisi jika terjadi kesalahan.
Karna setelah aplikasi ini dalam tahap pengujian, sangat sulit untuk kembali
dan mengubah sesuatu yang tidak terdokumentasi dengan baik dalam tahap
konsep.
 Diperlukan majemen yang baik, karena proses pengembangan tidak dapat
dilakukan secara berulang sebelum terjadinya suatu produk.
 Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal
pengembangan yang berakibat pada tahapan selanjutnya.
 Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat
mengakomodasi ketidak pastian pada saat awal pengembangan.
 Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai
ketika tahap desain sudah selesai. Sedangkan pada tahap sebelum desain
bisa memakan waktu yang lama.
 Pada kenyataannya, jarang mengikuti urutan sekuensial seperti pada teori.
Iterasi sering terjadi menyebabkan masalah baru.

b. Model v

Model v 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.
Berikut penjelasan masing-masing tahap beserta tahap pengujiannya:

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.

Keuntungan V Model :

1. Bahasa yang digunakan untuk merepresentasikan konsep V model


menggunakan bahasa formal. Contoh : dengan menggunakan objek model
ataupun frame-frame • Meminimalisasikan kesalahan pada hasil akhir
karena ada test pada setiap prosesnya
2. Penyesuaian yang cepat pada projek yang baru
3. Memudahkan dalam pembuatan dokumen projek
4. Biaya yang murah dalam perawatan dan modifikasinya
5. 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.
6. 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.

Kerugian V Model :

1. 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.
2. Prosesnya hanya secara sementara. Ketika project selesai, jalannya proses
model dihentikan. Tidak berlangsung untuk keseluruhan organisasi.
3. 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.
4. oolnya 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.
5. V Model adalah model yang project oriented sehingga hanya bisa digunakan
sekali dalam suatu proyek.
6. 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.

2. Metode Prototype (evolusioner)


Proses pengembangan sistem seringkali menggunakan pendekatan
prototipe (prototyping).  Metode ini sangat baik digunakan untuk menyelesesaikan
masalah kesalahpahaman antara  user  dan analis yang timbul akibat  user  tidak
mampu mendefinisikan secara jelas kebutuhannya (Mulyanto, 2009).

Prototyping  adalah pengembangan yang cepat dan pengujian terhadap model kerja
(prototipe) dari aplikasi baru melalui proses interaksi dan berulang ulang yang
biasa digunakan ahli sistem informasi dan ahli bisnis. Prototyping   disebut juga
desain aplikasi cepat  (rapid application design/RAD) karena menyederhanakan
dan mempercepat desain sistem (O’rien, 2005).

Sebagian  user   kesulitan mengungkapkan keinginannya untuk mendapatkan


aplikasi yang sesuai dengan kebutuhannya. &esulitan ini yang perlu diselesaikan
oleh analis dengan memahami kebutuhan  user  dan menerjemahkannya ke dalam
bentuk model (prototipe). Model ini selanjutnya diperbaiki secara terus menerus
sampai sesuai dengan kebutuhan  user.

Model Prototype dapat dilihat pada gambar dibawah ini.

Pengumpulan kebutuhan: developer dan klien bertemu dan menentukan tujuan


umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan
dibutuhkan berikutnya;Pendekatan Prototyping melewati tiga proses, yaitu
pengumpulan kebutuhan, perancangan, dan evaluasi Prototype.  Proses-proses
tersebut dapat dijelaskan sebagai berikut:

1. Perancangan: perancangan dilakukan cepat dan rancangan mewakili semua


aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan
prototype;
2. Evaluasi Prototype: klien mengevaluasi prototype yang dibuat dan
digunakan untuk memperjelas kebutuhan software.
Kelebihan prototyping :

1. Dapat menjalin komunikasi yang baik antar user dan pengembang sistem
2. Setiap perbaikan yang dilakukan pada prototype merupakan hasil masukan
dari user yang akan menggunakan sistem tersebut, sehingga lebih reliabel
3. User akan memberikan masukan terhadap sistem sesuai dengan kemauannya
4. Menghemat waktu dalam mengembangkan sebuah sistem
5. Menghemat biaya, terutama pada bagian analisa, karena hanya mencatat
poin – point penting saja
6. Cocok digunakan pada sebuah sistem kecil, yang digunakan pada ruang
lingkup tertentu, seperti sistem di dalam sebuah kantor
7. Penerapan dari sistem yang menjadi lebih mudah untuk dilakukan.

Kelemahan dari Metode Prototyping :

1. Untuk menghemat waktu, biasanya pengembang hanya menggunakan


bahasa pemrograman sederhana, yang mungkin rentan dari segi
keamanannya
2. Tidak cocok untuk diimplementasikan pada sebuah sistem yang sangat besar
dan global, seperti sistem operasi komputer.

3. Rapid Application Development (RAD)

Rapid Application Development (RAD) adalah strategi siklus hidup yang ditujukan


untuk menyediakan pengembangan yang jauh lebih cepat dan mendapatkan hasil
dengan kualitas yang lebih baik dibandingkan dengan hasil yang dicapai melalui
siklus tradisional (McLeod, 2002). RAD merupakan gabungan dari bermacam-
macam teknik terstruktur dengan teknik prototyping dan teknik
pengembangan joint application untuk mempercepat pengembangan
sistem/aplikasi (Bentley, 2004). Dari definisi-definisi konsep RAD ini, dapat
dilihat bahwa pengembangan aplikasi dengan menggunakan metode RAD ini dapat
dilakukan dalam waktu yang relatif lebih cepat.

Profesor Clifford Kettemborough dari College Whitehead,  University of


Redlands,  mendefinisikan Rapid Application Development sebagai “pendekatan
untuk membangun sistem komputer yang menggabungkan Computer Assisted
Software Engineering (CASE) tools dan teknik, userdriven prototyping.
RAD meningkatkan kualitas sistem secara drastis dan mengurangi waktu yang
diperlukan untuk membangun sistem.
Berikut ini adalah tahap-tahap pengembangan aplikasi dari tiap-tiap fase
pengembangan aplikasi.

1. Requirements Planning (Perencanaan Syarat-Syarat)

Dalam fase ini, pengguna dan penganalisis bertemu untuk mengidentifikasikan


tujuan-tujuan aplikasi atau sistem serta untuk megidentifikasikan syarat-syarat
informasi yang ditimbulkan dari tujuan-tujuan tersebut. Orientasi dalam fase ini
adalah menyelesaikan masalah-masalah perusahaan. Meskipun teknologi informasi
dan sistem bisa mengarahkan sebagian dari sistem yang diajukan, fokusnya akan
selalu tetap pada upaya pencapaian tujuan-tujuan perusahaan (Kendall, 2010).

2. RAD Design Workshop (Workshop Desain RAD)

Fase ini adalah fase untuk merancang dan memperbaiki yang bisa digambarkan
sebagai workshop. Penganalisis dan dan pemrogram dapat bekerja membangun
dan menunjukkan representasi visual desain dan pola kerja kepada pengguna.
Workshop desain ini dapat dilakukan selama beberapa hari tergantung dari ukuran
aplikasi yang akan dikembangkan. Selama workshop desain RAD, pengguna
merespon prototipe yang ada dan penganalisis memperbaiki modul-modul yang
dirancang berdasarkan respon pengguna. Apabila sorang pengembangnya
merupakan pengembang atau pengguna yang berpengalaman, Kendall menilai
bahwa usaha kreatif ini dapat mendorong pengembangan sampai pada tingkat
terakselerasi (Kendall, 2010).

3. Implementation (Implementasi)
Pada fase implementasi ini, penganalisis bekerja dengan para pengguna secara
intens selama workshop dan merancang aspek-aspek bisnis dan nonteknis
perusahaan. Segera setelah aspek-aspek ini disetujui dan sistem-sistem dibangun
dan disaring, sistem-sistem baru atau bagian dari sistem diujicoba dan kemudian
diperkenalkan kepada organisasi (Kendall, 2010).

Kelebihan dan Kekurangan RAD

Metode pengembangan sistem RAD relatif lebih sesuai dengan rencana


pengembangan aplikasi yang tidak memiliki ruang lingkup yang besar dan akan
dikembangkan oleh tim yang kecil. Namun, RAD pun memiliki kelebihan dan
kekurangannya sebagai sebuah metodoligi pengembangan aplikasi. Berikut ini
adalah kelebihan metodologi RAD menurut Marakas (2006):

1. Penghematan waktu dalam keseluruhan fase projek dapat dicapai.


2. RAD mengurangi seluruh kebutuhan yang berkaitan dengan biaya projek
dan sumberdaya manusia.
3. RAD sangat membantu pengembangan aplikasi yang berfokus pada waktu
penyelesaian projek.
4. Perubahan desain sistem dapat lebih berpengaruh dengan cepat
dibandingkan dengan pendekatan SDLC tradisional.
5. Sudut pandang user disajikan dalam sistem akhir baik melalui fungsi-fungsi
sistem atau antarmuka pengguna.
6. RAD menciptakan rasa kepemilikan yang kuat di antara seluruh pemangku
kebijakan projek.

Sedangkan, mengacu pada pendapat Kendall (2010), maka dapat diketahui bahwa
kekurangan penerapan metode RAD adalah sebagai berikut:

1. Dengan metode RAD, penganalisis berusaha mepercepat projek dengan


terburu-buru.
2. Kelemahan yang berkaitan dengan waktu dan perhatian terhadap detail.
Aplikasi dapat diselesaikan secara lebih cepat, tetapi tidak mampu
mengarahkan penekanan terhadap permasalahan-permasalahan perusahaan
yang seharusnya diarahkan.
3. RAD menyulitkan programmer yang tidak berpengalaman menggunakan
prangkat ini di mana programmer dan analyst dituntut untuk menguasai
kemampuan-kemampuan baru sementara pada saat yang sama mereka harus
bekerja mengembangkan sistem.

4. Model Evolutionary Development/ Evolutionary Software Process Models

a. Incremental Model
Incremental model adalah model pengembangan sistem pada software engineering
berdasarkan requirement software yang dipecah menjadi beberapa fungsi atau
bagian sehingga model pengembangannya secara bertahap. dilain pihak ada
mengartikan model incremental sebagai  perbaikan dari model waterfall dan
sebagai standar pendekatan topdown. Layaknya Model Waterfall, model ini pun
juga memiliki tahapan tahapan untuk perancangan perangkat lunaknya, yaitu:

tahapan tahapan model incremental

1. Requirement , Requirment adalah proses tahapan awal yang dilakukan pada


incremental model adalah penentuan kebutuhan atau analisis kebutuhan.
2. Specification, Specification adalah proses spesifikasi dimana menggunakan
analisis kebutuhan sebagai acuannya.
3. Architecture Design, adalah tahap selanjutnya, perancangan software yang
terbuka agar dapat diterapkan sistem pembangunan per-bagian pada tahapan
selanjutnya.
4. Code setelah melakukan proses desain selanjutnya ada pengkodean.
5. Test merupakan tahap pengujian dalam model ini.

Beberapa Kelebihan Dari Mode Incremental atara lain :

1. Merupakan model dengan manajemen yang sederhana


2. Pengguna tidak perlu menunggu sampai seluruh sistem dikirim untuk
mengambil keuntungan dari sistem tersebut. Increment yang pertama sudah
memenuhi persyaratan mereka yang paling kritis, sehingga perangkat lunak
dapat segera digunakan.
3. Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun
masalah masih dapat ditemukan pada beberapa increment. Karena layanan
dengan prioritas tertinggi diserahkan pertama dan increment berikutnya
diintegrasikan dengannya, sangatlah penting bahwa layanan sistem yang
paling penting mengalami pengujian yang ketat. Ini berarti bahwa pengguna
akan memiliki kemungkinan kecil untuk memenuhi kegagalan perangkat
lunak pada increment sistem yang paling bawah.
4. Nilai penggunaan dapat ditentukan pada setiap increment sehingga
fungsionalitas sistem disediakan lebih awal.
5. Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,
6. Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji
Kelemahannya adalah :

1. kemungkinan tiap bagian tidak dapat diintegrasikan


2. Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu
mendapat perubahan selama proses rekayasa berlangsung
3. Harus Open Architecture
4. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam
rencana spesifikasi masing-masing hasil increment.

b. Spiral Model/ Spiral Boehm

(Software Engineering by Roger S. Pressman) Model spiral (spiral model) adalah


model proses software yang evolusioner yangmerangkai sifat iteratif dari prototipe
dengan cara kontrol dan aspek sistematis dari modelsekuensial linier. Model ini
berpotensi untuk pengembangan versi pertambahan software secaracepat. Di dalam
model spiral, software dikembangkan di dalam suatu deretan pertambahan.Selama
awal iterasi, rilis incremental bias merupakan sebuah model atau prototype
kertas.Selama iterasi berikutnya, sedikit demi sedikit dihasilkan versi sistem
rekayasa yang lebihlengkap.

Komunikasi Pelanggan (Customer Communication)

Tugas yang dibutuhkan untuk membangun komunikasi yang efektif di


antarapengembangan dan pelanggan

1. Perencanaan (Planning)

 Tugas yang dibutuhkan untuk mendefinisikan sumber


 Sumber daya, ketepatanwaktu, dan proyek informasi lain yang
berhubungan
2. Analisis Risiko (Risk Analysis)

 Tugas yang dibutuhkan untuk menaksir risiko


 Risiko, baik manajemen maupunteknis.

3. Perekayasaan (Engineering)

 Tugas yang dibutuhkan untuk membangun satu atau lebih


representasi dariaplikasi tersebut.

4. Konstruksi dan peluncuran (Construction and Release)

 Tugas yang dibutuhkan untuk mengkonstruksi, menguji,


memasang (instal) danmemberikan pelayanan kepada pemakai
(contohnya pelatihan dan dokumentasi).

5. Evaluasi pelanggan (Customer Evaluation)

 Tugas yang dibutuhkan untuk memperoleh umpan balik dari


pelanggan dengandidasarkan pada evaluasi  representasi
software, yang dibuat selama masa perekayasaan,dan
diimplementasikan selama masa pemasangan.

Kelebihan model Spiral:

 Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa


yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan
untuk client dalam mencari kekurangan kebutuhan.
 Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
 Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat
lunak komputer.
 Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi
terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja
selama proses.
 Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada
setiap keadaan di dalam evolusi produk.
 Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan
memasukkannya ke dalam kerangka kerja iteratif.
 Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga
mengurangi resiko sebelum menjadi permaslahan yang serius.

Kekurangan model Spiral:


 Banyak konsumen (Client) tidak percaya bahwa pendekatan secara
evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai
resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
 Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus
mengandalkannya supaya sukses.
 Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif
baru.
 Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah
yang serius jika resiko mayor tidak ditemukan dan diatur.
 Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang
absolute.

5. Component Assembly Model (CAM/ Model Perakitan Komponen)

Pada kali ini saya akan membahas


tentang CAM, untuk definisi nya sendiri
Component Assembly Model adalah
suatu model metodologi penelitian RPL
yang merupakan gabungan dari berbagai
model yang lain karena terdapat
beberapa kesamaan dari model RPL
prototype model, spiral boehm model
dan RAD model.

Sifat karakteristik dari CAM ini yaitu


yang seperti saya sebutkan tadi model
spiral boehm dan sangat erat
keterikatannya dengan model RAD
(Rapid Application Development),
model karena model CAM ini
menggunakan peralatan-peralatan dan
GUI (Graphic User Interface) untuk
membangun software. Dengan kata lain
pembuatan aplikasinya dibuat dari paket
perangkat lunak yang berisi serangkaian
komponen yang telah ada sebelumnya.
Namun, waktu yang dibutuhkan dapat
disesuaikan atau lebih efektif daripada
harus mengerjakan program dari awal.

Seperti yang sudah saya sebutkan tadi


CAM ini mirip dengan prototype model
karena dalam pengembangannya di
haruskan membuat prototype sesuai
dengan kebutuhan customer agar lebih
pasti perancangannya dan sesuai
keinginan, dengan langkah ini artinya
dapat menghemat dari segi efesiensi
waktu dalam pengerjaanya.
Tahapan-tahapan CAM yaitu sebagai
berikut :

1. Tahap identifikasi calon-calon


komponen (kelas objek)
2. Tahap melihat komponen-
komponen dalam pustaka
3. Tahap mengekstrak komponen
4. Tahap membangun komponen
5. Tahap menyimpan komponen
baru pada pustaka
6. Tahap mengkonstruksi iterasi ke-
n dari sistem.

Kelebihan CAM adalah tinggal


mencaplok atau menggunakan program
atau komponen yang sudah ada dan
menyusunnya menjadi sebuah program
yang lebih kompleks dan berkembang
sesuai dengan kebutuhan user/pengguna
sehingga dapat mengefisienkan
penggunaan waktu dan tenaga.  Selain
itu, model ini juga menyediakan
kemampuan untuk memvisualisasikan
hasil rakitan dengan kesanggupan untuk
mengukur, menganalisa, merancang dan
merancang ulang program.

Kekurangan CAM adalah seringnya


program atau komponen-komponen
terdahulu tidak kompatibel atau sejalan
dengan model perakitan komponen ini
sehingga untuk perusahaan berskala
kecil akan kesulitan menemukan
komponen yang sesuai untuk dirakit.

Jadi, bisa di ambil kesimpulan bahwa


CAM ini sesuai di gunakan oleh
perusahaan besar yang sudah
berpengalaman mengembangkan
software. Mereka dapat memanfaatkan
software-software yang telah umum
dikembangkan sebelumnya menjadi
bentuk baru dari software yang ingin
dikomersilkan dan para pengembang
hanya perlu mengetahui kebutuhan
pelanggan, mencari komponen yang
berguna yang berguna untuk menjawab
kebutuhan pelanggan dan akhirnya
menempatkan mereka bersama-sama
untuk membangun sebuah program baru
yang bermanfaat.

6. The Concurrent Development Model


Concurrent Engineering merupakan model yang dapat direpresentasikan dengan
skema sebagai series dari kerangka aktifitas, aksi software engineering dan juga

tugas dari jadwal

Pada model ini aktifitas kerja dilakukan secara bersamaan, setiap proses kerja
memiliki beberapa pemicu kerja dari aktifitas. Pemicu dapat berasal dari awal
proses kerja maupun dari pemicu yang lain karena setiap pemicu akan saling
berhubungan. Misalnya proses desain akan berubah atau dihentikan sementara
karena ada perubahan permintaan kebutuhan dari customer.

Concurrent Process Model dapat digambarkan secara skematik sebagai rangkaian


dari kegiatan teknis utama, tugas dan hubungan antar bagian. Jadi, pada intinya
Metode CDM ini suatu skema model yang mengimplementasikan suatu proses
kerja yang dilakukan cepat namun dikerjakan secara bersama-sama dan tetap
efektif dalam menyelesaikan berbagai penyelesaian masalah sesuai permintaan
customer.

Diagram Modeling Activity menunjukkan skematik dari satu aktivitas dengan


Concurrent Process Model. Aktivitas analisa pada setiap orang mencatat bagian-
bagian di setiap waktu sesuai jadwal. Dengan cara yang sama, aktivitas yang lain
seperti komunikasi antara customer dapat digambarkan dengan cara yang sama.

Concurrent Process Model sering digunakan sebagai paradigma untuk


pengembangan aplikasi Client/Server. Sistem Client/Server terdiri atas satu set
komponen yang fungsional. Ketika diaplikasikan untuk Client/Server, Concurrent
Process Model menggambarkan aktivitas di dua dimensi yaitu dimensi sistem dan
dimensi komponen.

1. Dimensi Sistem ditujukan menggunaan tiga aktivitas : Design, Perakitan


(Assembly) dan Penggunaan (Use).
2. Dimensi Komponen ditujukan dengan dua aktivitas : Design dan Realisasi.

Concurrency dicapai dalam jalan dua arah yaitu sebagai berikut :

1. Sistem dan komponen aktivitas terjadi secara simultan dan dapat


diperagakan menggunakan pendekatan yang berorientasi status sebelumnya.
2. Kekhasan aplikasi Client/Server adalah diterapkan dengan banyak
komponen, masing-masing dapat dirancang dan direalisasi secara
bersamaan.

Kelebihan dari Model CDM : Hasil yang di dapat akan menghasilkan suatu sistem
yang  sangat baik karena terdapat perancangan yang terjadi secara besar dan
terencana secara matang.

Kekurangan dari Model CDM : Memungkinkan terjadinya perubahan besar-


besaran, maka akan membuat biaya dan waktu yang diperlukan membengkak.

7. Formal Method Models

Teknik formal method adalah teknik yang mengandalkan perhitungan matematika


dalam setiap prosesnya. Hanya digunakan pada sistem yang sangat memperhatikan
keamanan atau keselamatan dari pengguna keamanan atau keselamatan dari
pengguna. Contoh penggunaan teknik ini adalah aerospace engineering.

Dalam ilmu komputer, rekayasa perangkat lunak khusus, metode formal adalah
jenis tertentu dari teknik matematis berdasarkan untuk spesifikasi, pengembangan
dan verifikasi sistem perangkat lunak dan perangkat keras. Penggunaan metode
formal untuk perangkat lunak dan desain hardware dimotivasi oleh harapan
bahwa , seperti dalam disiplin ilmu teknik lainnya, melakukan analisis matematis
yang tepat dapat berkontribusi untuk keandalan dan ketahanan dari desain.

Metode formal digambarkan sebagai penerapan berbagai cukup luas fundamental


ilmu komputer teoritis, dalam kalkuli logika tertentu, bahasa formal, teori
automata, dan semantik program, tetapi juga sistem jenis dan tipe data aljabar
untuk masalah dalam spesifikasi perangkat lunak dan perangkat keras dan
verifikasi.

Metode formal dapat digunakan di sejumlah tingkatan:


Tingkat 0: spesifikasi formal dapat dilakukan dan kemudian program yang
dikembangkan dari ini informal. Hal ini telah dijuluki metode formal lite. Ini
mungkin menjadi pilihan biaya yang paling efektif dalam banyak kasus.

Tingkat 1: Pengembangan Formal dan verifikasi formal dapat digunakan untuk


menghasilkan sebuah program dengan cara yang lebih formal. Misalnya, bukti dari
sifat atau penyempurnaan dari spesifikasi untuk program dapat dilakukan. Ini
mungkin yang paling tepat dalam sistem integritas tinggi yang melibatkan
keselamatan atau keamanan.

Level 2: provers Teorema dapat digunakan untuk melakukan sepenuhnya resmi


mesin-diperiksa bukti. Hal ini bisa sangat mahal dan hanya praktis berharga jika
biaya kesalahan sangat tinggi (misalnya, dalam bagian-bagian penting dari desain
mikroprosesor).

Informasi lebih lanjut mengenai hal ini diperluas di bawah ini.

Seperti dengan semantik bahasa pemrograman, gaya metode formal dapat secara
kasar diklasifikasikan sebagai berikut:

Denotational semantik, di mana makna dari suatu sistem dinyatakan dalam teori
matematika dari domain. Pendukung metode tersebut bergantung pada sifat
dipahami dengan baik domain untuk memberi arti bagi sistem, kritikus
menunjukkan bahwa tidak setiap sistem mungkin secara intuitif atau alami
dipandang sebagai fungsi.

Operasional semantik, di mana makna dari suatu sistem dinyatakan sebagai urutan
tindakan model (mungkin) komputasi sederhana. Pendukung metode tersebut
menunjukkan kesederhanaan model mereka sebagai alat untuk kejelasan ekspresif,
kritikus kontra bahwa masalah semantik baru saja tertunda (yang mendefinisikan
sem       antik dari model sederhana?).

Aksiomatis semantik, dimana arti dari sistem dinyatakan dalam prasyarat dan
postconditions yang benar sebelum dan setelah sistem melakukan tugas masing-
masing. Para pendukung perhatikan koneksi ke logika klasik, kritik mencatat
bahwa semantik seperti itu tidak pernah benar-benar menggambarkan apa yang
sistem tidak (hanya apa yang benar sebelum dan sesudahnya).

Lightweight Formal Methods

Beberapa praktisi percaya bahwa masyarakat metode formal telah ditekankan


formalisasi penuh spesifikasi atau desain. Mereka berpendapat bahwa ekspresi dari
bahasa yang terlibat, serta kompleksitas sistem yang dimodelkan, membuat
formalisasi penuh sulit dan tugas mahal. Sebagai alternatif, berbagai metode formal
yang ringan, yang menekankan spesifikasi parsial dan aplikasi terfokus, telah
diusulkan. Contoh dari pendekatan ringan untuk metode formal termasuk objek
Alloy notasi pemodelan, sintesis Denney tentang beberapa aspek dari notasi Z
dengan kasus pengembangan penggunaan didorong, dan CSK VDM Alat.

Keuntungan menggunakan teknik formal method adalah : Meminimalkan resiko


dengan adanya perhitungan komputasi.

Sedangkan kerugiannya adalah :

1. biaya tinggi
2. kompleks
3. Tidak Umum untuk Ptoyek software pada umumnya

8. Fourth Generation Techniques/Model Teknik Generasi ke-4/4GT

Istilah Fourth Generation Techniques (4GT) mencakup seperangkat peralatan


perangkat lunak yang berfungsi sebagai perangkat bantu yang memudahkan
seorang pengembang software mengaplikasi beberapa karakteristik software pada
tingkat yang tinggi, yang akan menghasilkan source code dan object code secara
otomatis sesuai dengan spesifikasi (persyaratan khusus) yang dibuat oleh sang
pengembang perangkat lunak.

Dewasa ini, 4GT tools dipakai sebagai bahasa non prosedur untuk DataBase
Query, Pembentukan laporan (Report Generation), Manipulasi data, Definisi dan
interaksi layar (screen), Pembentukan object dan source (Object and source
generation ), Kemampuan grafik yang tinggi, dan Kemampuan spreadsheet.

Tahapan-tahapan model 4GT dapat diringkas sebagai berikut.

Tahap Pengumpulan Kebutuhan: tahap ini dimulai dengan mengumpulkan


serangkaian kebutuhan yang nantinya akan diterjemahkan ke dalam prototipe.
Namun, apabila pelanggan tidak yakin dengan apa yang diperlukan dan fakta-fakta
tidak jelas diketahui maka prototipe tidak dapat dikerjakan oleh peralatan 4GT.

Tahap Merancang Strategi: tahap ini dibutuhkan untuk proyek besar yakni dengan
menterjemahkan kebutuhan menjadi prototipe operasional  agar tidak timbul
masalah yang sama jika dibuat dengan model konvensional. Namun, untuk proyek
skala kecil tahap ini dapat dihilangkan dengan  langsung melakukan implementasi
dengan menggunakan bahasa generasi keempat (4GT).

Tahap Implementasi Menggunakan Bahasa Keempat: untuk skala kecil tahap ini
dapat langsung dilakukan ketika kebutuhan telah jelas, dan untuk proyek besar
tahapan ini dijalankan setelah dirancang prototipe operasional. Implementasi yang
menggunakan 4GT memudahkan pengembang software untuk menjelaskan hasil
yang diharapkan yang nantinya akan diterjemahkan ke dalam bentuk kode sumber
dan kode objek.

Tahap Produksi: Tahap ini merupakan langkah terakhir yakni mengubah


implementasi  4GT ke dalam hasil akhir berupa produk.

Kelebihan model ini adalah pengurangan waktu dan peningkatan produktivitas


yang besar.

Kekurangan model ini adalah kemungkinan akan sulit memanfaatkan alat


bantu/peralatan/tools 4GT dibandingkan dengan menggunakan bahasa
pemrograman yang konvensional, selain itu terdapat juga masalah dalam hal kode
sumber yang tidak efisien. Di samping itu, pemeliharaan sistem software besar
yang dikembangkan oleh 4GT juga masih sedang dalam proses pengkajian.

Model ini diaplikasikan untuk mengembangkan perangkat lunak yang memakai


bentuk bahasa khusus atau notasi grafik yang dieksekusi/diselesaikan dengan
syarat atau ketentuan yang dipahami oleh pemakai/pengguna/kustomer.

Anda mungkin juga menyukai