Minggu, 13 Oktober 2019

Model Model Perangkat Lunak

  1. Model Waterfall :
  • Pengertian Model Waterfall 
Metode air terjun atau yang sering disebut metode waterfall sering dinamakan siklus hidup klasik (classic life cycle), dimana hal ini menggambarkan pendekatan yang sistematis dan juga berurutan pada pengembangan perangkat lunak, dimulai dengan spesifikasi kebutuhan pengguna lalu berlanjut melalui tahapan-tahapan perencanaan (planning), permodelan (modeling), konstruksi (construction), serta penyerahan sistem ke para pelanggan/pengguna (deployment), yang diakhiri dengan dukungan pada perangkat lunak lengkap yang dihasilkan.
  • Tahapan Model Waterfall
Dalam pengembangannya metode waterfall memiliki beberapa tahapan yang berurut yaitu : 
waterfall.jpg
  • Requirement Analisis
Tahap ini pengembang sistem diperlukan komunikasi yang bertujuan untuk memahami perangkat lunak yang diharapkan oleh pengguna dan batasan perangkat lunak tersebut. Informasi ini biasanya dapat diperoleh melalui wawancara, diskusi atau survei langsung. Informasi dianalisis untuk mendapatkan data yang dibutuhkan oleh pengguna.
  • System Design
Spesifikasi kebutuhan dari tahap sebelumnya akan dipelajari dalam fase ini dan desain sistem disiapkan. Desain Sistem membantu dalam menentukan perangkat keras(hardware) dan sistem persyaratan dan juga membantu dalam mendefinisikan arsitektur sistem secara keseluruhan.
  • Implementation
Pada tahap ini, sistem pertama kali dikembangkan di program kecil yang disebut unit, yang terintegrasi dalam tahap selanjutnya. Setiap unitdikembangkan dan diuji untuk fungsionalitas yang disebut sebagai unit testing.
  • Integration & Testing
Seluruh unit  yang dikembangkan dalam tahap implementasi diintegrasikan ke dalam sistem setelah pengujian yang dilakukan masing-masing unit. Setelah integrasi seluruh sistem diuji untuk mengecek  setiap kegagalan maupun kesalahan.
  • Operation & Maintenance
Tahap akhir dalam model waterfall. Perangkat lunak yang  sudah  jadi,  dijalankan  serta dilakukan  pemeliharaan. Pemeliharaan termasuk dalam memperbaiki  kesalahan yang tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru.
  • Kelebihan Metode Waterfall
Kelebihan menggunakan metode air terjun (waterfall) adalah metode ini memungkinkan untuk departementalisasi dan kontrol. proses pengembangan model fase one by one, sehingga meminimalis kesalahan yang mungkin akan terjadi. Pengembangan bergerak dari konsep, yaitu melalui desain, implementasi, pengujian, instalasi, penyelesaian masalah, dan berakhir di operasi dan pemeliharaan.
  • Kekurangan Metode Waterfall
Kekurangan menggunakan metode waterfall adalah metode ini tidak memungkinkan untuk banyak revisi jika terjadi kesalahan dalam prosesnya. Karena setelah aplikasi ini dalam tahap pengujian, sulit untuk kembali lagi dan mengubah sesuatu yang tidak terdokumentasi dengan baik dalam tahap konsep sebelumnya.
  1. Model Prototype

  • Pengertian Model Prototype 
Prototype adalah salat satu metode pengembangan perangkat lunak yang banyak digunakan . Dengan menggunakan Metode prototyping ini , pengembangan dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem . Sering terjadi seorang pelanggan hanya mendefinisikan secara umum apa yang dibutuhkan , pemrosesan dan data-data apa saja yang dibutuhkan . Sebaliknya , disisi pengembang kurang memperhatikan efisiensi Algoritma . Kemampuan sistem operasi dan interface yang menghubungkan manusia dengan komputer.

