Kamis, 15 Oktober 2020

Software Development Life Cycle (SDLC) - RAD MODEL

SDLC atau Systems Life Cycle, dalam rekayasa sistem dan rekayasa perangkat lunak, adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi.

Dalam System Development life cycle Models, terdapat 12 model yang dijadikan acuan dalam rekayasa perangkat lunak, yaitu

1.Waterfall Models
2. V-Shaped Models
3. Prototype Models
4. RAD Models
5. incremental Models
6. Spiral Models
7. Agile Models
8. Extreme Programming Models
9. Opportunistic Softwere System Development Model (OSSDM) Models
10. Rational Unified Process (RUP) Models
11. Component-based development Models
12. Evolutionary development Models

Dalam kesempatan kali ini saya akan membahas RAD MODEL
Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem di mana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan.Working model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem final.

Penerapan RAD MODEL
Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan:

Component based construction ( pemrograman berbasis komponen bukan prosedural).
Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
Pembangkitan kode program otomatis/semi otomatis.
Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tetapi 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.

Kelebihan dan kekurangan RAD MODEL
Beberapa hal (kelebihan dan kekurangan) yang perlu diperhatikan dalam implementasi pengembangan menggunakan model RAD:

Model RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar.
Model ini cocok untuk proyek dengan skala besar.
Model RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan keduanya bisa tergabung dalam 1 tim
kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan dengan model ini kurang bagus.
sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
penghalusan dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini memerlukan kerja keras.
proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
risiko teknis yang tinggi juga kurang cocok untuk model ini.


Referensi
^ a b Britton, Carol (2001). Object-Oriented Systems Development. McGraw-Hill. hlm. 28–29, 269. ISBN 0-07-709544-8.
Wikipedia

Selasa, 13 Oktober 2020

Uniform Cost Search

Uniform Cost Search

Searching secara umum dapat dibagi menjadi Uninformed Search dan Informed Search. Uninformed Search sering disebut sebagai Blind Search. Istilah ini menggambarkan bahwa teknik pencarian ini tidak memiliki informasi atau pengetahuan tambahan mengenai kondisi di luar dari yang telah disediakan oleh definisi masalah.


Uninformed Search terdiri dari beberapa algoritma, di antaranya adalah:


Breadth-First Search (BFS)

Uniform-Cost Search(UCS)

Depth-First Search

Depth-Limited Search

Iterative Deepening

Pada artikel ini, akan dibahas mengenai Uniform-Cost Search (UCS).


Jika seluruh edges pada graph pencarian tidak memiliki cost / biaya yang sama, maka BFS dapat digeneralisasikan menjadi uniform cost search


Bila pada BFS, pencarian dilakukan dengan melakukan ekspansi node berdasarkan urutan kedalaman dari root, maka pada uniform cost search, ekspansi dilakukan berdasarkan cost / biaya dari root.


Pada setiap langkah, ekspansi berikutnya ditentukan berdasarkan cost terendah atau disebut sebagai fungsi g(n) dimana g(n) merupakan jumlah biaya edge dari root menuju node n. Node-node tsb disimpan menggunakan priority queue.


Algoritma UCS dapat d hargailihat pada gambar berikut:




Perhatikan contoh pada gambar berikut ini. Nilai pada edge menandakan cost atau disebut juga g(n).




Penelusuran menggunakan UCS dari S ke G akan berjalan sebagai berikut.


Frontier bernilai S

Dari S, kita dapat menuju A, C, K dengan nilai 2,1,2. Untuk menyimpan pada frontier, perlu dilakukan sorting berdasarkan cost terendah. Sehingga dapat kita tuliskan f = C, A, K dengan cost 1,2,2

Selanjutnya kita ekspansi C (yang paling rendah). Dari C kita bisa menuju D. cost dari C ke D adalah 1. namun, merujuk pada algoritma UCS, g(n) merupakan jumlah cost dari root menuju node n, maka g(n) untuk D dari C adalah 1 + cost sebelumnya menuju C yaitu 1 sehingga g(n) untuk D dari C adalah 2. Urutkan lagi berdasarkan cost.



References


Stuart Russell, Peter Norvig,. 2010. Artificial Intelligence : a modern approach. PE. New Jersey. ISBN:9780132071482

KECERDASAN BUATAN

Dalam bahasan kecerdasan buatan sebuah software/ hardware disebut cerdas jika memiliki kemampuan untuk searching, reasoning, planning dan le...