MODEL PROSES
1.
MODEL
WATERFALL
Model Waterfall
merupakan salah satu model untuk perencanaan dari sebuah Perangkat Lunak. Model
Waterfall adalah salah satu model klasik yang bersifat sistematis. Mengapa
disebut sistematis? Karena model ini dikerjakan secara berurutan. Penggunaan
model ini dalam penerapan di kehidupan sehari-hari sangatlah memakan waktu dan
sangat sedikit dipakai membuat software. Namun model ini cocok untuk bisnis
kecil.
Secara garis besar
metode waterfall mempunyai langkah-langkah sebagai berikut : Analisa,
Design, Code dan Testing, Penerapan dan Pemeliharaan.
·
Analisa
Langkah ini merupakan
analisa terhadap kebutuhan sistem. Pengumpulan data dalam tahap ini bisa
malakukan sebuah penelitian, wawancara atau study literatur. Seorang sistem analis
akan menggali informasi sebanyak-banyaknya dari user sehingga akan
tercipta sebuah sistem komputer yang bisa melakukan tugas-tugas yang diinginkan
olehuser tersebut. Tahapan ini akan menghasilkan dokumen user
requirment atau bisa dikatakan sebagai data yang berhubungan dengan
keinginan user dalam pembuatan sistem. Dokumen ini lah yang akan
menjadi acuan sistem analis untuk menterjemahkan ke dalam bahasa pemprogram.
·
Design
Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada : struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan dokumen yang disebut software requirment. Dokumen inilah yang akan digunakan proggrammer untuk melakukan aktivitas pembuatan sistemnya.
Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada : struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan dokumen yang disebut software requirment. Dokumen inilah yang akan digunakan proggrammer untuk melakukan aktivitas pembuatan sistemnya.
·
Coding & Testing
Coding merupan
penerjemahan design dalam bahasa yang bisa dikenali oleh komputer.
Dilakukan oleh programmer yang akan meterjemahkan transaksi yang
diminta oleh user.Tahapan ini lah yang merupakan tahapan secara nyata
dalam mengerjakan suatu sistem. Dalam artian penggunaan komputer akan
dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan
dilakukan testing terhadap sistem yang telah dibuat tadi.
Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem
tersebut dan kemudian bisa diperbaiki.
·
Penerapan
Tahapan ini bisa
dikatakan final dalam pembuatan sebuah sistem. Setelah melakukan
analisa, design dan pengkodean maka sistem yang sudah jadi akan digunakan
oleh user.
·
Pemeliharaan
Perangkat lunak yang
sudah disampaikan kepada pelanggan pasti akan mengalami perubahan. Perubahan
tersebut bisa karena mengalami kesalahan karena perangkat lunak harus
menyesuaikan dengan lingkungan (periperal atau sistem operasi baru) baru, atau
karena pelanggan membutuhkan perkembangan fungsional.
A) Kelebihan Model Waterfall :
ü Merupakan model pengembangan paling handal dan paling lama
digunakan.
ü Cocok untuk sistem software yang bersifat generik.
ü Pengerjaan projek sistem akan terjadwal dengan baik dan mudah
dikontrol.
B) Kekurangan Model Waterfall :
ü Persyaratan sistem harus digambarkan dengan jelas.
ü Rincian proses harus benar-benar jelas dan tidak boleh berubah
ubah
ü Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada
suatu tahapan pengembangan
C)
Contoh Studi Kasus :
Perkembangan ilmu
pengetahuan dan teknologi saat ini, telah mempengaruhi aktivitas perpustakaan
dalam pengolahan informasi. Perpustakaan dapat diibaratkan sebagai satu kesatuan.
Dalam artian, sebuah perpustakaan merupakan satu kesatuan sistem yang saling
mempengaruhi satu sama lain untuk mencapai tujuan tertentu. Tetapi dengan
pertumbuhan sebuah perpustakaan, ada kalanya suatu sistem pada sebuah
perpustakaan menjadi tidak efektif dan efisien dalam menangani permasalahan
yang muncul. Seperti misalnya, kebutuhan pengolahan data yang semakin
meningkat, aturan pengolahan data yang semakin bervariasi, aturan dari dalam
atau luar perpustakaan, dapat digunakan sebagai indikator adanya permasalahan.
Untuk mengatasi permasalahan tersebut, diperlukan suatu sistem yang dapat
mendukung operasi yang bersifat manajerial dan kegiatan strategi dari suatu
perpustakaan demi tercapainya tujuan, sebuah sistem yang dinamakan sistem
informasi.
2.
Model Spiral
Model spiral (spiral
model) adalah model pengembangan software dimana proses digambarkan sebagai
spiral. Setiap loop akan mewakili satu fase dari proses pembuatan/perancangan
software. Loop paling dalam berfokus pada kelayakan dari sistem, loop
selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan
desain sistem dan seterusnya, seperti gambar berikut:
Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja atau wilayah tugas, antara lain :
Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja atau wilayah tugas, antara lain :
·
Komunikasi
pelanggan, tugas-tugas yang dibutuhkan untuk membangun komunikasi yang efektif
diantara pengembang dan pelanggan.
·
Perencanaan,
tugas-tugas yang dibutuhkan untuk mendefinisikan sumber-sumber daya, ketepatan
waktu, dan proyek informasi lain yang berhubungan.
·
Analisis
resiko, tugas-tugas yang dibutuhkan untuk menaksir resiko-resiko, baik
manajemen maupun teknis.
·
Perekayasaan,
tugas-tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari
aplikasi tersebut.
·
Konstruksi
dan peluncuran, tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji,
memasang (instal), dan memberikan pelayanan kepada pemakai (contohnya pelatihan
dan dokumentasi)
·
Evaluasi
pelanggan, tugas-tugas untuk memperoleh umpan balik dari pelanggan dengan
didasarkan pada evaluasi representasi perangkat lunak, yang dibuat selama masa
perekayasaan, dan dimplementasikan selama masa pemasangan.
A)
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 terhadap resiko teknis sehingga
mengurangi resiko sebelum menjadi permaslahan yang serius.
B)
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.
C)
Contoh Studi Kasus :
Sidik jari (bahasa Inggris: fingerprint) adalah hasil reproduksi
tapak jari baik yang sengaja diambil, dicapkan dengan tinta, maupun bekas yang
ditinggalkan pada benda karena pernah tersentuh kulit telapak tangan atau kaki.
Kulit telapak adalah kulit pada bagian telapak tangan mulai dari pangkal pergelangan
sampai kesemua ujung jari, dan kulit bagian dari telapak kaki mulai dari tumit
sampai ke ujung jari yang mana pada daerah tersebut terdapat garis halus
menonjol yang keluar satu sama lain yang dipisahkan oleh celah atau alur yang
membentuk struktur tertentu. Identifikasi sidik jari, dikenal dengan
daktiloskopi adalah ilmu yang mempelajari sidik jari untuk keperluan pengenalan
kembali identitas orang dengan cara mengamati garis yang terdapat pada guratan
garis jari tangan dan telapak kaki. Daktiloskopi berasal dari bahasa Yunani
yaitu dact ylos yang berarti jari jemari atau garis jari, dan scopein yang
artinya mengamati atau meneliti. Kemudian dari pengertian itu timbul istilah
dalam bahasa Inggris, dactyloscopy yang kita kenal menjadi ilmu sidik jari.
Fleksibilitas dari gelombang pada kulit berarti tidak ada dua sidik jari atau
telapak tangan yang sama persis pada setiap detailnya. Pengenalan sidik jari
melibatkan seorang pakar, atau sebuah sistem pakar komputer, yang menentukan
apakah dua sidik jari berasal dari jari.
Identifikasi berdasarkan sidik jari adalah daerah aktif penelitian
di biometrik menerapkan berbagai umum dan teknik kode domain-spesifik optimasi
untuk secara efisien melaksanakan tahap pendaftaran, yang mengambil sebagai
masukan serangkaian gambar sidik jari dan menghasilkan diadaptasi packet pohon
dan template wavelet domain yang terkait. Itu kode untuk identifikasi
sebenarnya kemudian dihasilkan automati-Cally dari deskripsi matematika.
Algoritma identifikasi sidik jari kembali quires perhitungan matematika yang
berat, sehinggasatu al-gorithm bisa memiliki runtimes berbeda tergantung pada
Implementasi algoritma. Algoritma ini terdiri dari 2 tahap, tahap pelatihan dan
tahap verifikasi. Namun penting untuk memiliki efisien pelaksanaan tahap
pelatihan untuk memungkinkan pengembang algoritma untuk dengan cepat
menjalankan dan menguji uji beda kasus. Tahap verifikasi dilakukan secara
on-line sehingga itu perlu secepat mungkin. Kualitas sidik jari
sistemidentifikasi tidak hanya tergantung pada keakuratan.
3. Model Prototype
Model ini dimulai dengan
pengumpulan kebutuhan. Pendekatan prototyping model digunakan jika
pemakai hanya mendefenisikan objektif umum dari perangkat lunak tanpa merinci
kebutuhan input, pemrosesan dan outputnya, sementara pengembang
tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi, atau
bentuk antarmuka manusia-mesin yang harus diambil. Cakupan aktivitas dari prototyping
model terdiri dari :
a. Mendefinisikan objektif secara
keseluruhan dan mengidentifikasi kebutuhan yang sudah diketahui.
b. Melakukan perancangan secara
cepat sebagai dasar untuk membuat prototype.
c. Menguji coba dan mengevaluasi
prototype dan kemudian melakukan penambahan dan perbaikan-perbaikan terhadap
prototype yang sudah dibuat.
Secara ideal
prototype berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan
perangkat lunak. Bila prototype yang sedang bekerja dibangun, pengembang harus
menggunakan fragmen-fragmen program yang ada atau mengaplikasikan alat-alat
bantu (contoh: window manager, dsb) yang memungkinkan program yang bekerja agar
dimunculkan secara cepat.
A) Kelebihan :
ü Prototype melibatkan user dalam analisa dan desain.
ü Punya kemampuan menangkap requirement secara konkret daripada
secara abstrak.
ü Untuk digunakan secara standalone.
ü Digunakan untuk memperluas SDLC.
ü Mempersingkat waktu pengembangan Sistem Informasi
B)
Kekurangan :
ü Proses analisis dan perancangan terlalu singkat.
ü Mengesampingkan alternatif pemecahan masalah.
ü Bisanya kurang fleksible dalam mengahdapi perubahan.
ü Prototype yang dihasilkan tidak selamanya mudah dirubah
C)
Model prototype
Pada
metode ini, prototype-nya tidak dibuang, melainkan digunakan sebagai dasar
untuk iterasi Perancangan selanjutnya. Dalam hal ini, sistem yang sesungguhnya
dipandang sebagai evolusi dari versi awal yang terbatas menuju produk finalnya.
Tujuan dari evolutionary prototyping adalah menyerahkan sistem yang dapat
dipakai kepada end-user .Pembangunan sistem di mulai dari kebutuhan yang paling
dipahami. Prototipe evolusioner , sistem dibangun dengan cara memulai dari
versi initial sampai versi final.
Tahapan
model evolutionary prototipe :
à Mengidentifikasi
kebutuhan pemakai. Analis sistem mewawancarai pemakai untuk mendapatkan
gagasan dari apa yang diinginkan pemakai terhadap sistem
gagasan dari apa yang diinginkan pemakai terhadap sistem
à
Mengembangkan prototipe. Analis sistem,
mungkin bekerjasama dengan spesialis informasi lain,
menggunakan satu atau lebih peralatan prototyping untuk mengembangkan sebuah prototipe.
menggunakan satu atau lebih peralatan prototyping untuk mengembangkan sebuah prototipe.
à
Menentukan
apakah prototipe dapat diterima (sudah sesuai). Analis mendidik pemakai dalam
penggunaan prototipe dan memberikan kesempatan kepada pemakai untuk membiasakan diri
dengan sistem. Pemakai memberikan masukan bagi analis apakah prototipe memuaskan/sudah
sesuai. Jika ya, langkah d. Akan diambil; jika tidak prototipe direvisi dengan mengulangi langkah
a.,b., c. Dengan pengertian yang lebih baik mengenai kebutuhan pemakai.
penggunaan prototipe dan memberikan kesempatan kepada pemakai untuk membiasakan diri
dengan sistem. Pemakai memberikan masukan bagi analis apakah prototipe memuaskan/sudah
sesuai. Jika ya, langkah d. Akan diambil; jika tidak prototipe direvisi dengan mengulangi langkah
a.,b., c. Dengan pengertian yang lebih baik mengenai kebutuhan pemakai.
à
Menggunakan
prototipe. Prototipe ini menjadi sistem operasional.
Throw
away prototipe
Prototype dibuat dan ditest.
Pengalaman yang diperoleh dari pembuatan prototype tersebut digunakan untuk
membuat produk akhir (final), sementara prototype tersebut dibuang (tak dipakai).
Tujuan throw-away prototyping adalah memvalidasi dan menurunkan persyaratan sistem.
Prototipe dapat di mulai dari kebutuhan yang paling tidak dipahami. Prototipe
Throw
away
mencakup pengembangan prototipe untuk memahami persyaratan sistem.
D) Contoh Studi Kasus :
Dalam pelaksanaannya, system akademik yang berjalan di Sekolah
Menengah Pertama Negeri 20 Bandung dirasa belum optimal, hal ini dikarenakan
sistem yang digunakan masih bersifat manual. Dengan permasalahan tersebutmaka
muncul berbagai permasalahan terutama pada proses pendaftaran,registrasi,
pembagian kelas, pembagian wali kelas, proses penilaian serta informasimengenai
perkembangan siswa kepada orang tua. Untuk itu, diperlukan suatu sistem
informasi yang mampu mendukung pengambilan keputusan dalammemperoleh informasi
kegiatan akademik. Pembuatan Sistem Informasi Akademik Sekolah Menengah Pertama
Negeri 20 Bandung menggunakan pendekatan terstruktur, sedangkan metode
pengembangan menggunakan prototype dengan teknik pengumpulan data observasidan
wawancara, sedangkan alat yang digunakan dalam merancang sistem berupa Flow
Map, Diagram Konteks, DFD dan pengembangan aplikasi berbasis desktop.Sistem
yang dibangun disajikan secara client server sehingga dapat diaksesbeberapa
komputer. Sistem yang dibangun diharapkan dapat mengatasi sebagianbesar
permasalahan yang ada seperti melakukan validasi kerangkapan dataregistrasi dan
nilai siswa, pembagian kelas dan penilaian.
4.
Model Transformasi Formal
Berbasiskan
pada transformasi spesifikasi secara matematik melalui representasi yang
berbeda untuk suatu program yang dapat dieksekusi, Trasformasi menyatakan
spesifikasi program. Tranformasi formal menggunakan pendekatan ‘Cleanroom’
untuk pengembangan PL. Pendekatan
ini berdasarkan pembuatan spesifikasi sistem formal secara matematik dan
transformasi spesifikasi dengan menggunakan metode matematik atau dengan suatu
program.Transformasi ini adalah correctness preserving, ini berarti bahwa kita
dapat yakin programyang dikembangkan sesuai dengan spesifikasi. Pengembangan
sistem formal menggunakansuatu model sistem matematika yang ditransformasikan
ke implementasi. Pengembangan sistem formal merupakan pendekatan terhadap
pengembangan perangkatlunak yang memiliki kesamaan dengan model air terjun,
tetapi proses pengembangannyadidasarkan pada transformasi matematis dari
spesifikasi sistem menjadi program yang dapat dijalankan.
a.
Pendekatan pengembangan Sistem Formal :
•
Berbasiskan pada transformasi spesifikasi secara matematik melalui
representasi yang berbeda untuk suatu program yang dapat dieksekusi,
•
Trasformasi menyatakan spesifikasi program,
•
Menggunakan pendekatan ‘Clean room’ untuk pengembangan PL.
b.
Penggunaan metode formal :
•
Metode ini mempunyai keterbatasan dalam pemakaiannya,
•
Keunggulannya adalah mengurangi jumlah kesalahan pada sistem sehingga
penggunaan utamanya adalah pada sistem yang kritis,
•
hal itu menjadi efektif dari segi biaya.
c.
Permasalahan dalam model pengembangan metode formal :
•
Memerlukan keahlian khusus dan pelatihan untuk mengaplikasikannya,
•
Sulit menentukan beberapa aspek dari suatu sistem seperti user interface.
d. Pemakaian model
pengembangan metode formal :
• Memerlukan
tingkat kerahasian dan keamanan yang tinggi sebelum digunakan
A) Kelebihan Model Transformasi Formal :
1. Mengurangi jumlah kesalahan pada
sistem sehingga penggunaan utamanya
adalah pada
2.sistem yang kritis
2.sistem yang kritis
efektif dalam segi biaya
3.Memiliki risiko lebih rendah terhadap
keseluruhan pengembagan sistem.
B)
Kelemahan
model Transformasi Formal :
1. Metode
ini mempunyai keterbatasan dalam Pemakaiannya
2. Memerlukan keahlian khusus dan pelatihan untuk Mengaplikasikannya
2. Memerlukan keahlian khusus dan pelatihan untuk Mengaplikasikannya
3. Memerlukan
keahlian khusus dan pelatihan untuk Mengaplikasikannya
4.Memerlukan tingkat
kerahasian dan keamanan yang tinggi sebelum digunakan
5. Model RAD (Rapid
Application Development)
Merupakan
model proses pengembangan perangkat lunak secara linear sequential yang
menekankan pada siklus pengembangan yang sangat singkat/pendek. Jika kebutuhan
dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan
“sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira
60-90 hari). Pendekatan RAD model menekankan cakupan :
a.
Pemodelan
bisnis (Bussiness Modelling)
Aliran
informasi diantara fungsi-fungsi bisnis dimodelkan dengan suatu cara untuk
menjawab pertanyaan-pertanyaan berikut : Informasi apa yang mengendalikan
proses bisnis ? Kemana informasi itu pergi? Siapa yang memprosesnya ?
b.
Pemodelan
data (Data Modelling)
Aliran
informasi yang didefinisikan sebagai bagian dari fase pemodelan bisnis disaring
ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut.
Karakteristik/atribut dari masing-masing objek diidentifikasi dan hubungan
antara objek-objek tersebut didefinisikan.
c.
Pemodelan
proses (Process Modelling)
Aliran
informasi yang didefinisikan dalam fase pemodelan data ditransformasikan untuk
mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis.
Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus atau
mendapatkan kembali sebuah objek data.
d.
Pembuatan
aplikasi (Application generation)
Selain
menciftakan perangkat lunak dengan menggunakan bahasa pemrograman generasi
ketiga yang konvensional, RAD lebih banyak memproses kerja untuk memakai lagi
komponen program yang telah ada atau menciftakan komponen yang bias dipakai
lagi. Pada semua kasus, alat-alat Bantu otomatis dipakai untuk memfasilitasi
kontruksi perangkat lunak.
e.
Pengujian
dan pergantian (Testing and turnover)
Karena
proses RAD menekankan pada pemakaian kembali, banyak komponen yang telah diuji.
Hal ini mengurangi keseluruhan waktu pengujian. Tapi komponen baru harus diuji.
Gb. Model RAD
A) Kelebihan Model RAD (Rapid Application Development):
ü
Setiap
fungsi mayor dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan dandapat
dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan
sehinngawaktunya lebih efesien.
ü
RAD
mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyaikemampuan
untuk menggunakan kembali komponen yang ada (reusable object) sehingga
pengembang pengembang tidak perlu membuat dari awal lagi dan waktulebih singkat
.
B) Kelemahan
model RAD :
ü
Untuk
proyek dengan skala besar, RAD membutuhkan sumber daya manusia yang cukup untuk
membentuk sejumlah tim RAD yang baik.
ü
RAD
membutuhkan pengembang dan pemakai yang mempunyai komitmen dalam aktivitas rapid-fire untuk melaksanakan aktivitas
melengkapi sistem dalam kerangka waktu yang singkat. Jika komitmen tersebut
tidak ada, proyek RAD gagal.
Tidak semua aplikasi
sesuai untuk RAD.bila system tidak dapat dimodulkan dengan teratur, pembangunan
komponen penting pada RAD akan menjadi sangat problematic. RAD menjadi tidak
sesuai jika risiko teknisnya tinggi.
C) Contoh studi kasus
RAD sangat tepat diterapkan untuk sistem yang telah
jelas dan lengkap kebutuhannya, di mana terdapat komponen-komponen yang dapat
dipakai kembali dalam proyek yang berskala kecil dengan waktu pengembangan
perangkat lunak yang singkat.
6. Model Pengembangan Incremental
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 yang mengartikan model incremental sebagai perbaikan
dari model waterfall dan sebagai standar pendekatan topdown.
A)
Tahapan dalam Incremental model:
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.
Tahapan-tahapan tersebut dilakukan secara berurutan. Setiap bagian yang
sudah selesai dilakukan testing, dikirim ke pemakai untuk langsung dapat
digunakan. Pada incremental model, tiga tahapan awal harus diselesaikan
terlebih dahulu sebelum sebelum tahap membangun tiap increment. Untuk
mengantisipasi kondisi yang terjadi
pada incremental model, diperkenalkan model
More Risky Incremental Model. Model ini menerapkan sistem kerja yang paralel.
Setelah daftar kebutuhan didapatkan dari pemakai, tim spesifikasi membuat
spesifikasi untuk modul pertama. Setelah spesifikasi pertama selesai, tim
desain menindak lanjuti. Tim spesifikasi sebelumnya juga langsung membuat
spesifikasi untuk model kedua, dan seterusnya. Jadi, tidak harus menunggu modul
pertama selesai hingga dikirim ke user.
B) Kelebihan Model Pengembangan Incremental :
ü Merupakan model dengan manajemen
yang sederhana.
ü 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.
ü 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.
ü Nilai penggunaan dapat ditentukan
pada setiap increment sehingga fungsionalitas sistem disediakan lebih awal.
1.
Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,
2.
Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji.
C) Kelemahan Model Pengembangan Incremental :
ü Kemungkinan tiap bagian tidak
dapat diintegrasikan
ü Dapat menjadi build and Fix
Model, karena kemampuannya untuk selalu mendapat perubahan selama proses
rekayasa berlangsung
ü Harus Open Architecture
ü Mungkin terjadi kesulitan untuk
memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil
increment.
D. Waktu penggunaan :
Metode
Incremental banyak digunakan untuk proyek dengan teknologi terbaru, proyek yang
membutuhkan jadwal pengembangan yang panjang, manajemen sederhana serta resikoyang rendah.
7. Fourth Generation Techniques (4GT)
Istilah
generasi ke empat, mengarah ke perangkat lunak yang umum yaitu tiap pengembang
perangkat lunak menentukan beberapa karakteristik perangkat lunak pada level
tinggi. Saat ini pengembangan perangkat
lunak yang mendukung 4GT, berisi tool-tool berikut : i) Bahasa non prosedural
untuk query basis data; ii) Report
generation; iii) Data manipulation ; iv) Interaksi layar ; v)
Kemampuan grafik level tinggi ; vi) Kemampuan spreadsheet . Tiap tool ini
ada tapi hanya untuk sauatu aplikasi khusus.
Menggunakan
perangkat bantu (tools) yang akan membuat kode sumber secara otomatis
berdasarkan spesifikasi dari pengembang perangkat lunak. Hanya digunakan untuk
menggunakan perangkat lunak yang menggunakan bahasa khusus atau notasi grafik
yang diselesaikan dengan syarat yang dimengerti pemakai. Cakupan aktivitas 4GT
:
1. Pengumpulan
kebutuhan, idealnya pelanggan akan menjelaskan kebutuhan yang akan ditranslasikan ke prototype operasional.
2. Translasi
kebutuhan menjadi prototype operasional, atau langsung melakukan implementasi secara langsung dengan menggunakan bahasa generasi keempat (4GL) jika aplikasi
relatif kecil.
3. Untuk
aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL akan digunakan.
4. Pengujian.
5. Membuat
dokumentasi.
6. Melaksanakan
seluruh aktivitas untuk mengintegrasikan solusi-solusi yang membutuhkan paradigma rekayasa perangkat lunak lainnya.
A)
Kelebihan
Model 4GT :
1. Pelanggan
dapat menggambarkan kebutuhannya dalam suatu rancangan sistem dan secara
otomatis rancangan dapat diubah menjadi prototip operasional.
2. Penggunaan
perangkat 4GT tidak membutuhkan pengetahuan bahasa pemrograman, karena kode
komputer (source code) dapat dibangkitkan oleh sistem 4GT.
3.
4GT
mengurangi waktu pengembangan perangkat lunak dan meningkatkan produktivitas
manusia yang mengambangkannya.
B)
Kelemahan
Model 4GT :
1.
Kode
komputer yang dihasilkan tidak efisien dan perawatan sistem perangkat lunak
besar yang dikembangkan menggunakan 4GT masih menjadi tanda tanya.
2.
Penggunaan
4GT masih terbatas pada aplikasi sistem informasi bisnis, khususnya analisis
informasi dan pelaporan yang mengacu pada database besar.
8. Model Evolusi
Model evolusi adalah sebuah model yang berulang-ulang. Model ini
memiliki karakteristik yang memungkinkan para programmer mengembangkan
perangkat lunaknya menjadi semakin lengkap di tiap versinya. Model ini
diterapkan karena persyaratan (requierement) sering berubah sehingga
hasil akhir dari sebuah produk tidak akan realistis, dimana edisi komplit dari
produk tersebut mustahil dikeluarkan dikarenakan deadline market yang
begitu ketat. Oleh karena itu lebih baik mengeluarkan versi limited untuk
memperkenalkannya terlebih dahulu dan programmer dapat membuat model dari
sebuah design untuk mengakomodasikan produk, yang secara bertahap akan
diselesaikan dari waktu ke waktu.
A)
Kelebihan Model Evolusi :
üMeningkatkan kemampuan
memimpin dan mengatur sesuatu dengan pengembangan diri.
üMenciptakan suasana yang
sadar akan kualitas suatu produk.
üFungsi inti dari quality
control dalam perusahaan besar pada tingkat lokakarya.
üMeningkatkan kebersamaan
untuk mencapai suatu hasil dan semangat kerja karyawan.
üMeningkatkan kualitas
dengan biaya efektif.
üMembebaskan manajemen.
üPekerja Shop
Floor adalah lokasi terbaik untuk mengidentifikasi masalah.
B) Kekurangan Model Evolusi
:
ü
Intensitas pekerjaan meningkat karena masalah
akan lebih banyak dari pada yang diperkirakan
ü
Manajemen perlu berkomitmen untuk sistem yang
berkualitas, jika sebuah solusi dari sebuah masalah tidak dapat diterapkan maka
itu bisa membuat frustasi para pekerja.
ü
Dapat memiliki efek negatif pada hubungan
industrial.
ü
Dapat fokus pada masalah duniawi.
C) Contoh studi kasus:
Proyek SITINA dimulai dengan kebutuhan terhadap suatu sistem EDM
utilitas yang harus melalukan pemantauan dengan mudah, benar-benar
otomatis,pada pembangkit listrik tenaga air . Tujuan utama adalah untuk
mengembangkan aplikasi dengan biaya rendah yang memungkinkan dewan direksi
untuk memonitor pembangkit listrik tersebut dan mengambil data statistik pada
produksi mereka. Hal ini tidak dalam melingkupi penjelasan rinci tentang SITINA
. Namun, seperti yang dapat kita lihat dari akhir arsitektur umum pada Gambar
1, kita berhadapan dengan sistem yang kompleks dengan SCADA/EMS2 yang terbentuk
dari penggunaan banyak teknologi dari beberapa produk-produk perangkat lunak
yang berbeda.
9. Model V / V-Model
Bisa dikatakan model ini merupakan perluasan
dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya mirip
dengan yang terdapat dalam model waterfall. Jika dalam model waterfall proses
dijalankan secara linear, maka dalam model V proses dilakukan bercabang. Dalam
model V ini digambarkan hubungan antara tahap pengembangan software dengan
tahap pengujiannya.
A)
Kelebihan v model :
ü
V Model sangat fleksibel. V Model mendukung
project tailoring dan penambahan dan pengurangan method dantool secara dinamik.
Akibatnya sangat mudah untuk melakukan tailoring pada V Model agar sesuai
dengan suatu proyek tertentu dan sangat mudah untuk menambahkan method dan tool
baru atau menghilangkan method dan tool yang dianggap sudah obsolete.
ü
V Model dikembangkan dan di-maintain oleh
publik. Userdari V Model berpartisipasi dalam change control boardyang
memproses semua change request terhadap V Model.
B)
Kekurangan v model :
ü
V Model adalah model yang project oriented
sehingga hanya bisa digunakan sekali dalam suatu proyek.
ü
V Model terlalu fleksibel dalam arti ada
beberapa activitydalam V Model yang digambarkan terlalu abstrak sehingga tidak
bisa diketahui dengan jelas apa yang termasuk dalamactivity tersebut dan apa
yang tidak.
10.MODEL CBSE (COMPONENT BASED SOFTWARE ENGINEERING)
Model CBSE
adalah proses yang menekankan perancangan dan pembangunan software dengan
menggunakan komponen software yang sudah ada. Model ini bersifat iteratif atau
berulang-ulang prosesnya. Tahapan CBSE terdiri dari dua bagian yang terjadi
secara paralel yaitu :
1.
Software
engineering (component-based development) Component based development sangat
berkaitan dengan teknologi berorientasi objek. Pada pemrograman berorientasi
objek, banyak class yang dibangun dan menjadi komponen dalam suatu software.
Class-class tersebut bersifat reusable artinya bisa digunakan kembali.
Penggunaan kembali komponen software yang sudah ada menguntungkan dari segi :
Siklus waktu pengembangan software, karena mampu mengurangi waktu 70%
Biaya produksi berkurang sampai 84% karena pembangunan komponen berkurang
Hal-hal
yang dilakukan pada tahap software engineering (component-based
development) adalah:
Melakukan analisis terhadap domain model yang sudah ditetapkan
Menentukan spesifikasi dan merancang berdasarkan model struktur dan spesifikasi
sistem.
Melakukan pembangunan software dengan menggunakan komponen-komponen yang sudah
ditetapkan berdasarkan analisis dan rancangan yang dihasilkan sebelumnya hingga
akhirnya menghasilkan software.
2. Domain engineering
Hal-hal
yang dilakukan pada tahapan domain engineering:
Menciptakan model domain bagi aplikasi yang akan digunakan untuk menganalisis
kebutuhan pengguna.
Identifikasi, pembangunan, pengelompokan dan pengalokasikan komponen-komponen
software supaya bisa digunakan pada sistem yang ada dan yang akan datang.
11. MODEL RATIONAL UNITED PROCESS
Rational
Unified Process (RUP) merupakan suatu pendekatan disiplin dalam mengerjakan
tugas dan tanggung jawab melalui berbagai best practise di dalam suatu
organisasi pengembangan pengembangan perangkat lunak. Tujuan dari RUP adalah
untuk memastikan dihasilkannya produk perangkat lunak dengan kualitas yang
tinggi (minim error dan berjalan sesuai yang diharapkan), serta memenuhi semua
kebutuhan stakeholder dengan biaya dan waktu yang sudah diprediksikan.
menunjukkan secara keseluruhan kerangka kerja (framework) yang dimiliki RUP.
RUP menggunakan konsep object
oriented dengan aktifitas yang berfokus pada pengembangan model dengan
menggunakan unified model language (UML). UML adalah bahasa standar untuk
penulisan blueprint perangkat lunak. Model ini membagi suatu sistem aplikasi
menjadi beberapa komponen sistem dan memungkinkan para developer aplikasi untuk
menerapkan metoda iterative (analisis, disain, implementasi dan pengujian) pada
tiap komponen. dapat dilihat bahwa RUP memiliki dua dimensi, yaitu:
1. Dimensi
horisontal mewakili aspek-aspek dinamis dari pengembangan perangkat lunak.
Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap fase akan
memiliki suatu major milestone yang menandakan akhir fase dan awal dari fase
selanjutnya. Setiap fase dapat terdiri dari satu atau beberapa iterasi.
2. Dimensi vertikal mewakili aspek-aspek statis
dari proses pengembangan perangkat lunak yang dikelompokkan ke dalam beberapa
disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa
disiplin terdiri dari empat elemen penting, yakni who is doing what, how and
when.
Tahapan pengembangan
perangkat lunak dalam RUP terbagi menjadi 4 fase, sebagai berikut :
Ø Inception merupakan
tahap untuk mengidentifikasi sistem yang akan dikembangkan. Aktivitas yang
dilakukan pada tahap ini antara lain mencakup analisis sistem
eksisting,
perumusan sistem target, penentuan arsitektur global target, identifikasi
kebutuhan, perumusan persyaratan (fungsional, performansi, keamanan, GUI, dll.),
perumusan kebutuhan pengujian (level unit, integrasi, sistem, performansi,
fungsionalitas, keamanan, dll.), pemodelan diagram UML (diagram use case dan
activity), dan pembuatan dokumentasi.
Ø Elaboration
merupakan tahap untuk melakukan disain secara lengkap berdasarkan hasil
analisis di tahap inception. Aktivitas yang dilakukan pada tahap ini antara
lain mencakup pembuatan disain arsitektur subsistem (architecture pattern),
disain komponen sistem, disain format data (protokol komunikasi), disain
database, disain antarmuka/tampilan, disain peta aliran tampilan, penentuan
design pattern yang digunakan, pemodelan diagram UML (diagram sequence, class,
component, deployment, dll.), dan pembuatan dokumentasi.
Ø Construction
merupakan tahap untuk mengimplementasikan hasil disain dan melakukan pengujian
hasil implementasi. Pada tahap awal construction, ada baiknya dilakukan
pemeriksaan ulang hasil analisis dan disain, terutama disain pada domain
perilaku (diagram sequence) dan domain struktural (diagram class, component,
deployment). Apabila disain yang dibuat telah sesuai dengan analisis sistem,
maka implementasi dengan bahasa pemrogramanan tertentu dapat dilakukan.
Aktivitas yang dilakukan pada tahap ini antara lain mencakup pengujian hasil
analisis dan disain (misal menggunakan Class Responsibility Collaborator untuk
kasus pemrograman berorientasi obyek), pendataan kebutuhan implementasi lengkap
(berpedoman pada identifikasi kebutuhan di tahap analisis), penentuan coding
pattern yang digunakan, pembuatan program, pengujian, optimasi program,
pendataan berbagai kemungkinan pengembangan / perbaikan lebih lanjut, dan
pembuatan dokumentasi.
Ø Transition
merupakan tahap untuk menyerahkan sistem aplikasi ke konsumen (roll-out), yang
umumnya mencakup pelaksanaan pelatihan kepada pengguna dan testing beta
aplikasi terhadap ekspetasi pengguna.
SUMBER :
Pressman, Roger S.
2002.”Rekayasa Perangkat Lunak (Pendekatan Praktis).” Yogyakarta : Andi.
http://lookupmens.blogspot.com/2012/11/metodelogi-pengembangan-sistem.html




Komentar
Posting Komentar