Pada prototyping model kadang- kadang klien hanya memberikan beberapa kebutuhan umum software tanpa detail input , proses atau detail output dilain waktu mungkin tim pembangun (developer) tidak yakin terhadap efisiensi dari algoritma yang digunakan , tingkat adaptasi terhadap sistem operasi atau rancangan form user interface . 

  • Tahapan Prototype

Tahap - tahap pengembangan model prototype menurut bapak Roger S . Pressman adalah :
model prototyping.PNG
  • Mendengarkan Pelanggan 

Pada tahap ini dilakukan pengumpulan kebutuhan dari sistem dengan cara mendengar keluhan dari pelanggan . Untuk membuat suatu sistem yang sesuai kebutuhan , maka harus diketahui terlebih dahulu bagaimana sistem yang sedang berjalan untuk kemudian mengetahui masalah yang terjadi .
  • Merancang dan Membuat Prototype

Pada tahapan ini , dilakukan perancangan dan pembuatan prototype system . Prototype yang dibuat disesuaikan dengan kebutuhan sistem yang telah didefinisikan sebelumnya dari keluhan pelanggan atau pengguna.
  • Uji Coba

Pada tahap ini , Prototype dari sistem di uji coba oleh pelanggan atau pengguna . Lalu dilakukan evaluasi kekurangan - kekurangan dari kebutuhan pelanggan . Pengembangan kemudian kembali mendengarkan keluhan dari pelanggan untuk memperbaiki Prototype yang ada.
  • Kelebihan Metode Prototype

Kelebihan dari metode prototyping ini adalah 
1. Adanya komunikasi antara pengembang dan pelanggan
2. Pengambang dapat berkerja baik dalam menentukan kebutuhan pelanggan
3. Lebih menghemat waktu dalam pengembangan sistem
4. Penerapan lebih mudah karena pemakai mengetahui apa yang diharapkannya
  • Kekurangan Metode Prototype

Sedangkan kekurangan dari metode prototyping ini adalah :
1. Resiko tinggi yaitu untuk masalah masalah yang tidak terstuktur dengan baik, ada perubahan besar dari waktu kewaktu dan adanya persyaratan data yang tidak menentu
2. Interaksi pemakai penting. Sistem harus menyediakan dialog Online antara pelanggan dan computer
3. Hubungan pelanggan dengan computer yang disediakan  mungkin tidak mencerminkan teknik perancangan yang baik

  1. Model V-Model
  • Pengertian Model V Model
The V-Model adalah model SDLC dimana pelaksanaan proses yang terjadi secara berurutan dalam bentuk-V. Dikenal juga sebagai model Verifikasi dan Validasi.
The V-Model merupakan perluasan dari waterfall model  dan didasarkan pada asosiasi dari fase pengujian untuk setiap tahap pengembangan yang sesuai. Ini berarti bahwa untuk setiap fase tunggal dalam siklus pengembangan, ada tahap pengujian terkait langsung. Ini adalah model yang sangat disiplin dan tahap berikutnya dimulai setelah selesainya tahap sebelumnya.
  •  Tahapan Model V Model
Ilustrasi berikut menggambarkan berbagai tahap dalam V-Model SDLC.
pengertian-v-model-sdlc.png
Ada beberapa tahapan verifikasi di V-Model, masing-masing dijelaskan secara rinci di bawah:
  • Business Requirement Analysis
Ini adalah tahap pertama dalam siklus pengembangan di mana persyaratan produk dipahami dari perspektif pelanggan. Fase ini melibatkan komunikasi rinci dengan pelanggan untuk memahami harapan dan kebutuhan yang tepat. Ini merupakan kegiatan yang sangat penting dan perlu dikelola dengan baik, karena sebagian besar pelanggan tidak yakin tentang apa yang sebenarnya mereka butuhkan Acceptance test desain dilakukan pada tahap ini sebagai kebutuhan bisnis dapat digunakan sebagai masukan untuk pengujian penerimaan.

  • System Design
