Tugas IMK
Macam-Macam Metode Pengembangan Sistem
1. System Development Life Cycle (SDLC) Model
Metode ini merupakan pendekatan melalui beberapa tahap untuk menganalisis dan merancang sistem yang dimana sistem tersebut telah dikembangkan dengan sangat baik melalui penggunaan siklus kegiatan penganalisis dan pemakai secara spesifik.
Tahapan Utama Siklus Pengembangan Sistem
Adapun tahapan utama dalam siklus pengembangan sistem, yaitu :
1. Perencanaan Sistem ( Systems Planning)
2. Analisis Sistem (System Analysis)
3. Perancangan Sistem (Systems Design) Secara Umum
4. Seleksi Sistem (System Selection)
5. Perancangan Sistem (Systems Design) Secara Umum
6. Implementasi dan Pemeliharaan Sistem (System Implementation & Maintenance)
Penggambaran dari siklus hidup pengembangan sistem dapat dilihat pada gambar berikut:
2. Waterfall Model
Metode ini merupakan metode yang sering digunakan oleh penganalisa sistem pada umumnya. Inti dari metode waterfall adalah pengerjaan dari suatu sistem dilakukan secara berurutan atau secara linear. Jadi jika langkah satu belum dikerjakan maka tidak akan bisa melakukan pengerjaan langkah 2, 3 dan seterusnya. Secara otomatis tahapan ke-3 akan bisa dilakukan jika tahap ke-1 dan ke-2 sudah dilakukan.
Secara garis besar metode waterfall mempunyai langkah-langkah sebagai berikut : Analisa, Design, Code dan Testing, Penerapan dan Pemeliharaan.
1. 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 oleh user 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.
2. 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.
3. 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.
4. 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.
5. 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.
Incremental Model
Model incremental (Incremental waterfall model) merupakan perbaikan dari model waterfall dan sebagai standar pendekatan top-down. Ide dasar dari model ini adalah membangun software secara meningkat (increment) berdasarkan kemampuan fungsional. Model incremental ini diaplikasikan pada sistem pakar dengan penambahan rules yang mengakibatkan bertambahnya kemampuan fungsional sistem. Keuntungan dari model ini adalah bahwa penambahan kemampuan fungsional akan lebih mudah diuji, diverifikasi, dan divalidasi dan dapat menurunkan biaya yang dikeluarkan untuk memperbaiki sistem. Model incremental merupakan model continous rapid prototype dengan durasi yang diperpanjang hingga akhir proses pengembangan. Pada model prototipe biasa, prototipe hanya dibuat pada tahap awal untuk mendapatkan kebutuhan user.
Code-and-Fix Model
Model ini mengembangkan software dengan cara membuat program dan kemudian diperbaiki jika terdapat kesalahan. Model ini merupakan model awal yang digunakan untuk mengembangkan software. Namun sejak tahun 1970-an, model ini mulai ditinggalkan dan dikembangkan model waterfall yang memberikan metodologi lebih sistematik dan sangat membantu terutama pada proyek-proyek yang besar. Namun kesulitan pada model waterfall adalah perlu adanya informasi yang lengkap pada setiap tahapnya, dan bukan sesuatu hal yang mudah untuk mendapatkan informasi tersebut. Pada prakteknya, sering tidak mungkin untuk menulis dokumentasi kebutuhan yang lengkap sebelum dibangun prototipe. Sehingga yang terjadi adalah “kerja dua kali”, membuat prototipe, kemudian dari prototipe diperoleh informasi kebutuhan dan barulah dibangun sistem final.
3. Prototyping Model
Metode ini sering digunakan pada dunia riil. Karena metode ini secara keseluruhan akan mengacu kepada kepuasan user. Bisa dikatakan bahwa metode ini merupakan metode waterfall yang dilakukan secara berulang-ulang.
1. Tahapan metode prototyping :
1. Pemilihan Fungsi. Mengacu pada pemilahan fungsi yang harus ditampilkan oleh prototyping. Pemilahan harus selalu dilakukan berdasarkan pada tugas-tugas yang relevan yang sesuai dengan contoh kasus yang akan diperagakan.
2. Penyusunan Sistem Informasi. Bertujuan memenuhi permintaan kebutuhan akan tersedianya prototype.
3. Evaluasi.
4. Penggunaan selanjutnya.
2. Jenis Jenis Prototyping
1. Feasibility prototyping. Digunakan untuk menguji kelayakan dari teknologi yang akan digunakan untuk system informasi yang akan disusun.
2. Requirement prototyping. Digunakan untuk mengetahui kebutuhan aktivitas bisnis user. Misalnya dalam sebuah perusahaan terdapat user direktur, manajer, dan karyawan. Maka penggunaan sistem dapat dibedakan berdasarkan user tersebut sesuai dengan kebutuhannya.
3. Desain Prototyping. Digunakan untuk mendorong perancangan system informasi yang akan digunakan.
4. Implementation prototyping. Merupakan lanjutan dari rancangan protipe, prototype ini langsung disusun sebagai suatu system informasi yang akan digunakan.
Atau ada juga yang mengatakan
The Prototyping Model is a systems development method (SDM) in which a prototype (an early approximation of a final system or product) is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed. This model works best in scenarios where not all of the project requirements are known in detail ahead of time. It is an iterative, trial-and-error process that takes place between the developers and the users.
There are several steps in the Prototyping Model:
The new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the departments or aspects of the existing system.
A preliminary design is created for the new system.
A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product.
The users thoroughly evaluate the first prototype, noting its strengths and weaknesses, what needs to be added, and what should to be removed. The developer collects and analyzes the remarks from the users.
The first prototype is modified, based on the comments supplied by the users, and a second prototype of the new system is constructed.
The second prototype is evaluated in the same manner as was the first prototype.
The preceding steps are iterated as many times as necessary, until the users are satisfied that the prototype represents the final product desired.
The final system is constructed, based on the final prototype.
The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a continuing basis to prevent large-scale failures and to minimize downtime.
4. Agile Model
(Widodo Journal : 2006:1) Pada dekade 90-an diperkenalkan metodologi baru yang dikenal dengan nama agile methods. Metodologi ini sangat revolusioner perubahannya jika dibandingkan dengan metode sebelumnya. Agile Methods dikembangkan karena pada metodologi tradisional terdapat banyak hal yang membuat proses pengembangan tidak dapat berhasil dengan baik sesuai tuntutan user. Saat ini metodologi ini sudah cukup banyak berkembang, diantaranya adalah:
1) eXtreme Programming (XP)
2) Scrum Methodology
3) Crystal Family
4) Dynamic Systems Development Method (DSDM)
5) Adaptive Software Development (ASD)
6) Feature Driven Development (FDD)
Jika kita lihat, agile bisa berarti tangkas, cepat, atau ringan. Agility merupakan metode yang ringan dan cepat dalam pengembangan perangkat lunak. Agile Alliance mendefinisikan 12 prinsip untuk mencapai proses yang termasuk dalam agility:
1. Prioritas tertinggi adalah memuaskan pelanggan melalui penyerahan awal dan perangat lunak yang bernilai.
2. Menerima perubahan requirements meskipun perubahan tersebut diminta pada akhir pengembangan.
3. Memberikan perankat lunak yang sedangdikerjakan dengan sering,beberapa min ggu atau bulan, dengan pilihan waktu yang paling singkat.
4. Pihak bisnis dan penggembangan harus berkerja sama setiap hari selam penggembangan berjalan.
5. Bangun proyek dengan individu-individu yang bermotivasi tinggi dengan memberikan lingkungan dan dukungan yang diperlukan, dan mempercyai mereka sepenuhnya untuk menyelesaikan pekerjaannya.
6. Metode yang paling efektif dan efisien dala m menyampaikan informasi kepada tim pengembangan adalah dengan komunikasi langsung face to face.
7. Perangkat lunak yang dikerjakan merupakan pengukur utama kemajuan.
8. Proses agile memberikan proses pengembangan yang bias ditopang.Sponsor,pengembangan, dan user garus bias menjaga ke-konstanan langkah yang tidak pasti.
9. Perhatian yang harus terus mennerus terhadap rangcangan dan teknik yang baik meningkatkan agility.
10. Keserdahanaan seni untuk meminimalkan jumlah pekerjaan adalah penting.
11. Arsitektur,requirements, dan rancangan terbaik muncul dari tim yang mengatur sendiri.
12. Pada interval reguler tertentu,tim merefleksikan bagaimana menjadi lebih efektif,kemudian menyesuaikannya.
Kelebihan Metode Agile
1. Meningakatkan rasio kepuasan pelanggan.
2. Bisa melakukan reviw pelanggan mengenai software yang dibuat lebih awal.
3. Mengurangi resiko kegagalan implementasi software dari non-teknis.
4. Besar kerugian baik secara material atau imaterial tidak terlalu besar jiak terjadi kegagalan.
SUMBER : (http://the-well-informations.blogspot.com/2014/01/macam-macam-metode-pengembangan-sistem_31.html)
V-Model
Model kedua adalah model V. Bisa dikatakan model ini merupakan perluasan dari model waterfall, karena 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.
Kelebihan & Kekurangan V-Model
Kelebihan
- V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan method dan tool secara dinamik. Akibatnya sangat mudah untuk melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan sangat mudah untuk menambahkan method dan tool baru atau menghilangkan method dan tool yang dianggap sudah obsolete.
- V Model dikembangkan dan di-maintain oleh publik. User dari V Model berpartisipasi dalam change control board yang memproses semua change request terhadap V Model.
Kekurangan
- V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
- 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.
Simple interaction design model
Simple Interaction Design Model sebagai suatu proses untuk mencapai suatu tujuan dengan pencarian berbagai solusi melalui ruang lingkup sistem, materi, biaya dan kemungkinan penyelesaiannya (feasibilitas), sebagai wujud kreativitas dan pengambilan keputusan untuk menyeimbangkan trade-off. Dan Sebagai representasi suatu perencanaan pengembangan yang berisikan sekumpulan elaborasi alternatif dan suksesif.
Dalam desain interaksi terdapat empat kegiatan utama, yaitu :
– Identifikasi kebutuhan dan persyaratan sistem
– Pengembangan desain alternatif (desain konseptual dan fisikal)
– Membuat versi interaktif dari desain yang dihasilkan
– Mengevaluasi desain (usabilitas dan user experience)