{^_^}...WELCOME...{^_^}

Jumat, 31 Januari 2014

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:
  1. 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.
  2. A preliminary design is created for the new system.
  3. 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.
  4. 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.
  5. The first prototype is modified, based on the comments supplied by the users, and a second prototype of the new system is constructed.
  6. The second prototype is evaluated in the same manner as was the first prototype.
  7. The preceding steps are iterated as many times as necessary, until the users are satisfied that the prototype represents the final product desired.
  8. The final system is constructed, based on the final prototype.
  9. 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.

semoga bermanfaat...

17 komentar:

  1. sangat bermanfaat buat tugas saya hahaha. thanks btw

    BalasHapus
  2. Referensinya dari mana gan?

    tolong emailkan yaa .. irfan.mustofa77@gmail.com

    BalasHapus
  3. Sangat membantu, terlebih lagi saat ini saya sedang menghadapi skripsi.
    terima kasih Gan :D

    BalasHapus
  4. punya referensi untuk metode pengembangan game ndak gan???

    BalasHapus
  5. terima kasih atas postingannya ini sangat membantu saya dalam mengerjakan tugas saya
    jangan lupa kunjungi juga blog saya My blog

    BalasHapus
  6. Makasih banyak ya gan.. Smoga sehat slalu.. Btw sumber dri materi ini ada gak gan?

    BalasHapus
  7. Terima kasih untuk artikelnya, perkenalkan saya Melinda ( 1922500187) Dari Atma Luhur. Kunjungi website kampus saya di https://www.atmaluhur.ac.id

    BalasHapus