Setelah Anda memiliki persyaratan produk yang jelas dan rinci, sekarang saatnya untuk merancang sistem yang lengkap. Desain sistem akan memiliki pemahaman dan merinci hardware lengkap dan setup komunikasi untuk produk dalam pengembangan. Rencana pengujian sistem dikembangkan berdasarkan desain sistem. Melakukan hal ini pada tahap awal membuat lebih banyak waktu untuk pelaksanaan tes yang sebenarnya nanti
  • Architectural Design
Spesifikasi arsitektur dipahami dan dirancang dalam fase ini. Biasanya lebih dari satu pendekatan teknis diusulkan dan berdasarkan kelayakan teknis dan finansial keputusan akhir diambil. Desain sistem dipecah lebih jauh ke dalam modul mengambil fungsi yang berbeda. Hal ini juga disebut sebagai "Desain Tingkat Tinggi" 
  • Module Design
Pada fase ini, desain internal rinci untuk semua modul sistem yang ditentukan, disebut "Desain Tingkat Rendah". Penting  bahwa desain tersebut kompatibel dengan modul lain dalam arsitektur sistem dan sistem eksternal lainnya.
  • Coding Phase
Bahasa pemrograman yang paling cocok ditentukan berdasarkan sistem dan persyaratan arsitektur. pengkodean dilakukan berdasarkan pedoman coding dan standar. Kode berjalan melalui berbagai ulasan kode dan dioptimalkan untuk kinerja terbaik sebelum final membangun diperiksa ke dalam repositori
Fase Validasi berbeda dalam V-Model dijelaskan secara rinci di bawah ini:
  • Unit Testing
unit testing adalah pengujian pada tingkat kode dan membantu menghilangkan bug pada tahap awal, meskipun semua cacat tidak dapat ditemukan oleh unit testing.
  • Integration Testing
Integration testing dikaitkan dengan fase desain arsitektur. tes integrasi dilakukan untuk menguji koeksistensi dan komunikasi dari modul internal dalam sistem.
  • System Testing
System testing secara langsung berhubungan dengan tahap desain sistem. System testing memeriksa seluruh fungsi sistem dan komunikasi sistem dalam pengembangan dengan sistem eksternal. Sebagian besar perangkat lunak dan perangkat keras masalah kompatibilitas dapat ditemukan selama pelaksanaan test ini
  • Acceptance Testing
Acceptance testing dikaitkan dengan tahap analisis kebutuhan bisnis dan melibatkan pengujian produk di lingkungan pengguna.  Acceptance testing mengungkap masalah kompatibilitas dengan sistem lain yang tersedia di lingkungan pengguna. Juga menemukan masalah non-fungsional seperti beban dan kinerja cacat pada aktual lingkungan pengguna.
  • Kelebihan dari V-Model SDLC
  • Ini adalah model yang sangat-disiplin dan Tahapan selesai satu per satu.
  • Bekerja dengan baik untuk proyek-proyek yang lebih kecil dimana persyaratan dipahami dengan baik.
  • Sederhana dan mudah dimengerti dan digunakan.
  • Mudah dikelola karena setiap fase memiliki spesifik kiriman dan proses review.
  • Kekurangan dari V-Model SDLC

  • Berisiko tinggi dan ketidakpastian.
  • Tidak cocok untuk proyek-proyek yang kompleks dan berorientasi objek.
  • Tidak cocok untuk proyek-proyek dimana persyaratan beresiko tinggi
  • Tidak cocok untuk proyek-proyek yang lama dan berkelanjutan.
  • Setelah aplikasi dalam tahap pengujian, sulit untuk kembali dan mengubah fungsionalitas.

  1. Medel Fountain

 

  • Pengertian Metode Fountain

Model Fontain merupakan perbaikan logis dari model waterfall, langkah langkah dan urutan prosedurnya pun masih sama. Namun pada model Fountain ini kita dapat mendahulukan sebuah step ataupun melewati step tersebut, akan tetapi ada yang tidak bisa anda lewati stepnya seperti kita memerlukan design sebelum melakukan coding jika itu di lewati maka akan ada 

tumpang tindih dalam siklus SDLC.

  • Langkah – Langkah dalam Model Fountain:

User requirements analysis ( Analisis Kebutuhan Pengguna), disini kita sebagai programmer dalam mengembangkan sistem harus menganalisa kebutuhan terhadap pengguna baik itu dalam cara penggunaan yang mudah maupun efisiensi terhadap sistem yang pengguna butuhkan.
User requirements specifications (Spesifikasi kebutuhan pengguna), dalam tahap ini kita harus tahu apa saja yang dibutuhkan pengguna dalam sistem yang sedang kita kembangkan.
Software requirements specifications (Spesifikasi persyaratan perangkat lunak), dalam tahap ini kita harus menyesuaikan software yang kita buat jika di lihat dari sisi pengguna. Jika pengguna awam tentunya kita harus menciptakan Software yang mudah digunakan.
Systems/broad design (logical design), sebelum pengimplementasi dalam coding kita harus mendesain sistem yang akan kita buat / kembangkan.
Program/detailed design (physical design), dalam tahap ini kita membuat desain yang mendekati fisik atau secara deail.
Implementation/coding, setelah tahap desain barulah kita mengimplementasikan dalam coding 

Program testing: units, dalam tahap ini kita testing / cek kembali unit nit yang dibutuhkan dalam sistem yang sedang kita kembangkan .
Program testing: system, dalam tahap ini kita test kembali sistem yang telah kita buat. • Program use, dalam tahap ini kita ajarkan ke pengguna program yang telah kita buat.
Software maintenance, setelah sistem di pasang maka tentunya kita harus rutin mengupdate software / sistem yang telah kita buat agar terhindar dari kesalaha / bugs.

 

  1. Model Spiral
  • Pengertian Model Spiral
Adalah salah satu bentuk dari Metode Pengembangan Perangkat Lunak atau yang disebut SDLC (Software Development Life Cycle), yang sangat populer digunakan dalam bidang teknologi informasi. Model Spiral adalah gabungan dari Model Prototyping dan Model Waterfall dengan penekanan yang tinggi pada analisis risiko tiap tahapannya. Bentuk ini bersifat iteratif atau berulang dengan mengontrol aspek yang teratur dari sekuensial linier. Fungsi Model Spiral ini adalah untuk melakukan perubahan, penambahan dan pengembangan suatu software dengan deretan pertambahan menjadi lebih baik secara cepat dan tepat berdasarkan keinginan dan kebutuhan penggunanya.

  • Tahap-tahap Model Spiral

Dalam Model Spiral terdapat lima tahap untuk merealisasikan penggunaannya sebagai berikut :
  • Tahap Liason
Tahap ini berhubungan dengan komunikasi antara orang yang akan mengembangkan software (system analyst) dengan pelanggan. Tujuannya adalah agar dapat memuaskan pelanggan dengan memperbaiki dan mengembangkan software sesuai dengan kebutuhan, kepentingan dan keinginannya.

  • Tahap Planning
Tahap perencanaan meliputi estimasi biaya yang digunakan, batas waktu, pengaturan jadwal, identifikasi lingkungan kerja, sumber-sumber infomasi untuk melakukan iterasi. Hasilnya adalah dokumen spesifikasi kebutuhan sistem dan bisnis.
  • Tahap Analisis Risiko
Tahap ini berfungsi untuk mengidentifikasi risiko yang berpotensial untuk terjadi dan menghasilkan suatu solusi alternatif secara teknis dan manajemen saat strategi mitigasi risiko direncanakan dan diselesaikan.
  • Tahap Rekayasa (engineering)
Pada tahap ini, yang dilakukan adalah sebagai berikut :
·         Menguji, coding dan mengembangkan software
·         Menginstal software
·         Membuat prototipe
·         Mendesain dokumen
·         Meringkas suatu pengujian software
·               Membuat laporan atas kekurangan dari software agar segera diperbaiki
  • Tahap Evaluasi
              Peran pelanggan sangat diperlukan pada tahap ini. Mereka dapat memberikan masukan dan tanggapan, mengevaluasi produk kerja dan memastikan bahwa produk yang dibutuhkan sesuai dengan semua ketentuan. Jika terdapat perubahan, semua tahapan akan diperbaiki sesuai dengan kepuasan pelanggan. Namun, mengidentifkasi dan memantau risiko yang terjadi juga diperlukan, seperti cost overrun. 

  • Penggunaan Spiral Model

Model Spiral tepat digunakan dalam hal sebagai berikut :
·         Ketika memiliki sebuah proyek dengan risiko sedang hingga tinggi
·         Komitmen proyek jangka panjang karena potensi perubahan pada prioritas ekonomi dalam perubahan waktu
·         Lini produk baru yang harus dirilis secara bertahap untuk mendapatkan feedback pelanggan dengan cukup
·     Ketika penciptaan prototipe berlaku
·         Perubahan signifikan yang diharapkan dalam produk selama siklus pengembangan
·         Persyaratan yang kompleks dan memerlukan suatu evaluasi



 

  1. Extreme Programming (berikutnya akan disingkat sebagai XP)

  • Pengertian Extreme Programming

    Adalah sebuah pendekatan atau model pengembangan perangkat lunak yang mencoba menyederhanakan berbagai tahapan dalam proses pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel. XP bukan hanya berfokus pada coding tetapi meliputi seluruh area pengembangan perangkat lunak. XP mengambil pendekatan ‘ekstrim’ dalam iterative development. XP Pertama kali diusulkan oleh Kent Beck dan Ward Cunningham pada bulan Maret 1996, asal mula XP digunakan karena pada saat itu permintaan dari customer yang sering berubah dengan cepat sehingga mengakibatkan putaran kehidupan metode pengembangan perangkat lunak tradisional menjadi lebih pendek dan tidak selaras dengan metode tradisional karena pada umumnya memerlukan desain yang luas dan itu mengakibatkan perubahan desain yang terjadi dan tentu saja memerlukan biaya yang lebih tinggi. Tujuan XP adalah meminimalisir biaya yang diperlukan jika ada perubahan dalam pengembangan perangkat lunak.

  1. Agile Modeling 
  • Pengertian Model Ageline Modeling

  Agile modellingadalah suatu proses yang berdasarkan praktek untuk memodelkan dan mendokumentasikan suatu sistem secara efektif. Agile Modeling juga dikatakan sebagai suatu kumpulan dari kebiasaan-kebiasaan berdasarkan beberapa nilai dan prinsip-prinsip teknik rekayasa perangkat lunak yang terpercaya.

  • Prinsip dalam Agile Modeling antara lain :
·         Membuat model dengan tujuan: tentukan tujuan sebelum membuat model
·         Mengunakan multiple models: tiap model mewakili aspek yang berbeda dari model lain.
·         Travel light: simpan model-model yang bersifat jangka panjang saja
·         Isi lebih penting dari pada penampilan: modeling menyajikan informasi kepada audiens
yang tepat.
·         Memahami model dan alat yang yang digunakan untuk membuat software
·         Adaptasi secara lokal
·         Dengan menggunakan Agile Modeling, diharapkan tim pengembang (developer) dapat fokus pada prinsip dan praktek pemodelan yang efektif.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOjPM5BcBewLMdb9P_ttguJkCsYvqx3RmwG-OFuX5ZahhnOCSybchyphenhyphenHuxyMotPqkdF1gQIZGD5CBaO5wPlLi0wW7irP3P8CGl_Kpp-agts0RBWWMPCqp_qThfpROkH7odJNHO0gyoSYKQn/s320/b856286d48d27a5b565f88573c1c443ebf92b81f+%25281%2529.jpg
·         Dari sudut pandang agile modeling, dokumen adalah segala sesuatu yang bersifat eksternal dari source code yang tujuannya adalah untuk menyampaikan informasi secara persisten. Ini berbeda dari konsep model, yang merupakan abstraksi yang menggambarkan satu atau lebih aspek dari masalah atau solusi potensial dalam mengatasi masalah.


“Daftar Pustaka”